Replying fetches the quoted message's remote images, whatever the reader decided #410

Closed
opened 2026-09-19 22:44:20 +00:00 by jcoffey-dev · 0 comments
Owner

Reported while testing #409: switching a reply to rich text loaded the images of the message being quoted, on a message whose images had been left blocked while reading it.

reply() sanitized the quoted body with allowRemote: true unconditionally, so quoting rendered the message a second time with every remote image fetched. A tracking pixel in the quote then reported the message read and the address live, which is exactly what leaving the images blocked was meant to prevent. The same applied to Edit as new and to opening a draft that quotes a message.

Before #408 this was reachable whenever the default format was rich text; the format offer made it reachable from a plain-text default too, which is how it surfaced.

The composer should ask the same question the reader answered — the image policy, trusted senders, whether the sender is a contact, and whether Show images was pressed on that message.

Rebuilt from: GH Archive, session transcript.

Reported while testing #409: switching a reply to rich text loaded the images of the message being quoted, on a message whose images had been left blocked while reading it. `reply()` sanitized the quoted body with `allowRemote: true` unconditionally, so quoting rendered the message a second time with every remote image fetched. A tracking pixel in the quote then reported the message read and the address live, which is exactly what leaving the images blocked was meant to prevent. The same applied to *Edit as new* and to opening a draft that quotes a message. Before #408 this was reachable whenever the default format was rich text; the format offer made it reachable from a plain-text default too, which is how it surfaced. The composer should ask the same question the reader answered — the image policy, trusted senders, whether the sender is a contact, and whether *Show images* was pressed on that message. <sub>Rebuilt from: GH Archive, session transcript.</sub>
This repo is archived. You cannot comment on issues.