diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-20 10:50:10 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-20 10:50:10 +0200 |
| commit | e4e2f4af71a6597548d2e35d82a5dec6a4ed3a5c (patch) | |
| tree | facb5bfaa35b587ff9abbb12d95d6e88fde0d111 /CHANGELOG.md | |
| parent | 3f256acda192fbe2b9fad28d09cd74dca9a69418 (diff) | |
| download | qtmaildir-e4e2f4af71a6597548d2e35d82a5dec6a4ed3a5c.tar.gz qtmaildir-e4e2f4af71a6597548d2e35d82a5dec6a4ed3a5c.zip | |
fix(pane): drop Save link from a link's context menu
Reported by hand after the item 127 fix: right-clicking a link still
offered Save link.
It had been deferred to item 114 alongside Save image, on the grounds that
both are inert without a downloadRequested handler. That is true and it was
the wrong conclusion, because the two are not the same question.
Save image is content the message already carries, and item 114 is about
making it work. Save link fetches a remote URL chosen by the sender,
through the pane's profile, which is the one profile in this application
that must never fetch remote content: that is what m_allowRemote and the
interceptor exist to prevent. Answering it with a download handler would
put a network fetch of attacker-controlled content behind one context-menu
entry.
Saving what the user actually wants already has a path that never touches
the network: saveAttachment(), which writes a MIME part already parsed into
memory and sanitises the filename.
So it is removed rather than implemented, and the test asserts its absence.
Item 114 now carries the constraint that follows: a downloadRequested
handler added to make Save image work must not make Save link reachable
again, which the natural per-profile implementation would do by default.
Mutation checked: dropping the entry from the filter fails the test with
"a link action survived: Save link".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDq53rMd3AQp7QmcZzpuBM
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 9131c25..3f0748a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,9 +20,13 @@ point at which they are stable. was discarded. Plain links, as in most text mail, were unaffected and already worked, which is what made this look like "HTML mail is broken". - The context menu on a link no longer offers Open in new tab, Open in new - window or Open in this window. None can work: the pane has no tabs and must - never open a window or navigate away from the message. Copy link address is - kept. + window, Open in this window or Save link. The first three cannot work: the + pane has no tabs and must never open a window or navigate away from the + message. Save link is removed for a stronger reason: it would fetch a + sender-chosen remote URL through the message pane, which never fetches remote + content by design. Copy link address is kept, and attachments are still saved + from the attachment bar, which reads what the message already carries rather + than the network. ## [0.26.1] - 2026-08-19 |
