summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-19 10:03:04 +0200
committerDanilo M. <danix@danix.xyz>2026-08-19 10:03:04 +0200
commit830aa264f81af1a92dec9ee95bc24a9b25dee53d (patch)
treeb1e6f4de3e5a651c3f7927627f8b03e3be1cc9b7 /CHANGELOG.md
parent44b341f774a706d70509751b0251793e1c5a34f5 (diff)
downloadqtmaildir-830aa264f81af1a92dec9ee95bc24a9b25dee53d.tar.gz
qtmaildir-830aa264f81af1a92dec9ee95bc24a9b25dee53d.zip
i18n: translate the trash strings, and document the trash key
The three new strings from the cleanup action, translated into Italian. lrelease reports 383 finished and 0 unfinished; an unfinished string is silently dropped and ships as English inside an otherwise Italian UI. The changelog gains an Upgrading section for the mandatory `trash` key, the new optional `inbox` key and the `Del` binding, and states the consequence that cost real mail on this branch: a folder name that does not match the server is created rather than reported, mbsync adopts it, and under Create Both it propagates to the server where other clients see it. CLAUDE.md is corrected on two counts. Adding an action is five places, not four; the fifth is a menu, and nothing enforced it until this branch added everyActionIsReachableFromAMenu(). And the trash design is recorded: why the origin lives in a tag, why those tags are joined by a tab rather than a space, and why Restore resolves against the database rather than the model. Also repairs a race in deletingTwiceLeavesNoOriginTagBehind(). Its guard ran a query through the bar in the gap between the file rename and the tag writes, and a query bar run in that gap returns zero rows forever, since QTRY_VERIFY re-reads rowCount() and never re-runs the query. Measured 3 failures in 12 runs, each burning a full 15s timeout; 0 in 8 after asking the database directly, with the runtime down from 45s to 0.3s. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 75d2de1..e514fc8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,55 @@ point at which they are stable.
## [Unreleased]
+### Added
+
+- Delete now moves mail into the account's trash folder instead of only
+ tagging it. A **Trash** filter sits beside Unread, Inbox, Important and
+ Sent, and composes with the account selector like the others.
+- **Restore from trash** (`Ctrl+R`), enabled while the trash view is showing.
+ A message this application deleted returns to the folder it came from; one
+ trashed by another client returns to the inbox.
+- **Find stranded deleted mail** (`Ctrl+Alt+T`), in the Message menu. It lists
+ mail tagged `deleted` that never moved anywhere. Run it whenever you like;
+ it reports and moves nothing on its own.
+- An optional per-account `inbox` key, naming the inbox folder a restore falls
+ back to when a message carries no record of where it came from. It defaults
+ to `Inbox`, so an account whose inbox is named that needs nothing.
+- `Del` now deletes, alongside `Ctrl+D`. It still edits text in the query bar
+ and in any other text field, so nothing is lost where the key already had a
+ job.
+
+### Changed
+
+- Open thread, Clear message pane and Clear selection appear in the View menu.
+ All three existed and were reachable only by their shortcuts.
+
+### Upgrading
+
+**Every account now needs a `trash` key** in `qtmaildir.conf`, naming its
+trash folder relative to `maildir`:
+
+ [account.work]
+ maildir = work
+ trash = Trash
+
+The folder must be one your `mbsync` configuration actually syncs, or the move
+will never reach the server. Accounts without the key still load and still
+read mail, but Delete cannot work on them and a warning says so at startup.
+
+**Name the folder exactly as it exists on the server.** A trash or inbox name
+that does not match creates that folder rather than reporting an error, and
+under mbsync's `Create Both` the wrongly named folder then propagates to the
+mail server, where other clients will see it.
+
+**Mail deleted by earlier versions is not migrated.** It carries the `deleted`
+tag and sits wherever it always was. Use **Find stranded deleted mail** to
+review it, and Delete on what should really go.
+
+Note that Delete's reversibility depends on your provider: a trash folder the
+provider purges on a timer will eventually remove the mail for good.
+
+
## [0.25.0] - 2026-08-17
Acting on a row now means the message that row displays, not the whole