Skip to content

fix: use Pierre icons consistently for attachments - #10475

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/use-pierre-icon-everywhere
Sep 7, 2026
Merged

fix: use Pierre icons consistently for attachments#10475
juliusmarminge merged 1 commit into
mainfrom
t3code/use-pierre-icon-everywhere

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Sep 7, 2026

Copy link
Copy Markdown
Member

Attachment icons changed between the composer and sent messages. Use the existing Pierre file-icon components for composer attachments on web and desktop, and for composer and message attachments on mobile.

Verified web behavior with a CSV attachment, using the same draft and viewport on base and head. Web and mobile typechecks pass; targeted lint reports existing warnings; all six Pierre icon-resolution tests pass. Native runtime verification was unavailable because this Linux host has no Android SDK or emulator.

Before

Before: generic CSV attachment icon

After

After: Pierre CSV attachment icon

Model: GPT-6. Harness: Codex.

Note

Use PierreEntryIcon consistently for attachments across mobile and web

  • Replaces generic SymbolView document icons with PierreEntryIcon for non-image/non-video attachments in ComposerAttachmentStrip.tsx and ThreadFeed.tsx
  • Replaces Lucide FileIcon with PierreEntryIcon in the image-preview fallback and staged-file list in ChatComposer.tsx; removes the now-unused FileIcon import
  • Icon selection uses the attachment filename as its path; sizes, labels, and press/preview behavior are unchanged

Macroscope summarized b4dfc52.

Summary by CodeRabbit

  • UI Improvements
    • Updated attachment previews across mobile and web to use file-aware icons.
    • File attachments now display icons based on their names and types instead of generic document symbols.
    • Improved consistency for image, known-file, and unknown-attachment previews.

@cursor

cursor Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or 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: Approved at b4dfc52

Macroscope's review found this PR approvable — This is a narrowly scoped UI fix that replaces generic attachment glyphs with the existing filename-aware Pierre icon component across mobile and web. Attachment behavior and data flow remain unchanged, with no schema, infrastructure, security, billing, or static-analysis impact.

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

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 7cbd915c-c778-4895-8c7f-ff1c351f024a

📥 Commits

Reviewing files that changed from the base of the PR and between bb5748b and b4dfc52.

📒 Files selected for processing (3)
  • apps/mobile/src/components/ComposerAttachmentStrip.tsx
  • apps/mobile/src/features/threads/ThreadFeed.tsx
  • apps/web/src/components/chat/ChatComposer.tsx

Included review availability: 7 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour.


📝 Walkthrough

Walkthrough

Attachment previews and thread rows now use file-aware PierreEntryIcon components instead of generic document symbols. The web composer passes attachment names, file kinds, and themes to the icon.

Changes

Attachment icon consistency

Layer / File(s) Summary
Mobile attachment rendering
apps/mobile/src/components/ComposerAttachmentStrip.tsx, apps/mobile/src/features/threads/ThreadFeed.tsx
Mobile composer and thread attachment rows now render PierreEntryIcon with attachment-specific data.
Web composer attachment rendering
apps/web/src/components/chat/ChatComposer.tsx
Image and file previews now use themed PierreEntryIcon instances. The unused FileIcon import was removed.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to b4dfc

Attachment previews now use file-aware Pierre icons across web and mobile composer and message views. No actionable merge-blocking risk remains.

Suggested reviewers: t3dotgg, chrisdeeming, maria-rcks

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 3 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the primary change: consistent use of Pierre icons for attachments across the affected clients.
Description check ✅ Passed The description explains the change, motivation, affected platforms, verification results, limitations, and UI differences with before/after screenshots. It does not use the template's explicit What C…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/use-pierre-icon-everywhere

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.6 KiB +17 B (+0.1%) 15.1 KiB
Codex Thread snapshot wire 7.0 KiB 7.0 KiB −3 B (−0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.6 KiB 6.6 KiB +20 B (+0.3%) 7.8 KiB
Codex Live turn WebSocket decoded 57.1 KiB 57.1 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 10 10 0 (0.0%) 21
Claude Total thread wire 13.6 KiB 13.6 KiB +6 B (+0.0%) 15.1 KiB
Claude Thread snapshot wire 7.0 KiB 7.0 KiB +1 B (+0.0%) 7.3 KiB
Claude Live turn WebSocket wire 6.6 KiB 6.6 KiB +5 B (+0.1%) 7.8 KiB
Claude Live turn WebSocket decoded 57.9 KiB 57.9 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 10 10 0 (0.0%) 21

Baseline: bb5748b · PR result: b4dfc52 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@juliusmarminge

Copy link
Copy Markdown
Member Author

Reviewed CodeRabbit's docstring-coverage warning. This diff only replaces icon JSX in existing components; it adds no functions or changes their contracts. Extra docstrings would repeat the source, contrary to this repository's documentation guidance. No code change is needed for that advisory warning.

@juliusmarminge
juliusmarminge merged commit a7028f1 into main Sep 7, 2026
23 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/use-pierre-icon-everywhere branch September 7, 2026 05:58
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 7, 2026
## What's Changed
* fix(mobile): keep pending messages in the chat timeline by @juliusmarminge in pingdotgg/t3code#10449
* fix(mobile): show connection status in the floating pill instead of a second one by @juliusmarminge in pingdotgg/t3code#10440
* fix: use Pierre icons consistently for attachments by @juliusmarminge in pingdotgg/t3code#10475
* feat(mobile): open the thread screen as soon as a new task is submitted by @juliusmarminge in pingdotgg/t3code#10435
* fix(devcontainer): make repository setup work by @saphid in pingdotgg/t3code#7875
* fix(projects): prevent invalid script IDs from crashing threads by @saphid in pingdotgg/t3code#10019
* fix(mobile): hide changed-files navigator and restore refresh in raw diff fallback by @lnieuwenhuis in pingdotgg/t3code#9828
* fix(ios): scroll short source files from blank space by @juliusmarminge in pingdotgg/t3code#10178
* feat(mobile): start a new thread on an existing branch by @StiensWout in pingdotgg/t3code#10359
* fix(mobile): improve font-size slider performance and prevent maximum update depth errors by @bbernag in pingdotgg/t3code#7138
* fix(web): keep composer toolbar controls anchored during transitions by @juliusmarminge in pingdotgg/t3code#10478
* fix(web): resize the floating preview from any edge by @juliusmarminge in pingdotgg/t3code#10467
* fix(mobile): prevent chat from disappearing when scrolling by @juliusmarminge in pingdotgg/t3code#10479
* fix(mobile): smooth composer status pill resizing by @juliusmarminge in pingdotgg/t3code#10484
* fix(mobile): release initial scroll target after dragging by @juliusmarminge in pingdotgg/t3code#10483
* fix(mobile): animate thread lifecycle transitions consistently by @juliusmarminge in pingdotgg/t3code#10487
* fix(mobile): restore assistant message bottom padding by @juliusmarminge in pingdotgg/t3code#10491
* fix(mobile): preserve chat rows when toggling commands by @juliusmarminge in pingdotgg/t3code#10492

## New Contributors
* @bbernag made their first contribution in pingdotgg/t3code#7138

**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260907.1332...v0.0.40-nightly.20260907.1346

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.40-nightly.20260907.1346
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: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