Closed lukaslabryszewski closed 2 years ago
Thanks!
So, the issue is a bit tricky to solve.
Shlink has always taken into consideration tag names for the filtering when providing a search term (it basically tries to match in the long URL, short code, title, domain and tags fields, including the result if any of them matches).
However, in order to allow searching by a full list of tags, I had to change how the tags and short URLs tables are joined, by making short URLs table join with the tags table for every provided tag, and match every join by tag name.
This basically makes it impossible to search by tag name on the search term, when you are also filtering by "ALL" tags, unless the search term is also one of those tags, which is useless.
Because of that, I'm going to exlcude the tag name from the search term filtering when the tags mode is ALL, as it adds very little value and it seems to not be possible to achive anyway.
When the tags mode is ANY or no tags are provided, the search term will continue applying to the tags name.
I have just published v3.1.2, which includes a fix for this.
The docker image will be available once this build finishes https://github.com/shlinkio/shlink/runs/6737418378?check_suite_focus=true (around 1.5h)
Thank you very much @acelaya . Much appreciated.
We will update and test it out.
And thank you for explaining. I wasn't aware that searchTerm
also searches tags. Is this for backwards compatibility?
How Shlink is set-up
Summary
A 500 Internal Server Error occurs while filtering by
tags
withtagsMode=all
andsearchTerm
at the same time.Current behavior
It's throwing the following Doctrine ORM
QueryException
in logs:Full Stack Trace: shlink-tags-error-053122.txt
Expected behavior
It should return properly filtered results.
How to reproduce
Example Request:
Response: