(fix) Search: add proper DateAddedFilter#15572
Conversation
6208a37 to
4d4e38d
Compare
This one is a bit tricky, like it's possible but cumbersome to parse the current |
|
So let me try to summarize what I think would be a good first set of fixes:
I think that would make it predictable.
Why do you think that would be helpful? It's inconsistent with the display. |
That would also allow to fix #15586 |
4d4e38d to
814259f
Compare
814259f to
72748e4
Compare
I mean for all occurrences. It is helpful for users in who likes to use the en-US (untranslated) version, but can't read 22/23/25 as I do. Currently we use the ISO format for History. |
|
Some issues The search does not follow the library language settings. It is always using the system date and time setting. |
daschuer
left a comment
There was a problem hiding this comment.
Thank you. Not implementing a range, with "-", looks good.
|
I'm still unsure what you mean. mixxx/src/library/basetracktablemodel.cpp Lines 623 to 669 in 9d19b24 What is your LC_TIME locale and what format do you see in the library? ButI missed that we indeed set the locale for the app (not just the translations) when one is set in the preferences. Btw we're using the ISO format yyyy-mm-ddTHH:mm:ss.zzz only in the db. |
72748e4 to
a9d5568
Compare
|
All roger and ready to roll now IMO, please test |
This is mine as well. As soon I change the language settings in Mixxx to en_US, the date and all so time format changes also to the (hard to read for me) en_US The "issue" (no bug IMHO). because I actually like the DIN recommendation to use the ISO format everywhere, is that the history playlist names are using the iso format. |
I see. And Iso makes sense for those (it's just the initial name btw) because that's they're sorted by |
To clarify, this are my relevant locale settings: So with "system" in Mixxx it detects "C" and I get So, I don't understand why the search would expect de_DE in your case. |
I'd say this is indeed a personal preference. IMO it makes sense to show dates in local format. For example if you sort tracks by date_added or last_played, users know intuitively at which part of the aa/bb/cc date they need to look to spot a certain range. Like with de_DE I can shrink the date_added column so I see dd.mm... and it's easy to spot tracks from October for example. If you think a global date format switch makes sense, that's a feature and would go to 2.6 or main anyway. |
|
I confirm this is fixed now:
I have which is of my knowledge still on default for Ubuntu Jammy. System added:>=26.10.25 works.
Yes of cause. Can you confirm that there is a use case for "international" with en_US translation ans ISO date and time format? Issue: added:<26/10/2025 (en_UK) reveals also 26/10/2025 tracks added:>=26/10/2025 does nor reveal 26/10/2025 |
I improved the debug output, please post what's logged for that query. edit can ot confirm, works fine here, no matter which locale |
a9d5568 to
2d7efdf
Compare
|
It works here. I have probably whatched the wrong column, sorry. |
2d7efdf to
1b35136
Compare
|
Alright, thanks for verifying. I'll open a manual PR soonish. |
|
There is still an issue with And added:>=02.10.25 AND added:<03.10.25 Why 22:00:00? |
Because timestamps are in UTC and you're currently in CET (Berlin, UTC+1) + 1h daylight saving time. Will look into the other issue (sadly I already removed the trace commit..) |
1b35136 to
8e7a431
Compare
|
Got it! |
daschuer
left a comment
There was a problem hiding this comment.
I think (not tested) one ms slips trough. See suggestions.
|
Thanks! |
8e7a431 to
9a4fb8c
Compare
|
@daschuer this is ready. |
9a4fb8c to
1c2cf3a
Compare
|
Cool, thanks for testing!
Done. |


This is currently just a text filter, so basically unusable IMO because
a) expcets
-delimiter and ISO 8601 (fragments)b) only search for explicit days/months/years, for example
added:2025-09-22-> dayadded:25-09-> monthadded:12-12-> 2012-12 or [any year]-12-12I sometimes want so find tracks before/after a certain date, so here we go..
DateAddedFilterNodeNew version expects date strings like shown in the library, eg. 25.10.25
(2-digits years are made 2000-based)
It supports single operator queries with =, <, >, <=, >=
added:<03.12.24= before december 3rd 2024TODO
Date addedcolumn uses the system locale, nothing to dodePostponed
OrNodefor extraFilter inSearchQueryParser::parseQuery()to fix Ocassionally old tracks show up in Analyze view #14873 and make (fix) BaseTrackCache: fix filterAndSort() to avoid unwanted extra tracks with extraFilter #15571 obsolete-> addressed in (fix) BaseTrackCache: fix filterAndSort() to avoid unwanted extra tracks with extraFilter #15597
added:12.24intoadded:01.12.24-31.12.24Not sure how this works / is expected to work with short formats like
mm-dd-yy. Requires parsing the format strig to find the month positionadded:01.01.22-23.04.24Probably not feasible as the localized short format may be
mm-dd-yy.We may use
--as delimiter, but that wouldn't be consistent with other range queries (BPM, rating)