T3 Code Mobile [WIP]#2013
Open
juliusmarminge wants to merge 49 commits intomainfrom
Open
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
packages/client-runtimeandpackages/sharedso web and mobile can share the same behavior.Testing
Note
Medium Risk
Medium risk due to introducing substantial new mobile/native code and vendored iOS framework plus new CI checks; failures are likely to surface in build/lint/tooling rather than existing web/desktop behavior.
Overview
Adds a new
apps/mobileExpo app scaffold with variant-basedapp.config.ts, Metro/Uniwind/Tailwind setup, EAS build profiles, and mobile-specific docs/config/ignore files.Introduces two local native Expo modules:
t3-review-diff(large Swift-based diff renderer surface with theming, token patching, scrolling/gesture handling, and debug events) andt3-terminal(podspec plus vendoredGhosttyKit.xcframeworkand licensing docs).Tightens tooling/CI around mobile native code by adding a macOS
mobile_native_static_analysisjob that installsswiftlint/ktlint/detektfromapps/mobile/Brewfileand runsscripts/mobile-native-static-check.ts, plus updatesAGENTS.mdandoxfmt/oxlintignore patterns (and disablesunicorn/no-array-sort).Reviewed by Cursor Bugbot for commit 168ec8a. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add mobile app (React Native/Expo) with terminal, review diff, git controls, and remote connection support
apps/mobileas a new React Native/Expo application with navigation, theming, and a full feature set including thread management, git controls, review diffs, and terminal access via a native Ghostty-backed surface.packages/client-runtimemodules for WebSocket transport (WsTransport), environment connection lifecycle, and atom-backed state managers for VCS status/refs, terminal sessions, checkpoint diffs, archived threads, shell snapshots, and thread detail.attachStreamandsubscribeMetadataAPIs, dynamic child process label resolution, event sequence numbers, and a newReviewServiceexposinggetDiffPreviewvia the WebSocket RPC layer.packages/sharedandpackages/client-runtimeand migrates web app imports accordingly.terminalUiStateStore/vcsStatusStateabstractions backed by the new client-runtime managers;TerminalEventsubscriptions are replaced withterminal.attachandterminal.onMetadata.DEFAULT_TERMINAL_IDchanges from"default"to"term-1"andTerminalSessionInputnow requiresterminalIdto be explicitly provided — existing persisted state and integrations relying on the old default will need migration.Macroscope summarized 168ec8a.