Skip to content

Serve profile gallery images, and cut 0.1.11 - #15

Merged
ShaalaXIV merged 1 commit into
mainfrom
claude/serve-profile-images
Sep 23, 2026
Merged

ShaalaXIV merged 1 commit into
mainfrom
claude/serve-profile-images

Conversation

@ShaalaXIV

Copy link
Copy Markdown
Owner

Every profile portrait has been 404ing

No card has ever shown a face. The bytes were on disk the whole time.

Beacon screenshots and profile gallery images share one image store but keep separate metadata tables. ServeAsync looked the id up only in db.Images (BeaconImageEntity, screenshots), so an id that was a perfectly good portrait in db.ProfileImages was reported missing.

Production logs, captured while reproducing it:

GET /images/2ded7529-9146-4379-9caf-4c556c914e09  404 0
GET /images/67ca1af5-d60e-432e-af5b-4bd2810e2ca8  404 0

The lookup now falls back to the gallery table. That table stores no content type, because everything in the store is written as WebP.

Verified against a local server — full and thumbnail, WebP and PNG:

/images/{id}                200  image/webp
/images/{id}/thumb          200  image/webp
/images/{id}?format=png     200  image/png
/images/{id}/thumb?format=png  200  image/png

This is a server-side fix, so existing 0.1.10 clients start showing portraits as soon as the server updates.

Also in this cut: "Seen 1 days ago" now reads "Seen yesterday", and the version and stack tags move to 0.1.11.

🤖 Generated with Claude Code

Every profile portrait returned 404 while its bytes sat on disk, so no card has
ever shown a face.

Beacon screenshots and profile gallery images share one image store but keep
separate metadata tables. The serve endpoint looked the id up only in the
screenshot table, so an id that was a perfectly good portrait was reported
missing. It now falls back to the gallery table, which stores no content type
because everything in the store is written as WebP.

Verified against a local server: full and thumbnail, WebP and PNG, all four
return 200 with the right content type. Production logs show the 404s this
fixes:

    GET /images/2ded7529-...  404 0
    GET /images/67ca1af5-...  404 0

Also: "Seen 1 days ago" now reads "Seen yesterday".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ShaalaXIV
ShaalaXIV merged commit 038fc55 into main Sep 23, 2026
1 check passed
@ShaalaXIV
ShaalaXIV deleted the claude/serve-profile-images branch September 23, 2026 23:09
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.

1 participant