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: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 59f4eca. Configure here.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR introduces a new feature enabling external deep links to open threads in the desktop app. It adds new routing components, URL parsing, state management for pending URLs, and window lifecycle integration. New user-facing capabilities with this level of new logic warrant human review. You can add or adjust custom eligibility rules. Learn more. |
|
Note 🤖 GPT-5.6 Sol responding on behalf of Theo We're closing this PR as we clean up the T3 Code backlog. Thank you for taking the time to put this together. We are keeping OPEN #8246 as the complete review path for desktop thread deep links. The focused lifecycle and routing tests here remain useful reference. If you believe we closed this in error, please reopen the PR and leave a comment explaining what we missed. |

What Changed
t3code://app/#/<environmentId>/<threadId>deep-link format (andt3code-devin development).open-urlevents through the same handler.Why
External tools can now target the exact T3 Code conversation a user needs—for example external device control, an issue notification, or an email link—without relying on browser window behavior. The URL carries only environment and thread IDs; the desktop app still requires that environment to already be configured and authenticated.
Verification
vp test run --config apps/desktop/vite.config.ts …— 38 focused tests passed.vp run --filter @t3tools/desktop build— passed.tsgo --noEmitinapps/desktop— passed (two pre-existing suggestions only).Checklist
Built with GPT-5.6-terra in T3 Code.
Note
Medium Risk
Touches Electron startup ordering, multi-instance handling, and main-window load/navigation paths; links carry only IDs and do not bypass auth, but incorrect routing could strand or mis-navigate windows at cold start.
Overview
External tools can open a specific T3 Code thread in the desktop app via
t3code://app/#/<environmentId>/<threadId>(t3code-dev://in dev). NewDesktopDeepLinkhelpers build and strictly parse that route; unrelated custom-scheme URLs (e.g. Clerk callbacks) are rejected.DesktopDeepLinkRouterwires the same path forprocess.argv, Electronsecond-instance, and buffered macOSopen-urlevents (makeEarlyOpenUrlBufferonDesktopPreReadyPlatform, with pre-ready layer ordering adjusted inmain.ts).DesktopLifecycleconfigures the router at register time.DesktopWindow.openThreadnavigates an existing window or defers until the backend is ready, serializes main-window creation, coalesces concurrent cold-start links to the latest thread, and tracks per-window URLs for same-origin navigation. User docs:docs/user/desktop-links.md.Reviewed by Cursor Bugbot for commit 45c4b25. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add deep link support to open threads from external URLs in the desktop app
t3code://app/#/<environmentId>/<threadId>as the deep link scheme for navigating to threads from external tools, with a separatet3code-devscheme for development.DesktopDeepLinkRouterto handle links fromprocess.argvat startup, Electronsecond-instanceevents, and macOSopen-urlevents.open-urlevents that fire before Electron is ready, replaying them once a handler is registered.DesktopWindowwithopenThread, which handles cold-start navigation to a thread URL, serializes concurrent window creation, and retries on development load failure.Macroscope summarized 45c4b25.