diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-31 12:33:10 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-31 12:33:10 +0100 |
| commit | c9882b609ade04a8b17a89f6b05d51bf939e330c (patch) | |
| tree | c8bd66417264edafefaa2077d37b5455c046ff51 /tests/CMakeLists.txt | |
| parent | ef42103bb1639006c5558eae5f857cd8f9ad2418 (diff) | |
| download | qtmaildir-c9882b609ade04a8b17a89f6b05d51bf939e330c.tar.gz qtmaildir-c9882b609ade04a8b17a89f6b05d51bf939e330c.zip | |
fix: build a backfill's undo from the worker's answer, not the queue
Apply no longer arms commands on the shared confirmation queue. A
backfill can run for a long time; a gesture made meanwhile cleared the
queue, and the backfill's confirmation was then credited to the user's
command, so undoing that command inverted the backfill over every
message it touched.
MainWindow counts the whole rule, confirms, and sends applyRule() with a
token. onRuleApplied() drops a stale token, records each operation's
effective change through the bookkeeping onTagsApplied() shares, and
pushes one MessageTagCommand per operation with the ids it moved, inside
one undo macro. Every configured account is marked edited, since a
backfill reaches mail no row shows and a narrowed sync could otherwise
clear the pending count without pushing it. Nothing moved shows the
nothing-to-change status instead of "done".
Also: a count of -1 says the rule could not be counted, and the
confirmation says undo lasts until the next search, which is when
runQuery() clears the stack.
Item 212.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions
