21-Jul-2026 — inbox: prevent role emails becoming externalAddress on inbox threads #306
What's new
Replying to an inbox thread sometimes addressed the reply to a role email (e.g. chairman@ekwg.co.uk or contact-us@ekwg.co.uk) instead of the actual external correspondent. This happened when the first message stored on a thread was a Brevo self-send or outbound composer send whose from/to was a role email — the role email was locked in as externalAddress and never corrected, so subsequent replies went to the role mailbox instead of the person who wrote the message.
At a glance
- Replies to inbox threads always address the original external correspondent, not the role email
- Existing threads with stale role-email externalAddress values are corrected when the next real external message arrives
- The reply-to field falls back to the selected message sender when externalAddress is null
- The CC suggestion alert in the email composer now offers individual role buttons alongside 'Cc All' and 'Dismiss'
- Null-guarded the inbox template and composer handoff for threads with no externalAddress
What's new
The mobile inbox now keeps its filter controls visually balanced on browsers that do not offer notification controls, including the iPhone browser view.
At a glance
- Let Refresh use the full final row when notifications are unavailable.
- Preserve the two-column Refresh and notifications row when both controls are present.