Chat 2.0.33: public image previews show without a click, bounded to the viewport - #140
Merged
Merged
Conversation
…he viewport
Owner: users should not have to press "View" on an image. The click gate
existed to bound memory — data-URL previews retain encoded and decoded
bytes, and 2.0.x kept only one message's previews open at a time so Android
never accumulated them. Previews now render by default for messages in or
near the viewport (IntersectionObserver on the list, one viewport of margin
above and below) and are released as they scroll away, so a long
image-heavy timeline holds only what is on screen. "Hide" collapses a
message's previews for the visit. Private (encrypted) image attachments
keep click-to-reveal: each reveal is a one-request decrypt approval in
Home, so auto-revealing would prompt per image on scroll. Also trims the
2.0.32 approval notice ("look for its prompt on this tab" — the prompt is
~300 ms, not "a moment") ×23 locales. README; version 2.0.33.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGDWY3yhSNv2NKTVUBJQBf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner: users shouldn't have to click View to see an image.
Why the gate existed: previews are data-URL images held in state (encoded + decoded memory), so 2.0.x kept only one message's previews open at a time to bound Android's renderer footprint.
Change: previews render by default for messages in or near the viewport — an
IntersectionObserveron the list (one viewport of margin above/below) marks which threads are visible; previews mount for those and unmount as they scroll away, so a long image-heavy timeline holds only what's on screen (the per-message byte/pixel caps and the fetch queue are unchanged). Hide collapses a message's previews for the visit. WhereIntersectionObserveris unavailable, previews just render.Kept as click-to-reveal: private (encrypted) image attachments — each reveal is a one-request
chat.attachmentdecrypt approval in Home, so auto-revealing would raise a prompt per image on scroll. That's a separate session-grant design if wanted.Also: the 2.0.32 approval notice said "Large files take a moment before the prompt appears" — measured at ~300 ms, so it now says "look for its prompt on this tab" (×23 locales).
924/924, build clean, README, version 2.0.33. Live verification of the no-click previews happens on the published build in Home (browser-dev lacks
FETCH_QDN_RESOURCE, so previews can't be exercised outside Home).🤖 Generated with Claude Code
https://claude.ai/code/session_01AGDWY3yhSNv2NKTVUBJQBf