Skip to content

feat(imp): add "block remote images only" mode to image replacement preference - #103

Merged
ralflang merged 1 commit into
horde:FRAMEWORK_6_0from
jcdelepine:feat/block-remote-images
Aug 7, 2026
Merged

feat(imp): add "block remote images only" mode to image replacement preference#103
ralflang merged 1 commit into
horde:FRAMEWORK_6_0from
jcdelepine:feat/block-remote-images

Conversation

@jcdelepine

Copy link
Copy Markdown
Contributor

Add a third option to the image_replacement preference (value 2) that
shows inline (cid:) images while blocking remote ones. Update the HTML
MIME viewer to skip blocking for already-resolved cid: images in this
mode, display a distinct notification for remote image blocking, and
update the English help text accordingly.

The existing binary block/show preference dates from an era where
blocking all images served both performance and privacy goals. Today,
inline (cid:) images are integral parts of the message content while
remote images are the actual privacy concern, as they allow senders to
confirm delivery and read time. This new mode reflects that distinction
and is set as the new default to align IMP with the behaviour of modern
mail clients.

…reference

Add a third option to the image_replacement preference (value 2) that
shows inline (cid:) images while blocking remote ones. Update the HTML
MIME viewer to skip blocking for already-resolved cid: images in this
mode, display a distinct notification for remote image blocking, and
update the English help text accordingly.
@ralflang

ralflang commented Aug 5, 2026

Copy link
Copy Markdown
Member

Thank you, this is a useful feature. However, if we change the preference type, do we need to actively upgrade older preferences from backend?

@ralflang
ralflang self-requested a review August 5, 2026 08:39
@jcdelepine

Copy link
Copy Markdown
Contributor Author

No database migration is needed. The existing values 0 (show all) and 1 (block all) remain valid and unchanged — existing users will keep their current behavior without any intervention.
The new default 'value' => 2 only applies to users who have no stored preference yet.

For my existing users who had a value explicitly set, I will run a one-time update to migrate them to 2 as it is the most sensible default going forward.

@ralflang

ralflang commented Aug 7, 2026

Copy link
Copy Markdown
Member

OK... I am just thinkt about continuity. It's fine this way.

@ralflang
ralflang merged commit 139713d into horde:FRAMEWORK_6_0 Aug 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants