Skip to content

fix(web): render stored HEIC attachments - #10429

Open
Gigioxx wants to merge 1 commit into
pingdotgg:mainfrom
Gigioxx:t3code/fix-heic-image-rendering
Open

fix(web): render stored HEIC attachments#10429
Gigioxx wants to merge 1 commit into
pingdotgg:mainfrom
Gigioxx:t3code/fix-heic-image-rendering

Conversation

@Gigioxx

@Gigioxx Gigioxx commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Stored HEIC photos uploaded from another client render as broken images on Desktop. Upload-time conversion only helps newly attached files.

Reuse the existing HEIC decoder when native image decoding fails, through one shared component used by the timeline, composer thumbnails, and lightbox. Ordinary images stay on the native path. Converted preview URLs are released on unmount, and navigation discards unfinished conversions. Stored attachments remain unchanged.

Fixes #10356.

Verified 34 focused tests, web typecheck, scoped lint, and formatting. In Chromium against an isolated server, all eight stored HEIC images went from naturalWidth: 0 to 1280; lightbox navigation and a restored HEIC composer draft also rendered correctly. Web and Desktop share these components; the packaged Electron app was not rebuilt. Mobile and workspace-file previews are unchanged. React Doctor reports no compiler errors; its async-state/error-forwarding warnings remain on the cancellation-guarded fallback, whose stale-decode behavior is tested.

Timeline before Timeline after
Stored HEIC attachments fail to decode All eight stored HEIC attachments render

HEIC lightbox after navigating to the next image

Model: GPT-6. Harness: Codex in T3 Code.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 7, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Would Approve

Macroscope's review found this PR approvable — This is a contained web bug fix that preserves native rendering for ordinary images and adds a tested, client-side fallback for previously broken stored HEIC previews. It does not change stored data, APIs, product defaults, deployment behavior, or sensitive functionality.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: HEIC photos not rendered in Desktop app

1 participant