Skip to content

T3 Code Mobile [WIP]#2013

Open
juliusmarminge wants to merge 49 commits intomainfrom
t3code/mobile-remote-connect
Open

T3 Code Mobile [WIP]#2013
juliusmarminge wants to merge 49 commits intomainfrom
t3code/mobile-remote-connect

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented Apr 14, 2026

⚠️ WARNING :: VERY EARLY

Summary

  • Add a new Expo-based mobile client with remote connection setup, thread browsing, new-thread flows, composer UI, and git action sheets.
  • Move shared remote/runtime, git, thread-detail, and WebSocket state into packages/client-runtime and packages/shared so web and mobile can share the same behavior.
  • Refactor desktop startup and readiness handling to rely on HTTP session readiness, simplify window bootstrap, and remove the old listening-detector path.
  • Rework web connection, composer, sidebar, and git action flows to use the new shared runtime and state management.

Testing

  • Not run (PR content only).

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/mobile Expo app scaffold with variant-based app.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) and t3-terminal (podspec plus vendored GhosttyKit.xcframework and licensing docs).

Tightens tooling/CI around mobile native code by adding a macOS mobile_native_static_analysis job that installs swiftlint/ktlint/detekt from apps/mobile/Brewfile and runs scripts/mobile-native-static-check.ts, plus updates AGENTS.md and oxfmt/oxlint ignore patterns (and disables unicorn/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

  • Introduces apps/mobile as 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.
  • Adds packages/client-runtime modules 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.
  • Extends server-side terminal manager with attachStream and subscribeMetadata APIs, dynamic child process label resolution, event sequence numbers, and a new ReviewService exposing getDiffPreview via the WebSocket RPC layer.
  • Moves shared logic (composer trigger detection, terminal labels, pairing URL helpers, reconnect backoff, transport error classification) into packages/shared and packages/client-runtime and migrates web app imports accordingly.
  • Web app terminal and VCS state is migrated from git-specific stores to renamed terminalUiStateStore/vcsStatusState abstractions backed by the new client-runtime managers; TerminalEvent subscriptions are replaced with terminal.attach and terminal.onMetadata.
  • Risk: DEFAULT_TERMINAL_ID changes from "default" to "term-1" and TerminalSessionInput now requires terminalId to be explicitly provided — existing persisted state and integrations relying on the old default will need migration.

Macroscope summarized 168ec8a.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants