Skip to content

fix(mobile): Ordered list numbers past 99 no longer clip - #19814

Closed
mwolson wants to merge 1 commit into
pingdotgg:mainfrom
mwolson:fix/mobile-list-marker-width
Closed

mwolson wants to merge 1 commit into
pingdotgg:mainfrom
mwolson:fix/mobile-list-marker-width

Conversation

@mwolson

@mwolson mwolson commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Problem

In mobile chat, an ordered list that reaches item 100 clips its numbers at the left edge on iOS and Android: 232. shows as 32., 1000. as 00.. Long numbered replies such as plans and checklists read with wrong numbers past item 99.

Change

The fix is in our vendored react-native-enriched-markdown fork, as the #19731 ios-list-markers-clipped triage suggested: each ordered list now sizes its marker gutter from its own widest number instead of a fixed 99.. Lists under 100 items keep today's layout, and nested lists under a wide parent move with it. This PR swaps in the archive built from that change, 1.2.0-t3.17, following apps/mobile/deps/README.md.

The library change is pingdotgg/enriched-markdown#2 against fork/t3-mobile. Its archive currently records the source commit on my fork; once that PR lands, the archive should be repacked from the merged commit, and I'm happy to update this PR or have you repack it.

Scope and approval

Fixes #19731 ios-list-markers-clipped, triaged and accepted, with the fork-side direction from the triage comment.

Verification

  • iOS Simulator (iOS 27.0) and Android (Waydroid, Android 13), Release and development builds of this branch against the parent commit, using a fixture with lists 1-9, 1-250 and 998-1001 with nested items. Every marker renders in full with the usual gap to its text; the 1-9 list is pixel-identical before and after on both platforms.
  • The library's new Android unit tests (marker drawing positions) and iOS XCTest cases pass; details are in the fork PR.
  • Mobile Markdown tests and the repo's check, typecheck and knip pass.

Before and after in this branch's mobile app, list starting at 998 with nested items:

Before After
iOS iOS before: wide markers clipped iOS after: complete markers
Android Android before: wide markers clipped Android after: complete markers

Sent by Mike's agent (Claude Opus 5.5 in T3 Code)

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Oct 15, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at c01ef3c

Macroscope's review found this PR approvable — This is a narrowly scoped mobile rendering bug fix that swaps in a vendored markdown build and updates its lockfile references consistently. Its runtime effect is confined to correcting ordered-list marker sizing for numbers above 99, with no broader product or infrastructure changes.

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

@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Review in Change Stack →

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: 7f139da7-d29c-4cf4-a139-c8c3ba5f27fb
📥 Commits

Reviewing files that changed from the base of the PR and between 339179f and c01ef3c.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 4
  • apps/mobile/deps/react-native-enriched-markdown-1.2.0-t3.11.tgz
  • apps/mobile/deps/react-native-enriched-markdown-1.2.0-t3.17.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 package now uses react-native-enriched-markdown version 1.2.0-t3.17. The pnpm build allowlist now targets the matching archive.

Changes: Markdown Dependency Update

Layer / File(s) Summary
Dependency version and build allowlist
apps/mobile/package.json, pnpm-workspace.yaml
The mobile dependency and allowed build archive change from version 1.2.0-t3.11 to 1.2.0-t3.17.

Priority: ➖ Normal

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

Change: Bug fix · Severity of issue fixed: Medium

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to c01ef

The updated Markdown archive is consistently selected and permitted to build, and its inspected platform implementations size gutters for wider ordered-list markers. No concrete merge-blocking risk was found.

### Architecture Summary

Architecture risk: 🔵 Low · up to c01ef

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 changes from the 1.2.0-t3.11 tarball to 1.2.0-t3.17.
  • observed — Modified behavior in pnpm-workspace.yaml: The allowed build entry now targets the 1.2.0-t3.17.tgz archive instead of 1.2.0-t3.11.tgz.
Pre-merge checks: Passed 4
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary fix: ordered-list numbers above 99 no longer clip in the mobile app.
Description check Passed The description includes the problem, change, scope and approval reference, detailed verification results, and before-and-after screenshots. It also notes the archive repacking condition after the for…
Linked Issues check Passed Issue #19731 requires full ordered-list markers above item 99 on iOS. The PR selects archive 1.2.0-t3.17, which the PR reports sizes each list marker gutter from its widest number. Reported iOS test…
Out of Scope Changes check Passed The changes update the mobile dependency archive and the corresponding allowBuilds entry. Both changes support delivery of the #19731 fix. No unrelated changes appear in the reviewed scope.
✨ Finishing Touches
🧪 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.

@juliusmarminge

Copy link
Copy Markdown
Member

Note

Grok responding on behalf of Julius.

Closing as superseded. #20080 merged and fixes #19731 by shipping the fork archive 1.2.0-t3.13, which includes your pingdotgg/enriched-markdown#2 change (ordered lists size their number column to their widest number). Thanks for the fork-side fix!

@mwolson
mwolson deleted the fix/mobile-list-marker-width branch October 17, 2026 16:28
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: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.

[Bug]: iOS clips three-digit ordered list numbers in messages

2 participants