Skip to content

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

Closed
RVZO6 wants to merge 6 commits into
pingdotgg:mainfrom
RVZO6:fix/mobile-android-pill-squish
Closed

RVZO6 wants to merge 6 commits into
pingdotgg:mainfrom
RVZO6:fix/mobile-android-pill-squish

Conversation

@RVZO6

@RVZO6 RVZO6 commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Android file-link pill labels should keep normal horizontal text scale when their paint comes from an inline-code run. The original regression inherited the narrowed padding run's scale. This is a focused bug fix with no product or interface changes.

Merged current main without rebasing and retained the contributor's textScaleX = 1f reset. The reset is now committed on the renderer's fork/t3-mobile branch at 2f2ee98abf191d628df5c0586ac995e762d789fe and included in a repacked t3.16 archive per apps/mobile/deps/README.md. The temporary pnpm patch and its workspace and lockfile entries are removed. The package, allow-build, and lockfile references use the new archive. A native Android rebuild is required.

All 1,220 archive entries were compared with main's archive. Only the single Kotlin reset and source-commit metadata changed. Measurement, truncation, and drawing use the same styled paint. The package version, JavaScript, iOS, and generated code are unchanged.

Blacksmith verification passed: vp run check:changed (39 package typechecks, format, knip, unused-patch installation and agent-context test), all eight existing mobile markdown-link tests, and Kotlin native static analysis (vp run lint:mobile). SwiftLint is unavailable on the Linux worker. Two independent source and archive reviews approved head 74e1de9daf5cd112b53b115fcf45d5930b097da8 with no code findings.

Final-archive Android rendering is unverified in this run: no Android device or emulator is installed or connected, and Chrome cannot exercise this Kotlin renderer. The earlier Android verification comment covers the previous patched archive; it remains historical evidence. The images below cover the contributor's original t3.15 build, not this repacked archive. Before merging, rebuild the native Android client and check inline-code file-pill width, opening files, long-press actions, and ordinary inline code.

original regression on the older Android build

contributor's original t3.15 Android fix in markdown preview

Updated by gpt-6.1-sol through the Codex harness in T3 Code.

@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.

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

Change: Bug fix

Suggested reviewers: yash-singh1

Merge Risk: Minimal · previous review 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 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description is detailed and follows most of the template. It explains the Android file-link pill fix, the repacked t3.16 archive, the removed pnpm patch, and the verification that ran. Its verific… 1) Add an explicit Problem section. State the expected behavior, the observed behavior (inline-code file-pill labels render at about half width on Android), and the reproduction steps or environment, including the nightly build v0.1.1-night…
Passed Passed checks: 3 passed
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.
Full details: Description check

Explanation

The description is detailed and follows most of the template. It explains the Android file-link pill fix, the repacked t3.16 archive, the removed pnpm patch, and the verification that ran. Its verification section names the checks that passed and what was not checked. The Problem section is only implied, and the Scope and approval section is missing. The description does not link a triaged bug issue or maintainer approval, and it does not justify the change as a small obvious bug fix. The description also says 'Merged current main without rebasing' and cites a t3.16 archive, while the objectives describe a t3.15 tarball revision 675136e7. Those points conflict and need clarification. The description does not clearly state the Problem in a sentence or two with reproduction steps. The Verification section states that final-archive Android rendering is unverified and that the screenshots show the older t3.15 build, so it does not show the changed behavior. The model and harness line is present.

Resolution

  1. Add an explicit Problem section. State the expected behavior, the observed behavior (inline-code file-pill labels render at about half width on Android), and the reproduction steps or environment, including the nightly build v0.1.1-nightly.20261020.3386. 2) Complete the Scope and approval section. Link the triaged bug issue or the maintainer approval comment for this direction. If no issue exists, explain why this focused fix of an obvious bug qualifies without prior approval. 3) Resolve the archive version conflict between the description (repacked t3.16 archive, commit 2f2ee98) and the objectives and file summaries (t3.15 archive revision 675136e7). State the correct archive name and version. 4) Provide Android verification for the final archive. Attach before/after screenshots or a recording of the final build, or state clearly that the change remains unverified on Android and why. Replace the t3.15 images with images that match the changed build. 5) Confirm the Change section explains how the reset fixes the problem and why the archive repack is needed for the same fix.
Finishing Touches
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

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 2 times, most recently from 9701546 to 76ef9e7 Compare October 25, 2026 02:56
@github-actions github-actions Bot added the 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. label Nov 1, 2026
@maria-rcks

maria-rcks commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Retained the merge review's packaging change: textScaleX = 1f is committed on the renderer's fork/t3-mobile branch at 2f2ee98a and packed in the t3.16 archive per the dependency README. No pnpm patch or patch entries remain. Compared all 1,220 archive entries against current main: only that Kotlin reset and source metadata differ.

Merged the one newer main commit without conflicts or rebasing and pushed f0eb06d0d047303b5a0b8e80d9664a30293c018a to the existing contributor branch without force. The mobile diff remains four files, seven insertions and seven deletions plus the archive replacement. No additional product changes.

Fresh Blacksmith verification passed vp run check:changed refs/remotes/check-base/main: 39 package typechecks, formatting, knip, unused-patch installation, and the agent-context test. Both existing markdown-link test files passed all 25 cases. Two independent source reviews approved this exact head with no findings. These checks do not exercise the vendored Kotlin renderer; lint:mobile excludes dependency sources.

Final-archive Android rendering remains unverified. No device is connected, and the environment's device tool reports access is turned off. Chrome cannot exercise this Kotlin renderer. The earlier Android verification comment covers the previous archive and remains historical evidence. Before calling this ready, rebuild Android and check inline-code pill width, truncation, tap, long-press, and ordinary inline code.

@maria-rcks

maria-rcks commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified on Android emulator (API 35) against a real dev server

Verified head 1225f4ccfa32d7d4e17a8809a8a36f8e926c8ce3 on the t3 x86_64 Android emulator. Built and installed the native development client, paired it with an isolated vp run dev backend, and created a real project and two real Codex gpt-6.1-sol turns through the local proxy. No mocks or demo provider were used.

File labels from explicit markdown links with inline-code labels render at normal horizontal width. Ordinary inline code, bold file links, and italic file links also render correctly. Tapping README.md and EnrichedMarkdownText.tsx opens their actual workspace files. Long-pressing README.md shows the full path and copy/open actions. The recording shows file opening, returning to chat, and the long-press menu.

The before comparison is the same app and response rebuilt with only this PR's two-line native reset removed. Its LinkPillSpan.kt matches the unpatched t3.16 archive byte for byte. Both builds render without squishing, consistent with main having already removed the original padding span. This verifies the current build and neighboring interactions; it does not demonstrate a new visible improvement over t3.16.

Before, unpatched t3.16 renderer:

same real Codex response with the unpatched t3.16 Android renderer

After, exact PR native build restored and checked again:

same real Codex response on the restored PR Android build

Android file-pill opening, return navigation, and long-press actions

No source changes were needed. GitCafe reported 28 successful checks. A final GitHub read reported 22 successful, six skipped, and one cancelled (Native fingerprint diff), with no failing or pending checks. The original MP4 was played and seeked in T3's browser preview; the embed is an animated copy of that recording.

Not verified

  • iOS: this Linux VM cannot run an iOS simulator.
  • The historical t3.15 squish was not reproduced. The comparison used the unpatched t3.16 renderer, not a full checkout and build of current GitHub main.
  • Dark theme and other device sizes were not exercised.

@RVZO6

RVZO6 commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

@maria-rcks ur clanker trippin there's no difference lol. This probably regressed at some point. And now it's fixed. So I don't think there's any need to keep this open.

@RVZO6 RVZO6 closed this Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. 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.

2 participants