Skip to content

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

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

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

Conversation

@omegent-app

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

Copy link
Copy Markdown

Managed integration overlay

Role Value
Base fork/changes
Head t3-discord/f7d37879-desktop-deeplinks
Composition First overlay
Deployment scope Desktop application

This PR intentionally remains open and draft. Do not merge it. Update the overlay directly, or
start a reviewable child PR with:

pnpm fork:stack overlay-start 10 <branch>

The stack workflow rebases this one-commit overlay and composes it into fork/integration.

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 4 times, most recently from 978d13b to fa92d56 Compare July 25, 2026 18:36
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 4 times, most recently from e089ef5 to 2c35416 Compare July 26, 2026 07:04
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 9 times, most recently from f534088 to a83ee28 Compare July 26, 2026 19:20
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from a83ee28 to 5fb98dd Compare July 26, 2026 19:28
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 5 times, most recently from 37bbce7 to 0761e1b Compare July 27, 2026 07:10
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from ad4739c to 9a67f1d Compare July 27, 2026 10:57
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch from 9a67f1d to 885c7a2 Compare July 27, 2026 11:56
@patroza
patroza force-pushed the t3-discord/f7d37879-desktop-deeplinks branch 2 times, most recently from 28790da to e8a0c2e Compare July 27, 2026 13:13
omegent-app Bot and others added 4 commits July 27, 2026 17:51
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 e8a0c2e to 74c6b5b Compare July 27, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OVERLAY Long-lived draft overlay composed into fork/integration; do not merge directly.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant