Replying sanitized the quoted body with allowRemote: true, so quoting fetched every remote image in the message whatever the reader had decided about it. A tracking pixel in the quote then reported the message read, and the address live, to whoever was counting -- the thing leaving the images blocked was meant to prevent. Edit as new and opening a draft that quotes a message did the same. The decision now lives in one place, remoteImagesAllowed(), asked with the same inputs the reader's answer used: the image policy, the trusted senders, whether the sender is a contact, and whether Show images was pressed on that message. The last of those was component state, so it moves to the mail store, where the composer can see it. Blocked images already keep their address in data-ihm-remote, so nothing is lost by not fetching: it goes back on the way out, and the sent quote is what its sender wrote. The recipient's client decides for itself, as it would with any other client's reply. Before pr408 this needed a rich-text default to reach; the format offer made it reachable from plain text, which is how it was found. No new strings.
This commit is contained in:
@@ -441,6 +441,12 @@ minimizable and maximizable; full-screen on mobile.
|
||||
code block, links (`Ctrl+K`), inline images, an emoji picker, and remove
|
||||
formatting. Tab and Shift+Tab indent inside the body.
|
||||
- **Plain text** as a per-message or default format.
|
||||
- **Quoting follows the message's own image decision.** A quote renders the
|
||||
message again, so the reply blocks its remote images unless that message was
|
||||
allowed them — by policy, by a trusted sender, by the sender being a
|
||||
contact, or by *Show images* having been pressed on it. Blocked images keep
|
||||
their address and get it back when the reply is sent, so the recipient's
|
||||
copy is the quote as its sender wrote it.
|
||||
- **Answering in the format the message was written in.** Replying in plain
|
||||
text to a rich text message, or the reverse, loses either the formatting or
|
||||
the plain text somebody chose to write in. The composer opens in the default
|
||||
|
||||
Reference in New Issue
Block a user