Files
warmbly/internal/app/worker
Ralf KleinandClaude Opus 5 3cef4e8268 fix: thread an IMAP message on In-Reply-To only, never on the sender's Reply-To
imapStore fell back to Reply-To as the thread parent whenever a message
carried no In-Reply-To. Reply-To is an address header -- send replies to
this mailbox -- not a message identifier, so the thread key became a
person's address and every message that sender ever sent collapsed into
one strand.

Measured on a production instance with 38 IMAP mailboxes: 484 of 1431
stored messages sat in 62 threads. One reporter's 76 unrelated DMARC
aggregate reports arrived as a single 76-message conversation, and one
mailbox's sequence tests, compose tests and live outreach merged into
another. The remaining 947 messages, which did carry In-Reply-To, were
threaded correctly.

Sequence safety was never affected: stop_on_reply matches In-Reply-To
against the task rather than the thread. The damage is to the unibox,
where replies are triaged.

A message that answers nothing now has no parent and roots its thread on
its own Message-ID, which is what the existing else branch already does.
The test fails if the fallback is reintroduced.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 12:20:52 +02:00
..
2026-08-16 07:58:52 +02:00
2026-01-17 14:11:14 +00:00
2026-01-17 14:11:14 +00:00
2026-05-27 16:40:23 +00:00
2026-01-17 14:11:14 +00:00