fix(reader): Reply from an open email drops the quoted original (bare compose) — use buildReplyDraft #303

Closed
opened 2026-07-04 06:50:15 +00:00 by JMR-dev · 0 comments
JMR-dev commented 2026-07-04 06:50:15 +00:00 (Migrated from github.com)

Phase-3 review (MEDIUM/correctness). ReaderScreen.kt:118 navigates Reply to Routes.compose(sender, "Re: …", accountId) — a plain prefill with empty body — while the mailbox multi-select reply uses mailRepository.buildReplyDraft(messageId, mode) which quotes the original into a <blockquote> + bakes the signature above it. So replying from an OPEN email (the most common reply action) produces lower-fidelity replies (no quote, no threading) and offers no Reply-All/Forward. Fix: the reader holds messageId — emit OpenCompose(draftId) from buildReplyDraft like the mailbox does; add Reply-All/Forward. (Sub-nit: "Re: " is hardcoded/non-localized + double-prefixes an existing "Re:".)

Phase-3 review (MEDIUM/correctness). `ReaderScreen.kt:118` navigates Reply to `Routes.compose(sender, "Re: …", accountId)` — a plain prefill with empty body — while the mailbox multi-select reply uses `mailRepository.buildReplyDraft(messageId, mode)` which quotes the original into a `<blockquote>` + bakes the signature above it. So replying from an OPEN email (the most common reply action) produces lower-fidelity replies (no quote, no threading) and offers no Reply-All/Forward. **Fix:** the reader holds `messageId` — emit `OpenCompose(draftId)` from `buildReplyDraft` like the mailbox does; add Reply-All/Forward. (Sub-nit: `"Re: "` is hardcoded/non-localized + double-prefixes an existing "Re:".)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: JMR-dev/LibreMail#303