Bug Description
In Analyze and #14508 so-called 'extra filters' are used filter the tracks, in Analyze it's date_added > datetim('now' - '7days').
So one symptom of this bug is #14873
c/p from #15571:
So called "extra filters" are sent to SearchQueryParser::parseQuery(query, extraFilter) where extraFilter is wrapped as SqlNode.
In BaseTrackCache we add dirty tracks to the current view if they are missing but match the query -- however the extraFilter SqlNode::match(pTrack) always returns true, making the check pointless because it adds dirty tracks even if they don't belong into the view.
A workaround is to ignore the extrafilter, see #15571
Another idea is to use search queries (like typing in searchbar) for extra filters, not SQL strings.
Then query->match(pTrack) would work as expected.
I have a solution for Analyze, based on #15572.
Version
No response
OS
No response