aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-31 12:49:53 +0100
committerDanilo M. <danix@danix.xyz>2026-10-31 12:49:53 +0100
commitc7d09a3956c2b32f9590651c2088ab34334ac538 (patch)
treee7fdf1cc55ecfe836981ad770315e9c6d832958d /CHANGELOG.md
parent2b6ecd2a1f624c12c071320ff1ed96404d75f839 (diff)
downloadqtmaildir-c7d09a3956c2b32f9590651c2088ab34334ac538.tar.gz
qtmaildir-c7d09a3956c2b32f9590651c2088ab34334ac538.zip
docs: record rule apply and archive-on-arrival
The no-confirmation rule gains its second exception, by property: a write scoped to the whole index confirms with the count, though it can be undone. AGENTS.md and the spec now describe the backfill as built: the worker resolves the ids once, writes one tag at a time over that fixed list, and answers with a single ruleApplied from which the undo macro is built, with nothing armed on the shared confirmation queue. Apply is refused during a sync. Hand round trip, throwaway index of 2 messages (one from the promo sender), rules.json written by TagRules::save from the C++ side with allow_archive and a note: post-new exited 0 and logged "applied 1 rule(s)"; after it, tag:promo 1, tag:inbox 1, tag:promo and tag:inbox 0, tag:unread 2, tag:new 0. The file read back 1 rule with allow_archive True and note "kept". Italian translations for the 16 new strings; lrelease reports 725 finished, 0 unfinished. Items 212 and 213 closed. Item 214 opened: an undo's write is not armed, so its confirmation is credited to whatever command is waiting. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 736fca0..9e1d500 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,6 +30,14 @@ point at which they are stable.
- A second launch now hands its selectors to the already-running window over a
local socket and asks it to raise itself, rather than opening a second
window. One process, and so one notmuch database handle.
+- **Apply to existing mail** in the tagging rules dialog. It saves the
+ rules, counts the messages the selected rule would actually change, asks
+ with that count, and applies it. Undo reverts exactly what moved, until the
+ next search. It is refused while a sync is running.
+- **Archive matching mail on arrival**, a per-rule checkbox. A rule that
+ removes `inbox` used to be skipped whole by the sync hook; with the box
+ ticked it runs, and `inbox` is removed. `unread` is never removed on
+ arrival. The dialog now names every rule the hook will skip.
### Changed
@@ -50,6 +58,13 @@ point at which they are stable.
- Clicking a conversation's first message in the overview's unread list now
opens that message, instead of doing nothing visible.
+### Upgrading
+
+- A rule that removes `inbox` was never applied by the sync hook. Open the
+ rules dialog: such rules are named in the warning. Tick "Archive matching
+ mail on arrival" on each one you want to run, then use "Apply to existing
+ mail" to catch up on what arrived meanwhile.
+
## [0.30.0] - 2026-09-29
A calendar window over the vdirsyncer vdir, with a month grid, an agenda and