T3 Code Mobile [WIP]#2013
Open
juliusmarminge wants to merge 39 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
High Risk
High risk due to introducing substantial new mobile/native iOS code (including a vendored
GhosttyKit.xcframework) and adding new CI/static-analysis steps that can affect build reliability.Overview
Adds an initial Expo-based mobile app under
apps/mobile, including variant-drivenapp.config.ts, Metro/Uniwind setup (global.css), build configs (eas.json), and mobile-specific repo hygiene files.Introduces native iOS Expo modules for a terminal and a review diff surface (new podspecs and Swift sources), and vendors the Ghostty terminal framework.
Extends CI with a macOS job to install
swiftlint/ktlint/detektfromapps/mobile/Brewfileand runscripts/mobile-native-static-check.ts, and updates formatter/linter ignores and contributor guidance to account for generated mobile types and native linting.Reviewed by Cursor Bugbot for commit fd93d7f. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add React Native mobile app with terminal, git, and review diff support
apps/mobile) with full navigation: home, connections, thread detail, terminal, git controls, and review diff screens.onInput/onResizeevents to JS.attachStreamandsubscribeMetadataAPIs to the server'sTerminalManagerShape, introduces event sequencing, subprocess child-command label inference, and a newTerminalMetadataStreamEvent(snapshot/upsert/remove).DEFAULT_TERMINAL_IDchanges from'default'to'term-1'.terminal.attach,subscribeTerminalMetadata, andreview.getDiffPreview— wired through contracts, server handlers, and client runtime.@t3tools/client-runtimewith state managers for terminal sessions, thread detail, git branches/status/actions, shell snapshots, environment runtime, reconnect backoff, and aBaseWsTransportclass.ReviewServicewithgetDiffPreviewthat produces working-tree and branch-range diffs with SHA-256 hashes and byte-limit truncation; mobile renders diffs via Shiki with word-level inline diff highlighting.terminalStateStoreto a splitterminalUiStateStore(UI layout) +terminalSessionState(server session) model; orphan cleanup, keyboard shortcuts, and sidebar indicators all updated accordingly.terminalIdis no longer defaulted server-side; all callers must provide an explicitterminalId, and any persisted'default'IDs will not match the new'term-1'default.Macroscope summarized fd93d7f.