Skip to content

T3 Code Mobile [WIP]#2013

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

T3 Code Mobile [WIP]#2013
juliusmarminge wants to merge 13 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
Adds a new Expo React Native app plus an iOS native module with a vendored GhosttyKit.xcframework, which can significantly impact repo size, build times, and mobile build reliability.

Overview
Introduces a new apps/mobile Expo app scaffold with global styling (tailwindcss/uniwind), Metro/Babel config, EAS build profiles, and a variant-aware app.config.ts (dev/preview/prod names, schemes, bundle IDs, icons).

Adds a local native terminal module (apps/mobile/modules/t3-terminal) including CocoaPods spec and third-party notices, and vendors GhosttyKit.xcframework for iOS terminal rendering.

Updates repo tooling config to ignore generated mobile types (apps/mobile/uniwind-types.d.ts) and disables oxlint's unicorn/no-array-sort rule.

Reviewed by Cursor Bugbot for commit cace578. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add mobile app with terminal, review, and git support backed by shared client-runtime

  • Introduces a new apps/mobile Expo React Native app with routing, theming, and connection management for remote T3 environments, including QR-code pairing and persistent saved connections.
  • Adds a native iOS and Android terminal surface using a vendored GhosttyKit (libghostty) with fallback JS rendering, keyboard input capture, and resize/input event dispatch to JS.
  • Adds a packages/client-runtime shared library exposing transport, WebSocket RPC, shell snapshot, thread detail, git status/action/branch, terminal session, and environment connection managers backed by Effect reactive atoms.
  • Extracts composer trigger detection, remote pairing utilities, and orchestration timing helpers into packages/shared for use by both web and mobile.
  • Wires new terminal attach and metadata streaming RPCs (terminal.attach, subscribeTerminalMetadata) and git.getReviewDiffs through contracts, server WebSocket layer, and client; replaces the old onEvent/terminalStateStore with session-based streaming and a new terminalUiStateStore.
  • Adds syntax-highlighted diff review screens on mobile using Shiki with inline word-diff emphasis, a review comment composer sheet, and per-thread diff state atoms.
  • Risk: the PR is marked WIP; many mobile screens and native modules are incomplete or partially implemented, and the lockfile reflects large dependency additions including the full Expo/React Native ecosystem.

Macroscope summarized 1985d2c.

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.

1 participant