Skip to content

fix(mobile): render generic message attachments - #9929

Merged
shivamhwp merged 2 commits into
pingdotgg:t3code/codex-turn-mappingfrom
saphid:fix/v2-mobile-file-rendering-20260905
Sep 5, 2026
Merged

fix(mobile): render generic message attachments#9929
shivamhwp merged 2 commits into
pingdotgg:t3code/codex-turn-mappingfrom
saphid:fix/v2-mobile-file-rendering-20260905

Conversation

@saphid

@saphid saphid commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Non-image attachments disappeared from the React Native thread feed because an image-only filter removed them before renderer selection. Pass the complete attachment list to the existing image, PDF, video, and generic-file renderers.

Verified on an isolated iPhone 16 Pro simulator (iOS 26.5), using the same message, image and 53-byte text attachment against the same disposable V2 server. Before: ThreadFeed.tsx from b9fa1399c. After: #9929 head 2649ee3ca, patch-identical in integration fa6a1ab04. The native Debug build succeeded (exit 0); only the Metro JavaScript bundle changed between captures. Generic text files and images were exercised; PDF/video opening and Android were not separately exercised.

Before: text file missing After: text file visible
Only the image is rendered Image and release-notes.txt are rendered
Annotated evidence

files-image-annotated.png

files-image-annotated.png

Validation: React Native typecheck and targeted lint passed in the frozen integration run. The native snapshot exposes Open release-notes.txt after the fix and only Open preview.png before it. This changes React Native only; web/desktop and SwiftUI are separate clients.

Targets Julius’s Orchestrator V2 branch in #2829. A direct claude --model claude-opus-5 --effort high --print --tools '' --no-session-persistence --output-format json review attempt exited 1 because OAuth expired before model execution; no Claude review occurred.

Implemented and verified with GPT-6 Astra in Codex/T3.


Note

Low Risk
Single-line behavioral fix in mobile UI; attachment routing was already implemented downstream.

Overview
Non-image message attachments were hidden in the React Native thread feed because ThreadFeed filtered message.attachments to images only before rendering.

The feed now passes the full attachment list into the existing per-type UI: images, file chips (PDF preview, video tiles, generic files via share), and unknown types as inert rows. No new renderers—only removal of the image-only filter in the message entry path for user and assistant bubbles.

Reviewed by Cursor Bugbot for commit 2649ee3. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix renderFeedEntry to pass all message attachments, not just images

The message-entry renderer in ThreadFeed.tsx previously filtered message.attachments to image attachments only. It now uses the full message.attachments list (defaulting to empty when absent), so non-image attachments reach the feed.

Macroscope summarized f3c0750.

@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Sep 5, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Macroscope has since reviewed this pull request. An earlier review was skipped by a cost limit; a review has now completed, so that notice no longer applies.

@github-actions github-actions Bot added the size:XXL 1,000+ changed lines (additions + deletions). label Sep 5, 2026
@saphid
saphid force-pushed the fix/v2-mobile-file-rendering-20260905 branch from ada26fb to 2649ee3 Compare September 5, 2026 05:07
@github-actions github-actions Bot added size:XS 0-9 changed lines (additions + deletions). and removed size:XXL 1,000+ changed lines (additions + deletions). labels Sep 5, 2026
@saphid
saphid marked this pull request as ready for review September 5, 2026 07:11
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 2649ee3

Macroscope's review found this PR approvable — This isolated mobile fix removes an accidental image-only prefilter so existing attachment renderers can display PDFs, videos, generic files, and unknown attachments. Image handling remains unchanged, with no schema, infrastructure, security, billing, or default-setting impact.

You can add or adjust custom eligibility rules. Learn more.

@shivamhwp
shivamhwp merged commit 475aa8c into pingdotgg:t3code/codex-turn-mapping Sep 5, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). 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.

2 participants