Repository navigation
fix(desktop): sign-in and captchas work again in desktop browser tabs - #16939
Conversation
…owser tabs
When the server drives a desktop tab through the CDP relay, Playwright
auto-attaches with waitForDebuggerOnStart, so Chromium pauses each new
cross-site iframe and worker until it receives Runtime.runIfWaitingForDebugger.
The relay answered that command itself for every session, so those frames
never ran. Google sign-in, captchas and Turnstile run in such frames and
failed ("JavaScript is turned off"). The relay now answers it only for the
page, which is already running, and forwards it to child sessions.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The change is a focused CDP relay fix with a targeted regression test, forwarding debugger-resume commands only for paused child frames while preserving the existing page-session behavior. It directly changes authentication-related browser flows, so human review is required. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review. 📝 WalkthroughWalkthroughThe relay now ignores ChangesCDP relay command forwarding
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change is ready to merge; no concrete current-head risk remains. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 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.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
## What's Changed * feat(models): add Claude Haiku 5.5 and retire Sonnet 5 and Opus 5 to legacy by @juliusmarminge in pingdotgg/t3code#16903 * fix(web): iPhone Duo folds animate, center on the hinge, and keep the phone's orientation by @gabrielelpidio in pingdotgg/t3code#16885 * fix(server): Claude 5-series models always run 1M context by @juliusmarminge in pingdotgg/t3code#16908 * fix(desktop): setup prompts name a t3 that runs on desktop installs by @juliusmarminge in pingdotgg/t3code#16676 * feat(desktop): install the t3 command from Settings by @juliusmarminge in pingdotgg/t3code#16683 * fix(web): show live names in thread-read activity by @Bil0000 in pingdotgg/t3code#13140 * feat(mobile): adopt v5 navigation and native iPad columns by @juliusmarminge in pingdotgg/t3code#16733 * fix(mobile): Android composer picker scrolls past the first four rows by @shivamhwp in pingdotgg/t3code#15856 * fix(desktop): sign-in and captchas work again in desktop browser tabs by @juliusmarminge in pingdotgg/t3code#16939 * fix(server): missing project folders no longer log favicon warnings by @yordis in pingdotgg/t3code#16757 * fix(server): unload Codex threads left idle on the shared app-server by @RhysSullivan in pingdotgg/t3code#16917 * fix(web): fast typing no longer scrambles text when type-to-focus kicks in by @otavio in pingdotgg/t3code#14595 * fix(web): simplify workspace card rows by @Bil0000 in pingdotgg/t3code#16823 * fix(web): Copy MCP URL shows up for environments reached over plain http by @SunkenInTime in pingdotgg/t3code#16909 * fix(web): C#, Java, PHP and 11 other languages get file icons by @juliusmarminge in pingdotgg/t3code#16974 * feat(clients): live row shows the agent's latest thought by @t3dotgg in pingdotgg/t3code#16284 * feat(web): block-level Markdown in the rich text composer by @chrisdeeming in pingdotgg/t3code#14677 * fix(web): center project monograms in settled rows by @Aforno in pingdotgg/t3code#16841 * fix(web): cancelling a new citation no longer leaves a stray space by @Aforno in pingdotgg/t3code#16828 * fix(settings): provider updates show live progress instead of a bare spinner by @shivamhwp in pingdotgg/t3code#16958 * feat(web): find in diffs with Cmd+F by @juliusmarminge in pingdotgg/t3code#14623 * refactor(server): GitHub services are named for the API they call, not gh by @juliusmarminge in pingdotgg/t3code#16967 * refactor(server): GitHub GraphQL batches use variables and share one pager by @juliusmarminge in pingdotgg/t3code#16960 * refactor(server): GitHub source control reads GitHubApi directly by @juliusmarminge in pingdotgg/t3code#16982 * refactor(server): GitHub rate limits read the response headers by @juliusmarminge in pingdotgg/t3code#16986 ## New Contributors * @RhysSullivan made their first contribution in pingdotgg/t3code#16917 * @Aforno made their first contribution in pingdotgg/t3code#16841 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261007.2787...v0.0.46-nightly.20261008.2801 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261008.2801
## What's Changed * feat(models): add Claude Haiku 5.5 and retire Sonnet 5 and Opus 5 to legacy by @juliusmarminge in pingdotgg/t3code#16903 * fix(web): iPhone Duo folds animate, center on the hinge, and keep the phone's orientation by @gabrielelpidio in pingdotgg/t3code#16885 * fix(server): Claude 5-series models always run 1M context by @juliusmarminge in pingdotgg/t3code#16908 * fix(desktop): setup prompts name a t3 that runs on desktop installs by @juliusmarminge in pingdotgg/t3code#16676 * feat(desktop): install the t3 command from Settings by @juliusmarminge in pingdotgg/t3code#16683 * fix(web): show live names in thread-read activity by @Bil0000 in pingdotgg/t3code#13140 * feat(mobile): adopt v5 navigation and native iPad columns by @juliusmarminge in pingdotgg/t3code#16733 * fix(mobile): Android composer picker scrolls past the first four rows by @shivamhwp in pingdotgg/t3code#15856 * fix(desktop): sign-in and captchas work again in desktop browser tabs by @juliusmarminge in pingdotgg/t3code#16939 * fix(server): missing project folders no longer log favicon warnings by @yordis in pingdotgg/t3code#16757 * fix(server): unload Codex threads left idle on the shared app-server by @RhysSullivan in pingdotgg/t3code#16917 * fix(web): fast typing no longer scrambles text when type-to-focus kicks in by @otavio in pingdotgg/t3code#14595 * fix(web): simplify workspace card rows by @Bil0000 in pingdotgg/t3code#16823 * fix(web): Copy MCP URL shows up for environments reached over plain http by @SunkenInTime in pingdotgg/t3code#16909 * fix(web): C#, Java, PHP and 11 other languages get file icons by @juliusmarminge in pingdotgg/t3code#16974 * feat(clients): live row shows the agent's latest thought by @t3dotgg in pingdotgg/t3code#16284 * feat(web): block-level Markdown in the rich text composer by @chrisdeeming in pingdotgg/t3code#14677 * fix(web): center project monograms in settled rows by @Aforno in pingdotgg/t3code#16841 * fix(web): cancelling a new citation no longer leaves a stray space by @Aforno in pingdotgg/t3code#16828 * fix(settings): provider updates show live progress instead of a bare spinner by @shivamhwp in pingdotgg/t3code#16958 * feat(web): find in diffs with Cmd+F by @juliusmarminge in pingdotgg/t3code#14623 * refactor(server): GitHub services are named for the API they call, not gh by @juliusmarminge in pingdotgg/t3code#16967 * refactor(server): GitHub GraphQL batches use variables and share one pager by @juliusmarminge in pingdotgg/t3code#16960 * refactor(server): GitHub source control reads GitHubApi directly by @juliusmarminge in pingdotgg/t3code#16982 * refactor(server): GitHub rate limits read the response headers by @juliusmarminge in pingdotgg/t3code#16986 ## New Contributors * @RhysSullivan made their first contribution in pingdotgg/t3code#16917 * @Aforno made their first contribution in pingdotgg/t3code#16841 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261007.2787...v0.0.46-nightly.20261008.2801 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261008.2801
Since #15328, signing in to Google (and passing captchas or Cloudflare Turnstile) fails in desktop browser tabs: Google shows "Couldn't sign you in — the browser you're using doesn't support JavaScript, or has JavaScript turned off."
Cause. When the server drives a desktop tab through the CDP relay, Playwright auto-attaches with
waitForDebuggerOnStart, so Chromium pauses every new cross-site iframe and worker until it receivesRuntime.runIfWaitingForDebugger. The relay answered that command itself for every session, including child sessions, so those frames stayed paused forever. Sign-in checks and captchas run in exactly such frames.Fix. The relay still answers
Runtime.runIfWaitingForDebuggerfor the page's own session (the page is already running) and now forwards it to child sessions, so their frames start.Verified
waitForDebuggerOnStartauto-attach never loads when the resume is swallowed, and loads when it is forwarded.Made with Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code