- Shipped
- August 6, 2026 at 1:02 AM UTC
- Author
- kamo
- Commit
- ab6c75c
Replying dropped the whole quoted message into the Quill editor as body text. Quill can only model a simple grid, so every layout table in the quote was flattened into one — and layout tables are how signatures and virtually all marketing mail are built, which is why a quoted signature came back as a bare grid of cells with no way to get the original back. The quote now travels beside the body rather than inside it. Reply, reply-all and forward hand it over as `quotedHtml`; the composer shows it below the signature, exactly where it lands in the sent mail, rendered through the same sandboxed iframe the reading pane uses — so it looks as it did when it arrived, and its CSS cannot leak into the composer around it. At send it is appended after the signature. It is collapsed to start, because on a long thread the quote dwarfs the reply. Two actions sit beside it: remove it from the reply, or move it into the body as ordinary text. The second exists because taking the quote out of the editor took away the ability to trim a thread down to the line being answered — doing that still costs the layout, but it is now an explicit choice rather than the unavoidable default. Sanitised on the way out. Routing the quote around the editor also routed it around the implicit scrubbing the editor was doing, so sanitizeEmailHtml now runs on it before it is re-sent. Deliberately NOT put through makeHtmlLegible: that guard judges colour against the composer's white canvas, which is right for text written there and wrong for a quote that keeps its own <style> and renders on its own background. Inverting a dark-themed newsletter's white text would have made it dark-on-dark. The quote rides in the tool-window snapshot so a reload does not lose it, and is concatenated onto the body when saving a draft — the drafts endpoint stores one body, and a reopened draft holding the quote as text beats losing the thread.