Skip to content

The phone's media rows actually show the media - #133

Merged
wschenk merged 1 commit into
mainfrom
claude/desktop-feature-deploy-loop-sqwp25
Aug 2, 2026
Merged

The phone's media rows actually show the media#133
wschenk merged 1 commit into
mainfrom
claude/desktop-feature-deploy-loop-sqwp25

Conversation

@wschenk

@wschenk wschenk commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Reported from a phone: "Has media · 24", rows that say 1 media, and nothing drawn. The gallery work in #131 only ever reached the desk. Three separate reasons, all on the phone:

  1. The rows were never given a way to open media. The phone's filtered list, its day panel, and the search results all built ThreadRow without onOpenMedia, and the row only renders media when it has that handler — so no thumb and no tile, at any size. Media now opens in place on the phone exactly as at the desk; the lightbox was always full-screen and always mounted, so nothing was standing in the way.
  2. Audio Captures were filtered out of the row by construction. The row drew only attachments with a picture in them, so a voice Capture — precisely the row that says "1 media" and offers nothing — could never show anything. In the gallery a row now shows every attachment it holds, clips included.
  3. A clip opened in the lightbox rendered as a broken image, falling through the video branch into <img>. Audio gets an <audio controls> element.

No-ticket: true

Test plan

  • tests/desk-gallery-phone.spec.ts (pixel-9, at the phone viewport where this was reported) — pressing Has media goes to ?media=any and draws a gallery for each media Thread while the wordy one is filtered out; the photo tile is wider than 120px and carries a blob: image; the clip gets its own tile; tapping opens the lightbox over the day and closes again; a clip opens as <audio> with no <img> present
  • pnpm typecheck clean; pnpm test — 304 passed, 1 failed (trash-repository.spec.ts, Neon-backed, fails identically on a clean checkout of main here), 10 skipped
  • pnpm lint — 6 errors, all pre-existing

Still true after this

A Capture whose original was removed from the device still has nothing to draw, because the retained "thumbnail" is a text/plain placeholder rather than a real raster thumbnail. Its tile is an honest glyph with the filename. That is the media-retention gap noted on #131 and wants its own ticket.


Generated by Claude Code

"Has media · 24" answered with rows that said "1 media" and drew
nothing. Three reasons, all of them on the phone:

- The phone's filtered list, its day panel, and the search results all
  built their rows without a way to open a photo, and the row only
  renders media when it has one. So no thumb, no tile, at any size.
  Media opens in place on the phone exactly as it does at the desk —
  the lightbox was always full-screen and always mounted.
- Asked for media, a row showed only what had a picture in it, so an
  audio Capture — the row that says "1 media" and offers nothing — drew
  nothing by construction. In the gallery a row now shows everything it
  holds, a clip included.
- A clip opened in the lightbox fell through to <img> and rendered
  broken. Audio gets an <audio> element.

Verified at the phone seam: the chip's own URL, tiles wider than 120px
carrying a blob: picture, a tile for the clip, and the lightbox opening
and closing over the day.

No-ticket: true
@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
walking-thoughts Ready Ready Preview Aug 2, 2026 5:51pm

Request Review

@wschenk
wschenk merged commit 6745505 into main Aug 2, 2026
3 checks 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