Skip to content

fix(mobile): Android file link pills are no longer squished - #22568

Open
RVZO6 wants to merge 1 commit into
pingdotgg:mainfrom
RVZO6:fix/mobile-android-pill-squish
Open

RVZO6 wants to merge 1 commit into
pingdotgg:mainfrom
RVZO6:fix/mobile-android-pill-squish

Conversation

@RVZO6

@RVZO6 RVZO6 commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Since #18735, Android draws file link pills whose text is inline code at about half width. The label is still DM Sans, just squeezed horizontally. Agents usually write file links this way ([`menu.js`](menu.js)), so most file links in chat are affected. iOS is not.

Change

The Enriched Markdown tarball in #18735 (fork commit 373f4eec) pads inline code with a no-break space at each end, narrowed by ScaleXSpan(0.55f). LinkPillSpan takes its paint from the link's first run, which is now that padding space, and copies its textScaleX. pingdotgg/enriched-markdown#8 resets textScaleX to 1 when the pill sets up its label paint.

This PR swaps in a tarball packed from that branch (675136e7), following apps/mobile/deps/README.md. Compared with the shipped tarball, the only file differences are LinkPillSpan.kt and the commit recorded in t3-fork.json. Android clients need a native rebuild to pick it up.

Scope and approval

This is a very small, focused fix for an obvious regression, so it qualifies without a prior issue. #18735 made inline-code file links render at 0.55× width on Android. The fix resets one paint property so they render at normal width again. It doesn't change behavior on any other path.

Verification

  • Unpacked the new and shipped tarballs and diffed them: only LinkPillSpan.kt and t3-fork.json differ.
  • Built a native Android client from this branch and ran it on an Android 16 emulator (API 36) against an isolated dev server. Opened a Markdown file in the file preview, which renders through the same SelectableMarkdownText path as the chat feed. The inline-code pill now matches the width of a plain [menu.js](menu.js) pill.
  • Not checked: the chat feed itself on the new build. The "before" screenshot comes from the chat feed on v0.1.1-nightly.20261020.3386.
Before (v0.1.1-nightly.20261020.3386, thread feed) After (this branch, Android emulator, Markdown preview)
before after

CI failures in Build and Typecheck and Test Web come from main (Cannot find module 'mermaid' after #21472), not from this change.

🤖 Generated with Claude Code (Claude Opus 5.5)

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Oct 21, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 5d235c9

Macroscope's review found this PR approvable — This updates the vendored markdown renderer and its dependency references to correct Android file-link pill text scaling. The runtime effect is narrowly limited to existing mobile markdown rendering, with no product-default, schema, security, or static-analysis changes.

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

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

We couldn't safely recover the incremental review. No full review was started, and the last reviewed checkpoint was preserved. Retry later, or explicitly request a full review by commenting @coderabbitai full review.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: bbfc8ebe-6263-49ca-b4cb-154f7bbc129a
📥 Commits

Reviewing files that changed from the base of the PR and between fcb20e4 and 5d235c9.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 3
  • apps/mobile/deps/react-native-enriched-markdown-1.2.0-t3.15-675136e7.tgz
  • apps/mobile/package.json
  • pnpm-workspace.yaml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The mobile dependency and workspace build allowlist now reference react-native-enriched-markdown-1.2.0-t3.15-675136e7.tgz instead of the previous archive.

Changes: Enriched Markdown archive reference

Layer / File(s) Summary
Update the package archive reference
apps/mobile/package.json, pnpm-workspace.yaml
The mobile dependency and workspace allowed-builds entry now reference the 675136e7 tarball.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix

Suggested reviewers: yash-singh1

Merge Risk: ⚪ Minimal · up to 5d235

The archive update is synchronized and presents no identified merge-blocking risk.

Architecture risk: 🔵 Low · up to 5d235

The change affects 2 systems.

Changed systems: apps/mobile, pnpm-workspace.yaml

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — apps/mobile (service) was modified; 1 changed file maps to changed impact.
  • observed — pnpm-workspace.yaml (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in apps/mobile/package.json: The react-native-enriched-markdown dependency now references the 675136e7 tarball instead of the previous fee84114 tarball.
  • observed — Modified behavior in pnpm-workspace.yaml: Replaced the allowed-builds package key with the newer react-native-enriched-markdown tarball filename.
Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly identifies the Android file link pill rendering fix and accurately reflects the primary change.
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.
Description check Passed The pull request description includes all required sections. It clearly describes the Android regression, the tarball change, the scope exemption, verification steps, observed results, limitations, sc…
Full details: Description check

Explanation

The pull request description includes all required sections. It clearly describes the Android regression, the tarball change, the scope exemption, verification steps, observed results, limitations, screenshot evidence, and agent attribution.

✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

RVZO6 added a commit to RVZO6/t3code that referenced this pull request Oct 21, 2026
Picks up pingdotgg/enriched-markdown#8, which resets the pill label's
horizontal text scale so it no longer inherits inline code's narrowed
padding space.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@RVZO6
RVZO6 force-pushed the fix/mobile-android-pill-squish branch from 5d235c9 to 9701546 Compare October 21, 2026 19:17

This branch has not been deployed

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

Labels

size:S 10-29 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.

1 participant