feat(mobile): Add terminal powered by libghostty#2056
feat(mobile): Add terminal powered by libghostty#2056juliusmarminge merged 5 commits intot3code/mobile-remote-connectfrom
Conversation
- Add thread terminal route and bootstrap - Update mobile terminal native wiring and session state - Prune Ghostty XCFramework macOS headers for iOS build
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: Needs human review 1 blocking correctness issue found. Diff is too large for automated approval analysis. A human reviewer should evaluate this PR. You can customize Macroscope's approvability policy. Learn more. |
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 95ffb0f. Configure here.
- Resolve thread worktree context from thread detail before shell state - Share cwd/worktree resolution across git actions, sheets, and terminal launch - Add tests for terminal launch context helpers
- Reopen sessions if cwd or worktree changes - Clear prior history on restart
- Preserve complete multibyte characters when capping retained output - Keep closed terminal state isolated through reset and invalidation
608a2c3
into
t3code/mobile-remote-connect
Summary
apps/mobileclient with app variants for development, preview, and production.Testing
bun fmt,bun lint, andbun typecheck.Note
Medium Risk
Medium risk due to adding a large vendored native iOS framework and changing iOS deployment target/build settings, which can impact build size, licensing compliance, and runtime compatibility.
Overview
Introduces a new local Expo module (
apps/mobile/modules/t3-terminal) to provide a native terminal surface with a small JS bridge contract (input + resize events) and iOS implementation backed by a vendoredGhosttyKit.xcframework, alongside Android parity via the shared view name/event payloads.Updates the Expo app config to apply
expo-build-propertiesand set the iOS deployment target to16.1, and adds third-party notice documentation for the vendored Ghostty fork/revision.Reviewed by Cursor Bugbot for commit aa9773b. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add in-app terminal powered by libghostty to the mobile app
T3TerminalViewbacked by libghostty/GhosttyKit) and Android (T3TerminalViewbacked by a ScrollView+EditText) terminal surface views registered as theT3TerminalSurfaceExpo module.ThreadTerminalRouteScreenas a dedicated full-screen terminal route (threads/[environmentId]/[threadId]/terminal) with session bootstrapping, input handling, font-size controls, and multi-terminal switching.createTerminalSessionManagerinclient-runtimeto manage per-session output buffers (capped by UTF-8 byte size), hydrate from snapshots, track known sessions, and invalidate by environment.TerminalClosedEventcontract type and propagatesclosedevents from the server terminal manager through to the web and mobile UIs.ThreadGitControls, allowing users to run scripts or open terminals directly from the git toolbar.useSelectedThreadWorktreehook.libghostty-fat.afor device and simulator) and raises iOS minimum deployment target to 16.1.Macroscope summarized aa9773b.