From 40328fb336ebcec716a39d1f78cdee95b89bc75b Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 14 Sep 2026 14:02:21 +0200 Subject: fix: the Not spam review findings Close the two Important test gaps and fold in the minor notes. notSpamIsAbsentOnAReplyRow passed for the wrong reason: the reply node had no filePath and the selected child was the first message, so the predicate answered false on the empty path and hid the action with or without the reply guard. Give the reply a real spam path and select the actual reply child; mutation-checked that removing the guard now fails the test. Add notSpamThreadMovesEveryMessageHome, the thread-scoped coverage notSpamThreads()/m_pendingThreadScope/wholeThreadIds had none of, and assert the folded thread-scoped trash Restore re-adds the inbox tag. Rename the label Not junk -> Not spam (no free mnemonic in the Message menu) to match the rest of the UI, with the Italian translation updated, and add a changelog line for the thread-scoped Restore inbox-tag fix. --- CHANGELOG.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index fd8d858..0765935 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,7 @@ point at which they are stable. - **A spam button on the message pane's bar**, beside Star and Archive. It is drawn with a bug rather than the theme's junk glyph, and falls back to `mail-mark-junk` on a theme that ships no bug. -- **Not junk**, the way back out of the spam folder. Selecting a message in the +- **Not spam**, the way back out of the spam folder. Selecting a message in the Spam view offers it on both the Message menu and the message pane's bar, and it returns each message to the folder its `moved-from:` origin names, or to the account's inbox when a provider put it there and no origin was recorded, @@ -124,6 +124,12 @@ point at which they are stable. - **A skipped sync no longer looks like a successful one.** When a run exits because another sync already holds the lock, it carried nothing, and the pending count stays where it was. +- **A thread-scoped Restore from the trash re-adds the `inbox` tag when it + returns mail to an inbox.** The message-scoped restore already did this; the + thread-scoped one moved the file back to the inbox folder but left the tag + off, so the conversation sat in the folder invisible to the Inbox view until + the next hook run. Both routes now share one implementation and both restore + the tag. ### Upgrading -- cgit v1.2.3