Skip to content

feat: merge 262 upstream T3 Code commits and fix closing an empty tab - #5

Merged
KLI31 merged 266 commits into
mainfrom
merge-upstream-2
Nov 11, 2026
Merged

KLI31 merged 266 commits into
mainfrom
merge-upstream-2

Conversation

@KLI31

@KLI31 KLI31 commented Nov 11, 2026

Copy link
Copy Markdown
Owner

The fork was 262 commits behind upstream T3 Code. This brings it up to date (upstream through pingdotgg#34227) while keeping every Xen Code feature, and fixes a stuck tab.

Upstream highlights

  • Approve agent sign-ins with T3 Connect instead of a code.
  • A Stop button that shows Stopping/Stopped.
  • Screen readers hear the agent's messages and steps during a turn.
  • OpenCode 2 sessions after an in-place upgrade from 1.x, plus native jobs, todos and goals.
  • GitLab merge request reverts and Summary/Timeline threads.
  • Long threads open from their latest segments instead of their whole history.
  • About 220 fixes across server, web, mobile and desktop.

Conflicts (13)

  • Branding strings: upstream's new text, with "Xen Code" in place of "T3 Code".
  • New thread shortcut: the fork's narrowed-project start, plus upstream's last-used project.
  • Composer: the fork's Refine / Implement / "Implement in a new thread" buttons alongside upstream's new Stop button.
  • SSH launch script: upstream's platform detection, keeping the fork's ~/.xen home.
  • Linux launcher: upstream's StartupWMClass fix, using the fork's ID io.github.kli31.XenCode.
  • ChatMarkdown.tsx, ProviderRegistry.test.ts, Sidebar.browser.test.tsx: kept both sides.

Fork code adapted to upstream API changes

  • Git History opens a commit without keepOnOpen, which upstream removed now that diff selection persists.
  • File tabs read the available editors per environment.
  • Upstream's new tests get the fork's plan-mode and history props, the ~/.xen home, and a selector scoped past the fork's project chips.

Fix: closing an empty New thread tab

Closing the active tab picked its right neighbour from every stored key, including tabs of threads or drafts that no longer exist and do not render. The app navigated to a gone thread and the empty draft seemed impossible to close. Closing now picks among shown tabs, and a draft tab returns to the previous tab. WorkspaceTabs.browser.test.tsx covers both cases and fails without the fix.

Verification

  • Typecheck passes in all 41 packages; format, lint and knip pass.
  • vp run check:changed: 3299 of 3305 tests passed before the follow-up fixes; 3 of the 6 failures were fixed. The other 3 also fail on plain upstream/main on the same machine: two depend on the Spanish system locale (Git messages and the 12-hour time format), and one OpenCode driver test.

Generated with Claude Code (Opus 5.5 and Fable 5.2).

🤖 Generated with Claude Code

juliusmarminge and others added 30 commits November 9, 2026 17:52
…s that build (pingdotgg#33617)

Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…w at rest (pingdotgg#33599)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#13809)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…bar changes (pingdotgg#33611)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rashpad pipe (pingdotgg#26374)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#33618)

Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…tgg#26630)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…ab (pingdotgg#23589)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Add a Details action for pending background commands and subagents. Preserve Claude command metadata across roster updates and bind output visibility to the explicit command item. Keep internal task IDs, duplicate command labels, and empty output headings out of the dialog.

Validation: check:changed passed with 371 tests; CI and agentic reviews completed on a0326ab. Verified command details in real Codex and Claude runs.

Implemented and verified with GPT 6.1 Sol in the Codex harness.
…anup (pingdotgg#33664)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#33663)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#33674)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#24599)

Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#28221)

Held assistant paragraphs now appear after 800 ms without new text while the turn remains open. Idle writes preserve ingestion order, routing and finalization. Includes lean edge-case coverage and regressions for finalized-root reopening and early timer wakes.

Verified with focused tests, check:changed, real web and compiled macOS captures, independent Codex review, and a fresh Claude Opus 5.5 READY review. Natural Antigravity hangs remain unverified.

Implemented with Claude Opus 5.5 through Claude Code; investigated and verified with GPT-6.1-Sol through Codex in T3 Code.
…33730)

Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…al (pingdotgg#33535)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…uest times out (pingdotgg#27677)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
juliusmarminge and others added 29 commits November 11, 2026 04:48
…ock (pingdotgg#23001)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ar file (pingdotgg#26594)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ds the inspection limit (pingdotgg#26593)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…eckpoints (pingdotgg#27425)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

Co-authored-by: Sinan Turna <189102964+Sinan53x@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#10495)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…gdotgg#14170)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…at t3_thread_list takes allProjects (pingdotgg#26525)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#34417)

Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…g#15255)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#19573)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ll other git work (pingdotgg#26601)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#10895)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…inks off (pingdotgg#21641)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…g#34218)

Co-authored-by: Vladislav Nikonorov <vladislav@nikonorov.dev>
# Conflicts:
#	apps/mobile/src/features/settings/VoiceModelSection.tsx
#	apps/server/src/provider/ProviderRegistry.test.ts
#	apps/web/src/components/ChatMarkdown.tsx
#	apps/web/src/components/ServerUpdateAction.tsx
#	apps/web/src/components/Sidebar.browser.test.tsx
#	apps/web/src/components/auth/ConnectAgentSurface.tsx
#	apps/web/src/components/chat/ComposerPrimaryActions.tsx
#	apps/web/src/components/mcp/mcpApps.ts
#	apps/web/src/components/settings/DatabaseStorageNotice.tsx
#	apps/web/src/shortcuts/chatRouteCommands.test.ts
#	apps/web/src/shortcuts/chatRouteCommands.ts
#	packages/ssh/src/tunnel.ts
#	scripts/build-desktop-artifact.ts
Git History opens a commit without keepOnOpen, which upstream removed now
that diff selection persists. File tabs read editors per environment, and
upstream tests get the fork's plan-mode and history props.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…chips

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closing the active tab picked its right neighbor from every stored key,
including tabs of threads or drafts that are gone and no longer render,
so the app navigated nowhere useful and the draft seemed stuck. Closing
now picks among shown tabs, and a draft tab goes back to the previous one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KLI31
KLI31 merged commit 9499837 into main Nov 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.