T3 Code Mobile [WIP]#2013
Open
juliusmarminge wants to merge 47 commits into
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
High Risk
High risk due to large new iOS native surface implementation (
T3ReviewDiffView.swift) plus vendored native terminal framework, and new CI enforcement for native linting which can break builds/tooling on macOS runners.Overview
Adds a new
apps/mobileExpo app scaffold with variant-awareapp.config.ts, Metro/Babel setup (including Uniwind + Shiki resolution), styling tokens inglobal.css, and supporting repo hygiene files (.gitignore,.editorconfig,README,eas.json).Introduces native iOS modules for mobile: a native review diff surface (
T3ReviewDiffSurfaceviaT3ReviewDiffModule.swift+ largeT3ReviewDiffView.swift) and a terminal module podspec that vendorsGhosttyKit.xcframework(with third-party notices).Updates tooling/CI to support mobile native code: adds a macOS
mobile_native_static_analysisGitHub Actions job that installsswiftlint/ktlint/detektfromapps/mobile/Brewfileand runsscripts/mobile-native-static-check.ts, expandsoxfmt/oxlintignore patterns for generatedapps/mobile/android/iosfolders, and documents the newbun lint:mobilerequirement inAGENTS.md.Reviewed by Cursor Bugbot for commit 554a1d2. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add mobile app foundation with terminal, review, and git screens to T3 Code
apps/mobile) with Expo Router navigation, global atom registry, and environment connection management including QR-code pairing and secure storage of credentials.T3TerminalSurface), with a fullThreadTerminalRouteScreenmanaging session attach, input, resize, and font-size controls.T3ReviewDiffSurfaceiOS module, Shiki-based syntax highlighting, word-level diff ranges, and review comment composition with inline diff previews.vcsActionManageranduseSelectedThreadGitActionshook that orchestrates operations via the server.terminalStateStoretoterminalUiStateStore, introducesterminalSessionStatebacked byattachStream/subscribeMetadataRPC, and replaces React Query-based git/VCS hooks with newuseVcsStatus,useVcsRefs, anduseCheckpointDiffstate managers.ReviewServiceandgetReviewDiffPreviewtoGitVcsDriverCore, exposing working-tree and branch-range diff sources over a newreview.getDiffPreviewWS RPC endpoint.terminal.attachandsubscribeTerminalMetadatastreaming endpoints; terminal session snapshots now carry monotonically increasing sequence numbers and dynamic labels (including child process names).WsTransport,wsRpcProtocol(configurable backoff and telemetry),threadDetailState,vcsStatusState,vcsRefState,vcsActionState,terminalSessionState,checkpointDiffState,composerPathSearchState, andarchivedThreadsState.DEFAULT_TERMINAL_IDchanges from"default"to"term-1"andterminalIdis now required on allTerminalSessionInput; any clients using the old default or omitting the field will break.Macroscope summarized 554a1d2.