mirror of
https://github.com/bulwarkmail/webmail.git
synced 2026-11-06 08:15:45 +00:00
On a shared, group or aliased mailbox every reply, reply-all and forward went out as `identities[0]` - the account owner - whichever mailbox was open. `autoSelectReplyIdentity` fused two behaviours: matching one of the user's OWN identities, which never rewrites `From:`, and the domain catch-all, which puts an address they have not configured into `From:`. Only the first is safe for everyone, so it is now unconditional; the rewrite stays behind the setting, which is what its description promises. `findReplyIdentityId` already implemented that match and was referenced only from tests. `forward` is admitted to the match - it was excluded, so a forward from a shared mailbox went out as the owner - but never takes the rewrite: a reply continues a thread whose participants know the addressing, while a forward introduces a rewritten From to a recipient the user just typed. Quick reply matches own identities only, having no From row to show or correct a rewrite, and now falls back to the primary's signature as the composer does, so a shared-mailbox quick reply is still signed. `findReplyIdentityId` now scans recipients in To, Cc, Bcc order rather than scanning identities, and prefers an untagged identity over a differently tagged sibling. Scanning identities let their order decide, and `sortIdentities` puts the login's own address first - so `To: team@, Cc: you@` replied as you, the case this is meant to fix. Automatic selection is restricted to the active account: `composerClient` follows the chosen identity, and a reply or forward still carries blobIds only its own account's server can resolve. The dropdown still offers every account's identities to pick by hand. New messages are deliberately left gated: `composeFromAccountEmail` falls back to `AccountEntry.email`, written once at first login, so resolving it unconditionally would override a user-chosen default sender identity (#507). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>