| 1 | # Building the mobile Screens dependency |
| 2 | |
| 3 | The mobile v5 stack uses a committed tarball from the |
| 4 | [T3 Screens fork](https://github.com/pingdotgg/react-native-screens/tree/t3-v5.0.0-t3.27). |
| 5 | The fork owns the integration changes; the app does not patch this package. |
| 6 | Each archive includes compiled JavaScript, declarations, native source and |
| 7 | `t3-fork.json` recording its version, source commit and upstream base. |
| 8 | |
| 9 | To reproduce an archive, use Node 24 and the repository's pinned Yarn from a |
| 10 | clean fork checkout at the source commit recorded in its `t3-fork.json`: |
| 11 | |
| 12 | ```sh |
| 13 | yarn --cwd /tmp/t3-screens-fork pack:t3 /absolute/path/to/t3code/apps/mobile/deps |
| 14 | ``` |
| 15 | |
| 16 | For an update, sync the fork's `main` with upstream, merge it and the required |
| 17 | proposal branches into `t3/main`, increment the `5.0.0-t3.N` version, pin `t3Fork.upstreamCommit` to the |
| 18 | integrated upstream SHA and commit. |
| 19 | Run `pack:t3` from that clean checkout and tag the source as `t3-v<version>`. |
| 20 | Publish the source commit and tag to the fork before submitting the app change. |
| 21 | Replace the old archive, update `apps/mobile/package.json` and run `vp i` to |
| 22 | regenerate the lockfile. Verify mobile types and affected navigation tests. |
| 23 | Changes to native source also require rebuilding and testing the native client. |
| 24 | |
| 25 | The same iOS binary supports iPhone, iPad, and Duo. UIKit hinge updates enable |
| 26 | phone workspace columns at runtime; regular phones retain portrait rotation. |
| 27 | Use the normal EAS build profiles and update channels. Duo support requires a |
| 28 | binary built with the iOS 27.1 SDK; an OTA cannot add the native APIs. |