Skip to content

chore(mobile): use upstream Enriched Markdown's wrap toggle and list fixes, plus Android long-press fixes - #20400

Merged
juliusmarminge merged 2 commits into
mainfrom
t3code/enriched-markdown-sync-2547e709
Oct 16, 2026
Merged

juliusmarminge merged 2 commits into
mainfrom
t3code/enriched-markdown-sync-2547e709

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Upstream Enriched Markdown merged the code block wrap toggle (software-mansion/enriched-markdown#1021) and the ordered list marker width fix (#1015) that the mobile app has been running from our fork. This moves the app to a fork archive built on that upstream main, so those features now come from upstream's code rather than our copies.

The new archive, 1.2.0-t3.15, comes from fork head 9fe6c6d2: the upstream sync in pingdotgg/enriched-markdown#7, plus two Android long-press fixes from @voida6 that are also open upstream:

The upstream sync also brings fixes that weren't in the app yet:

  • The embedded parser is renamed to enrmrkd, so it can't clash with another MD4C copy.
  • Character references like & and © now render as their characters instead of being dropped.
  • iOS keeps tight widths for text broken only by explicit newlines.
  • Copied tables keep their cell line breaks and math.

The app code doesn't change. The wrap button stays enabled, and fork-only media slots, image source resolution, clipboard metadata and development-host autolinks carry over unchanged.

Native clients need rebuilding for this dependency change. The second commit carries the long-press fixes and credits @voida6 as co-author.

Verification

  • Mobile typecheck and src/lib/markdownHtml.test.ts pass.
  • In T3 Code Dev on an iOS 27 simulator and the Android 17 emulator, a thread with long code blocks, a quoted code block, ordered items 96–102, nested lists, entities and dev-host links renders correctly. The wrap button toggles each block, and & now renders as &.

The same fixture thread on T3 Code Dev with this archive, before and after tapping the wrap button on the quoted (iOS) or both (Android) code blocks. Lists past 100 keep full numbers, &/©/😀 render as characters, and dev-host links stay linked.

Scrolling Wrapped
iOS 27 iOS: code blocks scroll horizontally, list 96-103, entities decoded iOS: quoted and top-level code blocks wrapped
Android 17 Android: code blocks scroll horizontally, list 96-103, entities decoded Android: top-level and quoted code blocks wrapped

Android long-press fixes on the Pixel 10 Pro emulator (Android 17) with 1.2.0-t3.15:

  • Long-pressing https://devbox:8080/path five times in a row opened only the Open/Copy link menu each time. No text selection or block menu came up alongside it.
  • A long-press drag from "Parent item" across into the nested bullet ended with selection handles and the Copy / Copy as Markdown / Share / Select all toolbar. The message list didn't scroll away mid-drag.
Link long-press Drag selection
Android: long-press on a link shows only the link menu Android: long-press drag selection ends with handles and the copy toolbar

🤖 Generated with Claude Code

… list fixes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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). 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. labels Oct 16, 2026
@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 16, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — This replaces a production React Native markdown archive containing native parser, rendering, and Android interaction changes, altering existing mobile behavior and requiring a native rebuild. The scope extends beyond a simple dependency metadata update, so human review is warranted.

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

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 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 5.0 KiB 5.0 KiB +7 B (+0.1%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB +7 B (+0.6%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB −7 B (−0.1%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB −7 B (−0.6%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 67bca6c · PR result: 1e4a5f4 · 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: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

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

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

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: Team
  • Run ID: 312996f2-bd97-4d58-a926-b62059554fcf
📥 Commits

Reviewing files that changed from the base of the PR and between 0a998a5 and 1e4a5f4.

⛔ 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.tgz
  • apps/mobile/package.json
  • pnpm-workspace.yaml
🚧 Files skipped from review as they are similar to previous changes: 1
  • apps/mobile/package.json

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

📝 Walkthrough

The mobile app now uses react-native-enriched-markdown version 1.2.0-t3.15. The workspace build permission is updated to match.

Changes: Enriched Markdown Dependency

Layer / File(s) Summary
Update dependency and build permission
apps/mobile/package.json, pnpm-workspace.yaml
The mobile package dependency and workspace build permission now use the 1.2.0-t3.15 tarball.

Priority: ⬇️ Low

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

Change: Other

Suggested reviewers: t3dotgg

Merge Risk: ⚪ Minimal · up to 1e4a5

The dependency update is ready to merge after normal checks; no actionable mismatch remains.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description provides detailed change context and verification evidence, but it does not follow the required section structure and does not include explicit scope and approval information. Organize the description under Problem, Change, Scope and approval, and Verification headings. Add the linked triaged issue or maintainer approval, or explain why this focused dependency update qualifies for an exemption. Preserve the exist…
Passed Passed checks: 3 passed
Check name Status Explanation
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.
Title check Passed The title clearly identifies the dependency-related behavior changes: upstream wrap and list fixes plus Android long-press fixes.
Full details: Description check

Resolution

Organize the description under Problem, Change, Scope and approval, and Verification headings. Add the linked triaged issue or maintainer approval, or explain why this focused dependency update qualifies for an exemption. Preserve the existing verification details and screenshots/recordings if applicable.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • 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.

A long-press on a link no longer opens text selection or a block menu as
well, and a long-press drag selection is no longer cut off by the
scrolling message list.

Co-authored-by: voida6 <289179128+voida6@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 16, 2026 23:17

Dismissing prior approval to re-evaluate 1e4a5f4

@juliusmarminge juliusmarminge changed the title chore(mobile): use upstream Enriched Markdown's wrap toggle and list fixes chore(mobile): use upstream Enriched Markdown's wrap toggle and list fixes, plus Android long-press fixes Oct 16, 2026
@juliusmarminge
juliusmarminge merged commit 6cecd22 into main Oct 16, 2026
27 of 29 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/enriched-markdown-sync-2547e709 branch October 16, 2026 23:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews 📱 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: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