feat(ios): add experimental SwiftUI client - #5178
Conversation
|
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: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Your free Security trial is over. An organization admin can upgrade to Advanced for continuous pull request security review or dismiss this notice. Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a complete SwiftUI iOS product surface with extensive networking, persistence, extensions, background behavior, product defaults, and Clerk/DPoP/Keychain authentication. Its size and security-sensitive runtime scope require human review before merge. Not approved because:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
Mobile interaction polishThis pass replaces the generic home-row sparkle with the resolved harness mark, keeps the latest transcript content visible when the software keyboard changes the viewport, makes keyboard dismissal immediate, constrains long thread headers, and reduces mobile prompt controls to model + reasoning in the composer and Automatic / Full access in the thread menu.
Verification:
Commits: |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
There are 48 total unresolved issues (including 47 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 854c822. Configure here.
| config.issuerId, | ||
| ], | ||
| { stdio: "inherit" }, | ||
| ); |
There was a problem hiding this comment.
Upload omits required export path
High Severity
xcodebuild -exportArchive is invoked without -exportPath. That flag is required together with -archivePath and -exportOptionsPlist, including when export options use destination=upload. The upload command fails at launch, so the documented API-key TestFlight path cannot ship a build.
Reviewed by Cursor Bugbot for commit 854c822. Configure here.
…7501) Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Theo Browne <me@t3.gg>
…cker (#8621) Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Theo Browne <me@t3.gg>






T3 Code's shipped mobile client is React Native. This experiment adds a standalone native SwiftUI client so the team can try its feel, performance, and connection workflows without replacing any existing surface.
The app lives entirely in
apps/swift-ios, speaks the existing server contracts directly, and installs side by side as T3 Code (SwiftUI) with bundle IDcom.t3tools.t3code.swiftui.Try it
apps/swift-ios/T3Code.xcodeprojin Xcode.T3Codescheme and an iOS 17+ simulator or device.See
apps/swift-ios/README.mdfor architecture, included functionality, and known gaps.What to test
Preview
Verification
245 native simulator tests passed, 0 failed, 1 skipped
Repeated A to B to C to A long-thread navigation verified against an isolated real-data snapshot
Latest build compiled, installed, and launched on an iPhone 17 Pro simulator
Signed latest build installed on Big O and DevPhone15; automatic launch deferred because both devices were locked
Remove
DO NOT MERGEonly after explicit maintainer approvalThis PR was built by GPT-5.6-sol using the Codex harness in T3 Code.
Note
High Risk
Introduces a second mobile surface plus security-sensitive T3 Connect auth (Clerk, DPoP, relay tokens); contract or auth bugs would not be covered by React Native testing alone.
Overview
Adds a standalone native SwiftUI iOS app under
apps/swift-iosthat talks to T3 servers on its own (alongside the existing React Native app inapps/mobile), with separate bundle IDs and dev identities so both can install side by side.The diff includes a full T3 Connect stack for SwiftUI—Clerk session handling, relay HTTP client, DPoP signing/keychain identity, and managed-environment token exchange/WebSocket ticket prep—wired through
T3ConnectControllerand related cloud modules.Contributor and agent docs now treat mobile as two clients: skills (
test-t3-mobile,ios-debugger-agent,test-t3-app) andAGENTS.mdspell out when to build React Native vs SwiftUI and warn against using one client to verify the other.CI adds
.github/workflows/swift-ios.ymlto check generated Swift wire fixtures from contracts and run native tests viaapps/swift-ios/Scripts/ci-test.shon macOS runners.Reviewed by Cursor Bugbot for commit b994054. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add experimental SwiftUI iOS client with chat, widgets, share extension, and platform integrations
apps/swift-ios/) with aNativeFeatureClient-backedFeatureRootModel, root view, and entry point in T3CodeApp.swiftinstall-device.shscript has a known bug in device-ID resolution that prevents it from reaching build/install/launch stepsMacroscope summarized d241033.