The Enriched Markdown tarball comes from Julius's fork/t3-mobile branch. Its t3-fork.json records the exact source commit and upstream base. React block renderers, signed image sources, the onLinksChange link list (renderers, resolveImageSource, onLinksChange) and the iOS streaming memory bounds are upstream. The fork carries only changes with an open upstream PR: clipboard link metadata (#962), development-host autolinks (#961) and hash-route link fragments (mity/md4c#454, arriving through md4c#7), md4cFlags.preserveWindowsPaths, which keeps backslashes in Windows drive paths in prose (#1105, after mity/md4c#477), GitHub's strikethrough rules for ~ (md4c#6), \(…\) and \[…\] math delimiters (#1043, md4c#4), iOS Copy as Markdown keeping bold spans whole (#1143), line breaks in copied table cells written as <br> (#1144), and Android measuring text in the span order its view draws it, so code blocks nested in list items no longer make a reply overlap the next message (#1145).
To replace it, commit the fork changes, run yarn install --immutable and yarn workspace react-native-enriched-markdown prepare in the fork checkout, then node scripts/pack-t3.mjs /path/to/t3code/apps/mobile/deps. Keep the package version aligned with Julius's fork/t3-mobile branch. Rename the archive to include the first eight characters of the source commit, such as react-native-enriched-markdown-1.2.0-t3.18-4287c5d3.tgz, so each build has a distinct dependency path without version bumps. Update the tarball path in apps/mobile/package.json and pnpm-workspace.yaml's allowBuilds, and run vp i to update the lockfile. Native clients need rebuilding when this dependency changes.
Change a tarball in this directory through its fork, never with a pnpm patch: .pnpmfile.cjs fails the install when patchedDependencies names one, since the next tarball would drop the patch without a trace.