summaryrefslogtreecommitdiff
path: root/lib/mu-query-threads.cc
AgeCommit message (Collapse)Author
2023-09-11lib: hide some code from coverage checkingDirk-Jan C. Binnema
Parts that are not easy / useful to unit-test
2023-07-20migrate some more code to mu_format / join_pathsDirk-Jan C. Binnema
Let's modernize a bit.
2023-07-08migrate to fmt-based logging in some more placesDirk-Jan C. Binnema
and improve logging.
2022-12-08query-threads: add multi-dup unit testDirk-Jan C. Binnema
2022-06-09query-threads/results: cosmeticsDirk-Jan C. Binnema
2022-03-26many: update for lib/message updatesDirk-Jan C. Binnema
Adapt to the new names / directory. Big commit, but mostly just very boring renaming.
2022-03-04lib/query,parser: update to use mu-message-fieldsDirk-Jan C. Binnema
2021-10-20clang-format: update c/cc coding styleDirk-Jan C. Binnema
Update all cc code using .clang-format; please do so as well for future PRs etc.; emacs has a handy 'clang-format' mode to make this automatic. For comparing old changes with git blame, we can disregard this one using --ignore-rev (see https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame )
2021-08-11thread-subject: make even laxer:Dirk-Jan C. Binnema
compare subject from the *last* plus any spaces.
2021-08-11thread-subject: ignore '<prefix>:' when comparingDirk-Jan C. Binnema
Should catch most cases. Fixes: #2083.
2021-08-10threads: recurse thread-subject checkDirk-Jan C. Binnema
Not only check for duplicate subjects in *siblings*, also recurse into the children. This remove some clutter from deeply nested threads. Fixes: #2078.
2021-05-04mu: calculate thread subjectsDirk-Jan C. Binnema
Calculate the thread subject, that is, the subject of the (sub)thread _or_ empty if it's the same as the previous subject. This is for the UI feature of _not_ showing the subject when it's just repeating from the previous.
2021-05-02query: improve thread-date handlingDirk-Jan C. Binnema
And make it available in query_match, so we can expose it to elisp.
2021-05-02threads: fix flag handling of orphan childrenNicolas Avrutin
Even if a container has no query_match, it may still have children that need to have flags applied. This was broken by 6ff9829ce1e57e9f7fb4933d1389f4fd81dbd5dc. Fixes: #1995
2021-02-15query: filter out docs without query-matchesDirk-Jan C. Binnema
This avoid including unwanted messages in threaded results. Also some cleanups.
2021-02-10lib: improve threaded sortingDirk-Jan C. Binnema
Improve threaded sorting: - rework the recursive algo (which should a crash noted earlier) - sort by thread key (as in 1.5.7) Fixes: #1923 Fixes: #1922 Fixes: #1911 Fixes: #1916
2021-01-29mu-query-result: detect thread-subjectsDirk-Jan C. Binnema
Ongoing... try to determine the thread-subject, to be used in mu4e later.
2021-01-27mu-threads: improve sorting, duplicate handlingDirk-Jan C. Binnema
And add some more tests.
2021-01-25threads: don't assert on remove_childDirk-Jan C. Binnema
Investigate this, seems to hit in the wild.
2021-01-25threads: avoid assertDirk-Jan C. Binnema
The assert failure was spotted in the wild... we need to investigate, but we can ignore it now to avoid SIGABRT.
2021-01-20query: Rework querying/threading machineryDirk-Jan C. Binnema
Rewrite the query machinery in c++: - use an MSet decorator instead of the mu-msg-iter stuff - use mu-query-decider to mark duplicates/unreadable/related messages - use mu-query-threader to replace the older container/thread code Algorithm did not substantially change, but the implementation details did.