This worked until 6.4.1.
Now after upgrading to 6.5 the ticket with id 1 is missing from the result.
It seems that a comma in the value of the field breaks a query using a wildcard. I think also a semicolon breaks the query.
The field is a string type field for up to 500 characters.
Infos:
Used Zammad version: 6.5
Used Zammad installation type: package
Operating system: debian
Browser + version: Brave 1.78
Expected behavior:
Retrieving results when querying a custom field of type string using wildcard selector (*) even if the field contains a comma or semicolon
Actual behavior:
As soon as the custom field contains a comma or semicolon the wildcard selector in the search query is ignored
Steps to reproduce the behavior:
Create a custom field for tickets of type string (simple textfield). Create or edit a ticket and insert comma separated text into this field. E.g. “123,456,789”.
Then try to query this using a query like this:
I have read the release notes and have fixed stuff like “users/me/?full=true” not returning the same object as before, but i have no clue what in the release notes could affect this type of search issue.
Could you give me a hint where i can look up things to solve this?
Or is this a permanent change and this type of query is not possible anymore?
Is there a chance that the way you’re making the request looses the trailing wildcard? I can’t reproduce the issue you got this exact URL. But if I remove trailing wildcard it works like you described - item without commas is found, but comma-separated one is missing…
No i don’t think that the trailing wildcard is lost when the request has been send.
I am using postman for this and also tested it against the search of the zammad website.
From the devtools i can see that the zammad website is generating a very similar request:
In the results the element with id 1 is missing, but should be returned, as it matches the pattern.
This worked fine with 6.4.1.
It broke after the update.
The search index has been rebuild 3 times after the update.
First after updating, a second one after i was blamed not having done this and a third time to be able to copy the output of the rebuild process.
I saw that querying with a post request is also possible. But i haven’t found a way how i can nest the conditions with logical operators (and/or).
Is there a documentation for that or could you give me an example how this would look like?
Could this be true? And if so, is there a minor update planed in the next weeks that could contain this fix?
Atm i am trying to replace all values that contains comma separated values with spaces in the database and then rebuild the index to have a workaround for this.
It is already available in stable. So a normal update would bring you the latest available 6.5 version.
Hard to tell on what version you are, the thread template usually asks for this, but we don’t have much control over what users insert there (if anything). You can double check within version, there’s a commit ID which you can use to look up the commit history of Zammads stable branch to see if it’s older than the 16th April or not.