feat(messages): show message-carried blurhash before decoded originals - #40
Conversation
Paint validated message metadata locally into a bounded, visibility-gated preview, then reveal the decoded original in the existing fixed frame. Keep lazy original loading, access resolution and original links unchanged; no thumbnail requests, crossfade or image-driven layout changes. Implementation by pic-worker-aa352576c7 (run 172b5b30-192d-4659-9481-2b41a2574702), published on baxen's behalf using his explicitly authorized default Git identity. The committed content matches the precommit snapshot that passed the full scan, independent review and baxen's live visual acceptance. Co-authored-by: pic-worker-aa352576c7 <6838876f3610dc213d19edeb1cdf5a8d0a0b568dc9b40db674ade16725074cce@buzz.block.builderlab.xyz> Signed-off-by: Bradley Axen <baxen@squareup.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9aa2ab069c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "@tauri-apps/api": "^2.11.1", | ||
| "@xterm/addon-fit": "0.10.0", | ||
| "@xterm/xterm": "5.5.0", | ||
| "blurhash": "2.0.5", |
There was a problem hiding this comment.
The reviewed commit has no Signed-off-by: trailer, so it violates the repository's per-commit DCO requirement and cannot pass the documented DCO merge gate. Recreate the commit with a sign-off matching its verified effective author identity.
AGENTS.md reference: AGENTS.md:L49-L54
Useful? React with 👍 / 👎.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Review clear
No actionable code, product, or security defects found at head 9aa2ab069c1a108e8afcfdb73f081069224f42a3. Reviewed against merge base c9810f3293266b5741ce16c08aa52710847d5e77; current target base is 834433c580d8e36a8ae9cd9da5695d1166604b94.
- Traced message-carried metadata through validation, shared channel/thread folding and rendering, signed disk restoration, media resolution and access-loss cleanup. The optional field preserves legacy attachments; preview rendering adds no thumbnail URL or independent media authority.
- Reviewed original decode, cached-load handling, visibility gating, retired callbacks, source/hash remounts, failures and full canvas removal behind transparent originals. The existing fixed frame, dimension caps, scale-down rendering and original-link behavior remain intact. Independent lifecycle/test-oracle review was integrated before publication.
- Read the new unit/browser coverage and fixtures. PR-associated CI run34726355386 reports success across required lanes, Chromium/WebKit shards and DCO. This was a Studio-only source/metadata review: no PR code was checked out or executed by the reviewers. CI is supporting evidence, not independent native, performance or soak certification.
Avatars, video links, upload encoding, server variants, caching/scheduling, and scroll/unread policy are outside this change. The existing inline missing-sign-off allegation does not match this head: its commit contains Signed-off-by: Bradley Axen <baxen@squareup.com>.
This is a clear review comment, not GitHub approval or authorization to merge.
* origin/main: fix(messages): prevent native WebKit prepend blanking (#49) feat: add shared browser and standard desktop notifications (#38) Prevent whole-window scroll bounce (#41) test: replace timing races with explicit lifecycle barriers (#45) test(browser): isolate fixture optimizer caches (#46) test(browser): settle startup catch-up before request baselines (#43) feat(messages): show message-carried blurhash before decoded originals (#40) Add a shared full-page surface (#29) fix(messages): prevent image-driven timeline scroll snap-back (#31) Restore grouped channel membership activity (#30) feat: add broker-backed Agent Activity panel (#36) Signed-off-by: Clay Delk <clay.delk@gmail.com> # Conflicts: # src/bundled/channels/ChannelsPage.tsx # src/features/messages/ChannelTimeline.tsx # src/features/messages/MessageRow.tsx # src/features/relay/contracts.ts # src/features/relay/fold.ts
Summary
Show message-carried BlurHash locally while the original image loads, then sharpen in place after the original has decoded. The reserved frame and scroll position stay stable; no thumbnail image is requested.
imeta blurhashmetadata in attachment projection; folding does no pixel work.blurhash@2.0.5, then remove it entirely when revealing the decoded original, including behind transparent pixels.Implementation by
pic-worker-aa352576c7, published on baxen's behalf using his explicitly authorized default Git identity, with agent co-author attribution and author-matching DCO sign-off.Validation and exact snapshot
Head:
9aa2ab069c1a108e8afcfdb73f081069224f42a3Base/merge base:
c9810f3293266b5741ce16c08aa52710847d5e77Committed tree:
c049ddb4c6ae9b4f8ed749032988efea857876cfThe implementation worker's prior
bin/just scanpassed (exit 0) on the uncommitted 17-file snapshot, not on a then-nonexistent commit. Before publication, all 17 working-file and staged-file SHA-256 hashes were verified against that saved manifest; afterward, all committed-file hashes matched and the committed tree equaled the checked staged tree. No functional or formatting changes were made during publication. Manifest SHA-256:0698f7475273c70136d5390d9f0d3a156d577a06ae0fe760567947c21fa84012.Prior matching-snapshot evidence:
Publication checks:
Limits and review
Only messages with valid BlurHash metadata show the blur. It approximates colors/shapes, not alpha or animation. Preview work is bounded per visible mounted image and uncached, so remounts can decode again; without IntersectionObserver the normal background/original path remains. No thumbnail network path, server changes, new media variants, avatars, cache/scheduler, crossfade or scroll/unread changes.
No new worst-case decode/frame-time benchmark, remount soak, native GUI or cross-platform acceptance is claimed. Hosted
CI required/DCO Checkand required human/code-owner approval remain merge gates. No merge requested or performed.Origin
buzz://message?channel=6a9d1901-702f-4307-9dbc-b4a4c664ef28&id=5273d8720c55c5e91c46bb3434c562e758eea81a68e7f614c6a674df0cf1d8f3