Skip to content

fix(server): T3 Connect clients are named "T3 Connect", not "T3 Connect connect" - #27887

Open
juliusmarminge wants to merge 2 commits into
mainfrom
fix/issue-27881
Open

juliusmarminge wants to merge 2 commits into
mainfrom
fix/issue-27881

Conversation

@juliusmarminge

Copy link
Copy Markdown
Member

Problem

Every client that connects through T3 Connect appears in Settings → Sharing & access → Authorized clients (and in t3 auth pairing list) as "T3 Connect connect". The cloud mint path hardcodes that label. It was "T3 Cloud connect" until the T3 Cloud → T3 Connect rebrand (22f9f30), whose find/replace doubled the word.

Reproduced on main (cb9629e): a server started in an isolated home, sent a signed request to the real POST /api/t3-connect/mint-credential route, lists the issued pairing link as (T3 Connect connect).

Change

CloudLink.mintCredential now passes label: "T3 Connect" to createPairingLink. The subject, scopes, TTL and proof binding are unchanged, and nothing reads the label for access decisions. Labels stored before this change keep their old text until those sessions expire. A new connect creates a session with the new label.

Scope and approval

Fixes #27881

This PR only fixes the doubled word. Telling apart several sessions with identical device metadata, which the issue also mentions, is not changed here.

Verification

  • vp test run apps/server/src/cloud/CloudLink.test.ts: 7/7 pass. The new test names T3 Connect sessions "T3 Connect" in authorized clients calls the real mintCredential with an Ed25519-signed mint proof. On main it fails with expected [ 'T3 Connect connect' ] to deeply equal [ 'T3 Connect' ].
  • vp run check:changed: format, lint, knip, graphql, typecheck (3 packages) and tests (3 files) pass.
  • Runtime transcript. Each side ran its own server (t3 serve --base-dir <fresh isolated home>, empty database). A throwaway mint key, cloud user id and issuer were written to that home's secrets (synthetic values). The driver sent one signed mint request, then ran t3 auth pairing list:
Before (cb9629e) After (13c5e96)
POST /api/t3-connect/mint-credential -> HTTP 200 POST /api/t3-connect/mint-credential -> HTTP 200
b0b471be-… (T3 Connect connect) 8b0fbfe5-… (T3 Connect)

Not checked:

  • Before/after captures of the Authorized clients pending-link and client rows in the web/desktop Settings page. Both rows render the label verbatim (AuthorizedClientsSettings.tsx), but the captures and the driver script could not be uploaded from the triage machine, so none are attached here.
  • A live T3 Connect relay session (no relay account on the triage machine). Mobile has no view that shows these labels.

Model and harness: Claude Opus 5.5 (lead, red test, fix, review B) and GPT-6.1 Sol (review A, proof audit) in T3 Code.

🤖 Generated with Claude Code

juliusmarminge and others added 2 commits October 30, 2026 22:43
…abel

A credential minted for T3 Connect should show as "T3 Connect" in
Settings > Sharing & access > Authorized clients. This test signs a
valid cloud mint proof, calls CloudLink.mintCredential, and records the
label passed to EnvironmentAuth.createPairingLink. It fails on main,
which passes "T3 Connect connect".

Reproduces #27881.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Settings > Sharing & access > Authorized clients listed T3 Connect
sessions as "T3 Connect connect". The cloud mint path hardcoded that
label, a leftover of the T3 Cloud -> T3 Connect rename turning
"T3 Cloud connect" into a doubled word. New sessions now get the label
"T3 Connect". Labels already stored are left as they are.

Fixes #27881

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Oct 30, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — New T3 Connect clients will be named "T3 Connect" rather than "T3 Connect connect", with authentication behavior unchanged. Human confirmation is required for the change to the automatically assigned client name.

You can add or adjust custom eligibility rules. Learn more.

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 21.6 KiB 21.6 KiB 0 B (0.0%) 24.4 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.1 KiB 5.0 KiB −6 B (−0.1%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.3 KiB 1.3 KiB −6 B (−0.5%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.9 KiB 21.9 KiB 0 B (0.0%) 24.4 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: cb9629e · PR result: 13c5e96 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@juliusmarminge juliusmarminge added the bugfix Fix PR opened by an issue lead; enters the PR loop label Oct 30, 2026
@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between cb9629e and 13c5e96.

Files selected for processing: 2
  • apps/server/src/cloud/CloudLink.test.ts
  • apps/server/src/cloud/CloudLink.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

Walkthrough

The cloud credential mint path now labels pairing links “T3 Connect” instead of “T3 Connect connect.” A test signs a mint request and checks the label passed to pairing-link creation.

Changes: Pairing-link label

Layer / File(s) Summary
Mint label and verification
apps/server/src/cloud/CloudLink.ts, apps/server/src/cloud/CloudLink.test.ts
The mint path uses the label “T3 Connect.” The test harness captures pairing-link labels, and a signed mint-request test checks the captured value.

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix · Severity of issue fixed: Low

Possibly related PRs

  • pingdotgg/t3code#27197: Both changes affect CloudLink.mintCredential; this PR changes the label used when creating a pairing link.

Suggested reviewers: t3dotgg, macroscopeapp

Merge Risk: Minimal · up to 13c5e

New T3 Connect sessions receive the corrected label. No merge-blocking risk was identified.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Linked Issues check Warning Issue [#27881] requires replacing the repeated label and providing a distinguishing detail when multiple sessions have identical metadata. CloudLink.mintCredential changes the label to `"T3 Connect"… Implement and test a stable distinguishing detail for sessions that share the same visible metadata. Keep the corrected "T3 Connect" label as the base name if appropriate.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: correcting the T3 Connect client label from "T3 Connect connect" to "T3 Connect".
Description check Passed The description includes all required sections, explains the problem and fix, documents scope and linked issue, reports focused verification results, and identifies checks that were not performed.
Out of Scope Changes check Passed The changes are limited to the cloud mint label and focused automated test support. The label correction and test directly implement the naming objective in issue [#27881]. No unrelated product behavi…
Full details: Out of Scope Changes check

Explanation

The changes are limited to the cloud mint label and focused automated test support. The label correction and test directly implement the naming objective in issue [#27881]. No unrelated product behavior is changed.

Full details: Linked Issues check

Explanation

Issue [#27881] requires replacing the repeated label and providing a distinguishing detail when multiple sessions have identical metadata. CloudLink.mintCredential changes the label to "T3 Connect", and the added test verifies that label. The implementation does not add a per-session or per-device distinguishing detail, so identical sessions can still have identical names.

Resolution

Implement and test a stable distinguishing detail for sessions that share the same visible metadata. Keep the corrected "T3 Connect" label as the base name if appropriate.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@juliusmarminge juliusmarminge added the pr:gate-failed A land gate failed label Oct 30, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Fix PR opened by an issue lead; enters the PR loop pr:gate-failed A land gate failed size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

T3 Connect authorized clients use the repeated label “T3 Connect connect”

1 participant