Skip to content

fix(web): display local images in chat - #110

Merged
enisze merged 2 commits into
mainfrom
feature/fix-chat-image-display
Oct 6, 2026
Merged

enisze merged 2 commits into
mainfrom
feature/fix-chat-image-display

Conversation

@enisze

@enisze enisze commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Markdown images in chat bypassed the existing media renderer, so local image paths reached the browser directly and failed to load. Route those images through the shared media resolver and signed environment asset URLs, preserve file/data/blob sources through markdown sanitization, and use the existing loading, failure, and expandable-preview components.

Web and desktop share this fix. Mobile already resolves markdown images through signed assets. The wire contract and provider adapters are unchanged, and image requests still target the thread's environment for remote connections.

Validation: 12 chat-image regression tests and 51 shared media-resolution tests pass. Focused lint has no errors. Web typechecking passes with the two pre-existing voice test files excluded; the normal check fails because those files import the unavailable vitest module. Browser verification reproduced the broken relative request before the fix and confirmed a decoded 640×320 image through the signed asset endpoint afterward. Click-to-expand and Escape-to-close work, and the preview covers the viewport. The macOS arm64 DMG was built from merged commit 3f5175e7e6f4, locally signed with an ad hoc signature, verified, and installed in place of the previous app with a backup retained. GitHub CI remains queued.

Before:

Before: broken image

After:

After: loaded image

Expanded preview

Model: GPT-6. Harness: Codex.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Oct 6, 2026
@enisze
enisze marked this pull request as ready for review October 6, 2026 22:09
@enisze
enisze merged commit 3f5175e into main Oct 6, 2026
16 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant