fix(server): follow placeholder branches after checkout updates - #10441
Conversation
- Update the thread branch and refresh pull requests when a saved placeholder branch becomes real - Preserve shared-worktree safety for unrelated branch drift
ApprovabilityVerdict: Would Approve Macroscope's review found this PR approvable — This is a narrowly scoped server bug fix that follows real branches after placeholder checkout updates while preserving detached-checkout and shared-worktree protections. Regression tests cover branch adoption, pull-request refresh, and the safety cases. Not approved because:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
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 * fix(web): show load balancing note for a single machine by @maria-rcks in pingdotgg/t3code#10433 * fix(server): follow placeholder branches after checkout updates by @Yash-Singh1 in pingdotgg/t3code#10441 * fix(mobile): expand single-line tool details in work logs by @Yash-Singh1 in pingdotgg/t3code#10442 * fix(server): import transcripts with oversized tool records by @Yash-Singh1 in pingdotgg/t3code#10430 * fix(marketing): deploy site with nightly releases by @t3dotgg in pingdotgg/t3code#10443 * fix(web): preserve multiline composer drafts during timeline scrolling by @Yash-Singh1 in pingdotgg/t3code#10444 * fix(server): handle JSON-wrapped titles and verbose Claude output by @Noojuno in pingdotgg/t3code#10446 * fix(marketing): restore continuous endorsement scrolling by @t3dotgg in pingdotgg/t3code#10450 * Revert "fix(marketing): restore continuous endorsement scrolling" by @t3dotgg in pingdotgg/t3code#10454 * fix(marketing): bring back the endorsement marquee by @t3dotgg in pingdotgg/t3code#10455 * chore: enable CodeRabbit automatic reviews by @t3dotgg in pingdotgg/t3code#10457 * fix(codex): keep Spark limits from replacing the main allowance by @Yash-Singh1 in pingdotgg/t3code#10458 * fix(marketing): send 95 nightly downloads to the downloads page by @t3dotgg in pingdotgg/t3code#10460 * fix(web): composer regains focus when you tab back into T3 Code by @t3dotgg in pingdotgg/t3code#10463 * fix(web): keep sidebar drag dividers clear and gestures smooth by @juliusmarminge in pingdotgg/t3code#10453 * fix(server): mark Cursor transport error answers as failed by @shivamhwp in pingdotgg/t3code#10337 * fix(web): clear stuck panel resize cursor by @t3dotgg in pingdotgg/t3code#10461 * fix(web): clarify sidebar drag dividers and empty targets by @juliusmarminge in pingdotgg/t3code#10464 * fix(web): make onboarding a shared multi-computer wizard by @juliusmarminge in pingdotgg/t3code#10465 * fix(shared): redeem reset credits through the hub when it holds the account by @juliusmarminge in pingdotgg/t3code#10462 **Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260907.1325...v0.0.39-nightly.20260907.1332 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260907.1332
If you run out of usage for your branch generation model, the placeholder branch can stay for longer.
What Changed
Why
Threads can retain a temporary placeholder branch name after automatic branch naming completes. When checkout updates the worktree, the checkpoint reactor should adopt the real branch and refresh its pull request, while avoiding adoption when the worktree is shared.
Checklist