Skip to content

fix(server): pairing links no longer fail on node versions that cannot bind booleans - #263

Merged
tarik02 merged 1 commit into
mainfrom
fix/pairing-boolean-bind
Oct 8, 2026
Merged

tarik02 merged 1 commit into
mainfrom
fix/pairing-boolean-bind

Conversation

@tarik02

@tarik02 tarik02 commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Problem

Redeeming any stored pairing token (the startup pairing URL, t3 pair, links from Connections settings) returns HTTP 500 (access_token_issuance_failed). The consume query in AuthPairingLinks.ts, changed by upstream #10298, binds a raw JS boolean, and node:sqlite rejects boolean parameters before Node 24.21.0. The fork's Nix runtime ships nodejs 24.20, so Nix-built servers cannot pair. Found while smoke testing the 2026-10-08 actualization.

Change

Bind 1/0 instead of true/false. Backport of pingdotgg/t3code#16730, which is still open upstream; fixes pingdotgg/t3code#16797 for the fork.

Scope and approval

Single-line fix to an obvious upstream bug, identical to the upstream fix PR.

Verification

  • PairingGrantStore.test.ts + EnvironmentAuth.test.ts under Node 24.20.0 (the Nix runtime's node): 6 failures with Provided value cannot be bound to SQLite parameter 5 before, 28/28 pass after.
  • Same tests under Node 24.21.0: 28/28 pass.
  • Reproduced the original failure end to end with nix build .#t3code-headless + t3 serve + t3cli auth pair.

Claude Opus 5.5 via Claude Code in T3 Code.

…t bind booleans

The consume query bound a raw boolean, which node:sqlite rejects before
Node 24.21.0, so every stored pairing token failed with HTTP 500 on the
Nix runtime (nodejs 24.20).

Backport of pingdotgg/t3code#16730 (fixes pingdotgg/t3code#16797).
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS labels Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026

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 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 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.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: b87c121 · PR result: 80126f3 · 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.

@tarik02
tarik02 merged commit 769dee4 into main Oct 8, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 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.

[Bug]: Pairing fails with HTTP 500 since #10298 because the consume query binds a boolean

1 participant