Skip to content

feat(desktop): open threads via t3code:// deep links#10

Draft
omegent-app[bot] wants to merge 1 commit into
fork/changesfrom
t3-discord/f7d37879-desktop-deeplinks
Draft

feat(desktop): open threads via t3code:// deep links#10
omegent-app[bot] wants to merge 1 commit into
fork/changesfrom
t3-discord/f7d37879-desktop-deeplinks

Conversation

@omegent-app

@omegent-app omegent-app Bot commented Jul 24, 2026

Copy link
Copy Markdown

Summary

Adds desktop deep-link support so external launchers can open a specific thread in T3 desktop without knowing environment UUIDs. The branch has been rebuilt as one feature commit on the latest fork/changes.

Contracts

t3code://open/thread?connection=t3vm&thread=<thread-uuid>
t3code://t3vm?thread=<thread-uuid>
t3code://t3vm.long.host?thread=<thread-uuid>

Environment resolution priority:

  1. the explicitly configured/produced connection value
  2. an exact connection-catalog label
  3. a unique bidirectional short-host ↔ FQDN match

An exact label always beats a fallback. Different FQDNs never match solely because they share their first component, and multiple FQDN fallback candidates remain ambiguous.

  • Navigate to the canonical Electron hash route #/$environmentId/$threadId
  • Support cold start, running-instance second-instance, and macOS open-url delivery
  • Unknown/ambiguous labels reveal the window without changing its route
  • Register t3code as the OS protocol client in packaged builds

Verification

  • vp test run apps/desktop/src/app/DesktopDeepLinks.test.ts apps/desktop/src/app/DesktopClerk.test.ts apps/desktop/src/window/DesktopWindow.test.ts (46 passed)
  • vp run --filter @t3tools/desktop typecheck
  • focused formatting passed

Manual follow-up

  • cold start via both explicit and URL-like forms
  • second-instance switches/focuses the existing window
  • missing or ambiguous environment focuses without route change
  • xdg-open after packaged install

opened by Patrick Roza in chat thread Discord · Prepare Desktop Deeplinks

@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 2 times, most recently from e72c59f to 0952bd9 Compare July 24, 2026 20:58
@omegent-app
omegent-app Bot changed the base branch from main to fork/changes July 24, 2026 20:58
@patroza
patroza force-pushed the fork/changes branch 6 times, most recently from dcf206e to 24e447e Compare July 25, 2026 12:25
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 2 times, most recently from f574a33 to 9d942d4 Compare July 25, 2026 14:55
@patroza
patroza marked this pull request as draft July 25, 2026 15:06
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from 9d942d4 to ee2aec2 Compare July 25, 2026 15:16
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from ee2aec2 to 6bda22a Compare July 25, 2026 15:21
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 2 times, most recently from ed6c143 to be79a3e Compare July 25, 2026 16:15
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from be79a3e to c420e29 Compare July 25, 2026 16:33
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 3 times, most recently from 3f59b0b to 978d13b Compare July 25, 2026 18:28
Allow external launchers to open a connection-scoped thread with
t3code://open/thread?connection=<label>&thread=<id>, resolving the
label through the live connection catalog for cold start and
second-instance delivery.
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from 978d13b to fa92d56 Compare July 25, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants