Repository navigation
chore: merge upstream/main into fork (2026-11-11) - #572
Open
adampeterhiggins wants to merge 179 commits into
Open
adampeterhiggins wants to merge 179 commits into
adampeterhiggins wants to merge 179 commits into
Conversation
pingdotgg#33752) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… the sheet (pingdotgg#33223) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Nathan Wong <20381195+thelogicmatrix@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
… instead of running forever (pingdotgg#33008) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…me it in the sign-in hint (pingdotgg#32951) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ot its whole history (pingdotgg#33305) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…status refresh (pingdotgg#32905) Co-authored-by: ferhtgoldaraz <2060086+ferhtgoldaraz@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…of asking to reconnect (pingdotgg#32994) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#32899) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hots for good (pingdotgg#32861) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hread (pingdotgg#33160) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… wakes (pingdotgg#32815) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#32744) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…28353) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…bar's place (pingdotgg#33021) Co-authored-by: dongxingong <8446245+dongxingong@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#27791) 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>
…ngdotgg#33038) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
…pingdotgg#32585) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#33295) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#32587) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…er (pingdotgg#32936) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#32605) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#32576) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tered on (pingdotgg#32425) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ar hasn't loaded (pingdotgg#32507) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#23111) Co-authored-by: Shaun Hawk <shawk@fsmeneregy.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ngdotgg#18187) Co-authored-by: Roger Vilaseca <roger@tres65.es> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#22155) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Alan Justino da Silva <155623+alanjds@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hread title (pingdotgg#25743) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ng the desktop's T3 home (pingdotgg#21661) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gdotgg#22874) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…nterrupted (pingdotgg#21676) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gdotgg#21530) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gs default (pingdotgg#16546) Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: macodev00 <macodev00@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…f calling them invalid (pingdotgg#34205)
…ils the turn (pingdotgg#26743) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…key (pingdotgg#26408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#34326) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
… server (pingdotgg#26763) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#21968) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#24138) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gdotgg#30575) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
… answers (pingdotgg#26992) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#17042) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pingdotgg#27192) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…host returns without this update's outcome (pingdotgg#27275) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # apps/desktop/src/app/DesktopApp.test.ts # apps/desktop/src/ipc/DesktopIpc.ts # apps/mobile/src/features/settings/SettingsScheduledTasksRouteScreen.tsx # apps/mobile/src/state/use-thread-composer-state.ts # apps/server/src/mcp/OrchestratorMcpService.ts # apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts # apps/server/src/orchestration-v2/ThreadLaunchService.ts # apps/server/src/orchestration-v2/testkit/fixtures/kiro_model_switch/kiro_transcript.ndjson # apps/server/src/orchestration-v2/testkit/fixtures/kiro_unknown_model/kiro_transcript.ndjson # apps/server/src/persistence/Sqlite.ts # apps/server/src/preview/ServerBrowserPage.ts # apps/server/src/process/externalLauncher.ts # apps/server/src/project/AgentSessionImporter.test.ts # apps/server/src/project/AgentSessionImporter.ts # apps/server/src/project/AgentSessionScanner.ts # apps/server/src/provider/ClaudeProvider.ts # apps/server/src/provider/agentContextBudget.json # apps/server/src/usage/cliproxyApi.test.ts # apps/server/src/usage/cliproxyApi.ts # apps/server/src/usage/usageAggregation.ts # apps/server/src/usage/usagePricing.ts # apps/web/src/components/ChatMarkdown.tsx # apps/web/src/components/ChatView.tsx # apps/web/src/components/CommandPalette.tsx # apps/web/src/components/ComposerPromptEditorTiptap.citationDraft.browser.test.tsx # apps/web/src/components/ComposerPromptEditorTiptap.tsx # apps/web/src/components/RightPanelTabs.browser.test.tsx # apps/web/src/components/ServerUpdateAction.tsx # apps/web/src/components/Sidebar.logic.ts # apps/web/src/components/Sidebar.tsx # apps/web/src/components/ThreadNotificationCoordinator.tsx # apps/web/src/components/ThreadRouteView.tsx # apps/web/src/components/chat/AssistantCitationChip.tsx # apps/web/src/components/chat/ChatComposer.tsx # apps/web/src/components/chat/ComposerAttachmentStrip.tsx # apps/web/src/components/chat/ComposerPrimaryActions.tsx # apps/web/src/components/chat/MarkdownFileLink.tsx # apps/web/src/components/chat/MessagesTimeline.browser.test.tsx # apps/web/src/components/chat/MessagesTimeline.logic.ts # apps/web/src/components/chat/MessagesTimeline.tsx # apps/web/src/components/chat/ShellCommandBlock.tsx # apps/web/src/components/chat/TimelineWorkEntryRow.tsx # apps/web/src/components/chat/TimelineWorkGroupRows.tsx # apps/web/src/components/chat/V2ItemInspector.tsx # apps/web/src/components/chat/timelineMinimapItems.ts # apps/web/src/components/chat/timelineScrollAnchoring.test.tsx # apps/web/src/components/chat/useRightPanelActions.ts # apps/web/src/components/composerContextPresentation.tsx # apps/web/src/components/files/FilePreviewPanel.tsx # apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx # apps/web/src/components/pullRequest/PullRequestLinkPreview.tsx # apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx # apps/web/src/components/pullRequest/PullRequestTimelineTab.tsx # apps/web/src/components/pullRequest/pullRequestDetail.logic.ts # apps/web/src/components/settings/ScheduledTasksSettings.tsx # apps/web/src/components/settings/SettingsPanels.tsx # apps/web/src/components/settings/StorageSettings.tsx # apps/web/src/components/settings/scheduledTasksSettings.logic.test.ts # apps/web/src/components/sidebar/SidebarThreadRow.tsx # apps/web/src/lib/openPullRequestLink.ts # apps/web/src/rightPanelStore.ts # docs/user/usage.md # knip.jsonc # packages/client-runtime/package.json # packages/client-runtime/src/work-log/embeddedScripts.test.ts # packages/contracts/src/assistantCitations.ts # packages/contracts/src/keybindings.ts # packages/provider-core/src/server/runtimeInstructions.ts # packages/provider-grok/src/server.ts # packages/provider-grok/src/server/usageLimits.ts # packages/provider-opencode/src/server/driver.ts # packages/shared/package.json # packages/shared/src/assistantCitations.ts # packages/shared/src/keybindings.ts # packages/shared/src/markdownPipeline.ts # packages/source-control-github/src/server/pullRequestReviews.graphql.ts
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's in this sync
Regression testing: 7,863 tests passed across 292 non-browser test files, with 12 existing conditional skips. Browser/runtime and model-eval limits remain; see Verification below.
New features
Fixes
Provider and internal changes
Discord announcements were not used: the configured channel returned only older ordinary messages and no matching announcement crossposts.
Full upstream commit list (including remaining fixes, tests, and maintenance)
a74ee4cc7cfix(client-runtime): server updates stop waiting 32 minutes when the host returns without this update's outcome (fix(client-runtime): server updates stop waiting 32 minutes when the host returns without this update's outcome pingdotgg/t3code#27275)d806251188fix(server): runs cancelled by a server restart say why in the thread (fix(server): runs cancelled by a server restart say why in the thread pingdotgg/t3code#27192)835e72683bfix(server): Claude subagents no longer show the parent's effort (fix(server): Claude subagents no longer show the parent's effort pingdotgg/t3code#17042)27188274e7fix(web): pull request search keeps partial-word matches after GitHub answers (fix(web): pull request search keeps partial-word matches after GitHub answers pingdotgg/t3code#26992)f3da8ff63bfeat(gitlab): resolve overview threads from Summary and Timeline (feat(gitlab): resolve overview threads from Summary and Timeline pingdotgg/t3code#30575)b3f5d52701fix(composer): steer instead of queueing during automatic compaction (fix(composer): steer instead of queueing during automatic compaction pingdotgg/t3code#24138)6700cf6f89fix(web): reveal expanded work rows hidden behind the composer (fix(web): reveal expanded work rows hidden behind the composer pingdotgg/t3code#21968)d56b82c708fix(web): keep saved default model when changing effort (fix(web): keep saved default model when changing effort pingdotgg/t3code#22193)5da53f87d9fix(server): CLI commands no longer migrate the database of a running server (fix(server): CLI commands no longer migrate the database of a running server pingdotgg/t3code#26763)ea5f85e7ccfix(ci): release version bump push retries when main moves (fix(ci): release version bump push retries when main moves pingdotgg/t3code#34326)691b9709b0fix(web): Ctrl + "+" zooms on keyboard layouts with a dedicated plus key (fix(web): Ctrl + "+" zooms on keyboard layouts with a dedicated plus key pingdotgg/t3code#26408)1530bec29afix(opencode): a context overflow that OpenCode compacts no longer fails the turn (fix(opencode): a context overflow that OpenCode compacts no longer fails the turn pingdotgg/t3code#26743)36f4e07e03fix(server): preview automation reports ambiguous selectors instead of calling them invalid (fix(server): preview automation reports ambiguous selectors instead of calling them invalid pingdotgg/t3code#34205)ab9df1d6ffchore(release): prepare v0.1.9faa8ad6818fix(server): one dropped probe no longer lists a live linked peer as unreachable (fix(server): one dropped probe no longer lists a live linked peer as unreachable pingdotgg/t3code#34208)fcddd737e2fix(web): don't save retention age until committed (fix(web): don't save retention age until committed pingdotgg/t3code#22208)2828f28145fix(web): composer follows an optionless thread instead of the settings default (fix(web): composer follows an optionless thread instead of the settings default pingdotgg/t3code#16546)54a5c51a58fix(web): fall back to a readable server for shared repositories (fix(web): fall back to a readable server for shared repositories pingdotgg/t3code#21530)fd9b2c3eaafix(server): cancelling a background-only delegated task reports it interrupted (fix(server): cancelling a background-only delegated task reports it interrupted pingdotgg/t3code#21676)d835e430dbfix(web): question answers submit while normal sends are blocked (fix(web): question answers submit while normal sends are blocked pingdotgg/t3code#22874)52d621a6f1fix(desktop,web): Open in runs locally for a background service sharing the desktop's T3 home (fix(desktop,web): Open in runs locally for a background service sharing the desktop's T3 home pingdotgg/t3code#21661)afb4f91a7dfix(provider-core): a model reply of "title" no longer replaces the thread title (fix(provider-core): a model reply of "title" no longer replaces the thread title pingdotgg/t3code#25743)c266631bdefix(preview): always return evaluated results by value (fix(preview): always return evaluated results by value pingdotgg/t3code#22948)75c7fb28affix(server): imported ACP sessions show their native history (fix(server): imported ACP sessions show their native history pingdotgg/t3code#22155)49bab9936efix(web): Changes row matches the diff comparison (fix(web): Changes row matches the diff comparison pingdotgg/t3code#19553)43821388a9fix(web): focus the primary action when confirmation dialogs open (fix(web): focus the primary action when confirmation dialogs open pingdotgg/t3code#18187)ba32aabf62fix(scheduler): show short server timezone on fixed-time labels (fix(scheduler): show short server timezone on fixed-time labels pingdotgg/t3code#23111)2c74ea6915fix(web): render Claude insight blocks as a callout (fix(web): render Claude insight blocks as a callout pingdotgg/t3code#22239)f6433dba45fix(desktop): an SSH password prompt that ended leaves the dialog instead of stacking (fix(desktop): an SSH password prompt that ended leaves the dialog instead of stacking pingdotgg/t3code#34192)e93f6ea361fix(desktop): Cmd+F now searches the page in the integrated browser (fix(desktop): Cmd+F now searches the page in the integrated browser pingdotgg/t3code#22960)c9dfc404ccfix(server): custom Codex providers no longer report native quota (fix(server): custom Codex providers no longer report native quota pingdotgg/t3code#18622)25f4c9d44efix(web): offer retry while an environment reconnects (fix(web): offer retry while an environment reconnects pingdotgg/t3code#23194)9ef52de293fix(shared): keep spreadsheet shorthand as inline code (fix(shared): keep spreadsheet shorthand as inline code pingdotgg/t3code#23203)8d236998d0fix(server): a limited provider's queue stays held after another provider's turn succeeds (fix(server): a limited provider's queue stays held after another provider's turn succeeds pingdotgg/t3code#22425)d0d0608b6bfix(server): a remote update points the service unit at the runtime it committed (fix(server): a remote update points the service unit at the runtime it committed pingdotgg/t3code#19652)729f6757d9fix(usage): Claude subagent output is no longer undercounted (fix(usage): Claude subagent output is no longer undercounted pingdotgg/t3code#20276)b5256ad09cfix(opencode): verify CLI updates when loopback server is still running (fix(opencode): verify CLI updates when loopback server is still running pingdotgg/t3code#22839)0d36f2b48efix(mobile): subscription widget no longer expires on a window that already reset (fix(mobile): subscription widget no longer expires on a window that already reset pingdotgg/t3code#22993)996b43f01bfix(web): retain diff selection across navigation (fix(web): retain diff selection across navigation pingdotgg/t3code#22347)e2a781477afix(usage): Grok and Cursor usage limits show pace and the even-spend line (fix(usage): Grok and Cursor usage limits show pace and the even-spend line pingdotgg/t3code#21897)25631c3c83fix(server): new worktrees refresh their index once, so captures and status stop re-hashing every file (fix(server): new worktrees refresh their index once, so captures and status stop re-hashing every file pingdotgg/t3code#21341)24e77473ecfix(server): a follow-up delegated task waits for a run its child queued on its own thread (fix(server): a follow-up delegated task waits for a run its child queued on its own thread pingdotgg/t3code#32504)1bdf470328fix(web): project actions auto-open Preview in web clients (fix(web): project actions auto-open Preview in web clients pingdotgg/t3code#34048)5bb5d53312fix(web): full-screen HTML pages fit their content and zoom by reflowing (fix(web): full-screen HTML pages fit their content and zoom by reflowing pingdotgg/t3code#22349)46afd69a8bfix(server): scheduled task updates keep the saved workspace unless the binding changes (fix(server): scheduled task updates keep the saved workspace unless the binding changes pingdotgg/t3code#32494)94f54a5710fix(server): preserve active turns when switching provider instances (fix(server): preserve active turns when switching provider instances pingdotgg/t3code#22755)8c9af5418afix(web): disable the git actions menu when nothing in it is usable (fix(web): disable the git actions menu when nothing in it is usable pingdotgg/t3code#31972)c50dd8e12dfix(server): agent continuations preserve the working timer start (fix(server): agent continuations preserve the working timer start pingdotgg/t3code#22947)6e21f81461fix(desktop): wait for the local server to exit when quitting (fix(desktop): wait for the local server to exit when quitting pingdotgg/t3code#22996)fc5edd347bfix(server): worktrees cut from a non-default base no longer show the base's PR (fix(server): worktrees cut from a non-default base no longer show the base's PR pingdotgg/t3code#22861)f697d4db3efix(web): local server cards in the browser empty state take pointer clicks (fix(web): local server cards in the browser empty state take pointer clicks pingdotgg/t3code#34050)a536ff7ac0fix(server): thread search finds phrases inside quotes and their comments (fix(server): thread search finds phrases inside quotes and their comments pingdotgg/t3code#22553)40c3682543feat(web): screen readers can hear the agent's messages and steps during a turn (feat(web): screen readers can hear the agent's messages and steps during a turn pingdotgg/t3code#33900)950c34226cfix(server): preview snapshots keep page text beside large accessibility trees (fix(server): preview snapshots keep page text beside large accessibility trees pingdotgg/t3code#33745)b0f12e12e3fix(server): PR sync and run-status checks stop reading whole thread histories (fix(server): PR sync and run-status checks stop reading whole thread histories pingdotgg/t3code#25728)75b22bf56cfix(web): dismiss image path tooltips after preview and scroll (fix(web): dismiss image path tooltips after preview and scroll pingdotgg/t3code#30620)5badea5b45fix(server): hide passive Claude Stop-hook summaries (fix(server): hide passive Claude Stop-hook summaries pingdotgg/t3code#22964)4e1be34436feat(server): watched GitHub pull requests react to host events, not only the 2-minute sweep (feat(server): watched GitHub pull requests react to host events, not only the 2-minute sweep pingdotgg/t3code#33548)8cbc95923afix(web): files marked Viewed stay folded when a pull request's Code tab opens again (fix(web): files marked Viewed stay folded when a pull request's Code tab opens again pingdotgg/t3code#34168)399df485a4fix(claude): version errors from a custom endpoint no longer say to run claude update (fix(claude): version errors from a custom endpoint no longer say to run claude update pingdotgg/t3code#34176)362ef9a88afeat(gitlab): revert a merged merge request (feat(gitlab): revert a merged merge request pingdotgg/t3code#30556)b6d3097379feat(web): composer strip names the worktree folder (feat(web): composer strip names the worktree folder pingdotgg/t3code#28459)dea8472438feat(web): label chips show the label's description on hover (feat(web): label chips show the label's description on hover pingdotgg/t3code#28732)8030067470fix(web): snooze times read naturally in context menus (fix(web): snooze times read naturally in context menus pingdotgg/t3code#24945)543ee27fa8fix(server): fork Claude threads after project root changes (fix(server): fork Claude threads after project root changes pingdotgg/t3code#22836)7e45dcdd61fix(mobile): chat code blocks colour diff, kotlin, sql and other languages again (fix(mobile): chat code blocks colour diff, kotlin, sql and other languages again pingdotgg/t3code#33680)2163d41409fix(shared): Open in Zed ignores the OpenZFS zed daemon on Linux (fix(shared): Open in Zed ignores the OpenZFS zed daemon on Linux pingdotgg/t3code#33479)492f711971fix(desktop): stable updates no longer show a nightly's release notes (fix(desktop): stable updates no longer show a nightly's release notes pingdotgg/t3code#32832)37452eeaa3fix(server): cloning into a stranded clone project's empty folder reuses that project (fix(server): cloning into a stranded clone project's empty folder reuses that project pingdotgg/t3code#33439)a03d9bce02fix(mobile): file links in question cards open the file viewer (fix(mobile): file links in question cards open the file viewer pingdotgg/t3code#29151)034f3ba918fix(server): updates copy the database while the server still runs when it cannot be cloned (fix(server): updates copy the database while the server still runs when it cannot be cloned pingdotgg/t3code#33058)1c17285e58fix(shared): cite assistant messages with IDs over 512 characters (fix(shared): cite assistant messages with IDs over 512 characters pingdotgg/t3code#28084)42185a6206test(web): right panel tab swipe test runs as macOS on any CI host (test(web): right panel tab swipe test runs as macOS on any CI host pingdotgg/t3code#34191)c82e1ba515fix(gitlab): review comments can cover a range of lines (fix(gitlab): review comments can cover a range of lines pingdotgg/t3code#30535)a0efdaeb89fix: new threads move from draft to Working in one step (fix: new threads move from draft to Working in one step pingdotgg/t3code#33783)11611419f3fix(web): trackpad flicks over the right panel tabs no longer navigate back (fix(web): trackpad flicks over the right panel tabs no longer navigate back pingdotgg/t3code#33396)31bf2f7f34fix(client-runtime): pasted repository page URLs clone the repository into its own folder (fix(client-runtime): pasted repository page URLs clone the repository into its own folder pingdotgg/t3code#32681)5b11efe5dffix(clients): images the agent opens stay visible in the chat (fix(clients): images the agent opens stay visible in the chat pingdotgg/t3code#30473)c03f84bcdefix(server): stream the usage-scan cache to disk instead of one string (fix(server): stream the usage-scan cache to disk instead of one string pingdotgg/t3code#34030)c192c67867fix(server): auto thread sends queue while a turn is stopping (fix(server): auto thread sends queue while a turn is stopping pingdotgg/t3code#34163)32fdad5f49fix(web): timeline minimap preview no longer steals hover or jumps around (fix(web): timeline minimap preview no longer steals hover or jumps around pingdotgg/t3code#32151)4363d0bf65fix(web): mouse tilt wheel no longer switches threads on Windows and Linux desktop (fix(web): mouse tilt wheel no longer switches threads on Windows and Linux desktop pingdotgg/t3code#32963)05adc163fcfix(web): hide empty replies when renders show the result (fix(web): hide empty replies when renders show the result pingdotgg/t3code#34182)0815d98cd7fix(web): make Q&A option outlines visible across themes (fix(web): make Q&A option outlines visible across themes pingdotgg/t3code#34178)ba4d01cf7ffix(shared): login-shell environment probe ignores DEBUG trap output (fix(shared): login-shell environment probe ignores DEBUG trap output pingdotgg/t3code#32646)631ea1b6dffix(server): restart send stops a Claude turn and runs the message next (fix(server): restart send stops a Claude turn and runs the message next pingdotgg/t3code#32902)ed52af3a47feat(opencode): track native shell jobs across turns0f13d2ccbdrefactor(web): remove icon morphing (refactor(web): remove icon morphing pingdotgg/t3code#33985)facd190640fix(web): opening the terminal with Cmd+J no longer re-renders the whole sidebar (fix(web): opening the terminal with Cmd+J no longer re-renders the whole sidebar pingdotgg/t3code#33129)fae2d204a2fix(cli): installers retry transient GitHub errors (fix(cli): installers retry transient GitHub errors pingdotgg/t3code#32913)b3fdf2b10ffix(web): PR links jump to the comment, diff line, checks or commits they name (fix(web): PR links jump to the comment, diff line, checks or commits they name pingdotgg/t3code#33989)5c97adaf6bfix(desktop): clear stale GPU caches when the Electron version changes (fix(desktop): clear stale GPU caches when the Electron version changes pingdotgg/t3code#33641)bbd51f74b4fix(server): import Codex chats moved into a project from the scratch folder (fix(server): import Codex chats moved into a project from the scratch folder pingdotgg/t3code#32880)f7b81e1d11fix(web): settings search shortcuts follow the physical key on non-US layouts (fix(web): settings search shortcuts follow the physical key on non-US layouts pingdotgg/t3code#33395)c90b67859afix(server): Find frees searched thread text after one idle minute (fix(server): Find frees searched thread text after one idle minute pingdotgg/t3code#34132)92f1b8ec25fix(peer): link requests use the addresses the app already has for a machine (fix(peer): link requests use the addresses the app already has for a machine pingdotgg/t3code#34139)ccc7b2d96ffix(web): MCP App cards no longer flash white in dark mode while the app loads (fix(web): MCP App cards no longer flash white in dark mode while the app loads pingdotgg/t3code#33352)4ca10398b1fix(web): tighter outdated-conversation cards in the PR code panel (fix(web): tighter outdated-conversation cards in the PR code panel pingdotgg/t3code#34140)d152d2c824fix(client-runtime): a search query pasted from github.com lists pull requests again (fix(client-runtime): a search query pasted from github.com lists pull requests again pingdotgg/t3code#30150)768f17c518ci: browser secret helper apt step fetches fewer indexes (ci: browser secret helper apt step fetches fewer indexes pingdotgg/t3code#33966)b883156e26fix(scripts): scenarios run where localhost resolves to IPv6 first (fix(scripts): scenarios run where localhost resolves to IPv6 first pingdotgg/t3code#34121)3a8c250cb0feat(opencode): track native image job outcomes and previews (feat(opencode): track native image job outcomes and previews pingdotgg/t3code#34089)1d80047048fix(web): scroll project picker to top on first result (fix(web): scroll project picker to top on first result pingdotgg/t3code#34113)79bca436b2feat(server): voice models reuse copies already on disk (feat(server): voice models reuse copies already on disk pingdotgg/t3code#34096)04f6cfca87fix(desktop): desktop IPC only answers the main app window (fix(desktop): desktop IPC only answers the main app window pingdotgg/t3code#34094)9e1f81c788feat(claude): Fable resets are offered and redeemed apart from weekly resets (feat(claude): Fable resets are offered and redeemed apart from weekly resets pingdotgg/t3code#34106)ae142932d0feat(scripts): scenarios prove a fix in the real app with e2e, on web and iOS (feat(scripts): scenarios prove a fix in the real app with e2e, on web and iOS pingdotgg/t3code#34007)43915a4064fix(web): question panel header text sits centered in its row (fix(web): question panel header text sits centered in its row pingdotgg/t3code#34095)d91915db9efix(server): a t3 thread send to a finished delegated child notifies its parent (fix(server): a t3 thread send to a finished delegated child notifies its parent pingdotgg/t3code#33446)17a6a01d84feat(mobile): pick a voice environment once, then its method (feat(mobile): pick a voice environment once, then its method pingdotgg/t3code#34073)3cb99ced5bfix(mobile): attaching larger images no longer crashes with a BigInt error (fix(mobile): attaching larger images no longer crashes with a BigInt error pingdotgg/t3code#34087)1a2a4a5e96fix(server): quitting stops an agent-device daemon left by an earlier server (fix(server): quitting stops an agent-device daemon left by an earlier server pingdotgg/t3code#33587)d6d1763d41fix(web): sent messages keep the numbers written on list items (fix(web): sent messages keep the numbers written on list items pingdotgg/t3code#33820)3725817edcfix(desktop): input during window teardown no longer throws in the main process (fix(desktop): input during window teardown no longer throws in the main process pingdotgg/t3code#33620)8fc6fd01d7fix(web): preserve previews during attachment preparation (fix(web): preserve previews during attachment preparation pingdotgg/t3code#33949)44ebb2fe57feat(usage): show Muse Code limits, and xAI and Antigravity accounts from a CLIProxyAPI hub (feat(usage): show Muse Code limits, and xAI and Antigravity accounts from a CLIProxyAPI hub pingdotgg/t3code#33800)78201b07d0fix(server): text generation fallback respects project provider settings (fix(server): text generation fallback respects project provider settings pingdotgg/t3code#33741)9cd7a04797fix(web): sending from an empty citation comment clears the composer (fix(web): sending from an empty citation comment clears the composer pingdotgg/t3code#33440)d290c1f1b6fix(github): a proxy's 403 with Retry-After is no longer reported as a rate limit (fix(github): a proxy's 403 with Retry-After is no longer reported as a rate limit pingdotgg/t3code#33676)f86e21f7ccfix(web,mobile): replace sparkles icons and ban them with a lint rule (fix(web,mobile): replace sparkles icons and ban them with a lint rule pingdotgg/t3code#25422)d756fed7aafix(server): provider switches hand off started cancelled runs (fix(server): provider switches hand off started cancelled runs pingdotgg/t3code#34016)871b00907dfix(pi): a steer Pi has not read yet shows as waiting, not steered (fix(pi): a steer Pi has not read yet shows as waiting, not steered pingdotgg/t3code#33982)5be6bc99c2fix(codex): show image generation tool callsd256170b34fix: file links with line ranges open at their first line (fix: file links with line ranges open at their first line pingdotgg/t3code#34006)44e894ffd7fix(web): preserve search result titles in drag previews (fix(web): preserve search result titles in drag previews pingdotgg/t3code#34017)a88a0adfa1fix(web): keep HTML previews anchored when accordions expand (fix(web): keep HTML previews anchored when accordions expand pingdotgg/t3code#34003)5f2bb934d8perf(server): user-only message reads use the user-message index for ordinals (perf(server): user-only message reads use the user-message index for ordinals pingdotgg/t3code#33009)05020d6fa9perf(client): reopening a finished command row no longer refetches its output (perf(client): reopening a finished command row no longer refetches its output pingdotgg/t3code#34002)e8d3075e48fix(antigravity): recognize Gemini 4 Carbon and its quota (fix(antigravity): recognize Gemini 4 Carbon and its quota pingdotgg/t3code#33991)71a1c49b75feat(opencode): project native todo updates into checklistsa11ad7424dfix(web): show app bundle icons and open apps from markdown links283fa1f1cdfix(clients): scroll truncated command output notice with logs (fix(clients): scroll truncated command output notice with logs pingdotgg/t3code#34011)3051b32502fix: chat file links open the file agents cite (fix: chat file links open the file agents cite pingdotgg/t3code#33943)1fed70cd19fix(server): say why threads without a project are unavailable (fix(server): say why threads without a project are unavailable pingdotgg/t3code#32342)350ecd63befix(web): closing the right panel returns focus to where it was (fix(web): closing the right panel returns focus to where it was pingdotgg/t3code#32569)08af12da49fix(shared): show zero seconds in minute durations (fix(shared): show zero seconds in minute durations pingdotgg/t3code#33994)f06bfa69c7fix(web): drag command palette threads into the composer (fix(web): drag command palette threads into the composer pingdotgg/t3code#33990)81c3da3856fix(server): removed thread worktrees keep their project's skills in the picker (fix(server): removed thread worktrees keep their project's skills in the picker pingdotgg/t3code#32471)20723d6d9bfix: Claude monitor wakes no longer fire a completion alert per line (fix: Claude monitor wakes no longer fire a completion alert per line pingdotgg/t3code#32520)524a53183dfix(mobile): tool call commands are highlighted and monospaced like on web (fix(mobile): tool call commands are highlighted and monospaced like on web pingdotgg/t3code#33957)3cdc504cc9fix(server): linked projects keep their repository identity while it refreshes (fix(server): linked projects keep their repository identity while it refreshes pingdotgg/t3code#32359)cfb7cae2b9feat(web): bindable shortcut to regenerate a thread's title (feat(web): bindable shortcut to regenerate a thread's title pingdotgg/t3code#33987)0e2841d5a7feat(opencode): mirror native goals across clients (feat(opencode): mirror native goals across clients pingdotgg/t3code#33758)8ee7183e6ctest(web): minimap next-turn test no longer flakes after a resize (test(web): minimap next-turn test no longer flakes after a resize pingdotgg/t3code#33964)e5b0718a8afix(server): blank .gitignore lines no longer make checkpoints drop new files (fix(server): blank .gitignore lines no longer make checkpoints drop new files pingdotgg/t3code#32374)151d5f817cfix(opencode): show questions asked while OpenCode wakes a session on its own (fix(opencode): show questions asked while OpenCode wakes a session on its own pingdotgg/t3code#32434)30c11a3c74fix(web): the thread menu works for an older settled thread the sidebar hasn't loaded (fix(web): the thread menu works for an older settled thread the sidebar hasn't loaded pingdotgg/t3code#32507)047d492736fix(server): Antigravity limits read the quota host the account is metered on (fix(server): Antigravity limits read the quota host the account is metered on pingdotgg/t3code#32425)7389423507fix(web): screen readers hear the add-project submit shortcut (fix(web): screen readers hear the add-project submit shortcut pingdotgg/t3code#32576)e509db3a2ffix(web): Tab reaches the add-project and new-project submit buttons (fix(web): Tab reaches the add-project and new-project submit buttons pingdotgg/t3code#32605)80e62619f5fix(mobile): iOS 18 iPad sidebar and thread feed start below the header (fix(mobile): iOS 18 iPad sidebar and thread feed start below the header pingdotgg/t3code#32936)20c3dd3689fix(ssh): concurrent launches on one remote home share one server (fix(ssh): concurrent launches on one remote home share one server pingdotgg/t3code#32587)9b352a04deperf(server): MCP tool calls no longer read the caller's whole thread (perf(server): MCP tool calls no longer read the caller's whole thread pingdotgg/t3code#33295)c7a0931537fix(pi): Pi models whose provider ID contains a slash can be selected (fix(pi): Pi models whose provider ID contains a slash can be selected pingdotgg/t3code#32585)b718643e83test: remove redundant short-string truncation test (test: remove redundant short-string truncation test pingdotgg/t3code#33867)d313b2aff3fix(cursor): a steer keeps the prompt it interrupted (fix(cursor): a steer keeps the prompt it interrupted pingdotgg/t3code#32583)57d5e98272fix(web): minimap next turn is disabled at the bottom of a thread (fix(web): minimap next turn is disabled at the bottom of a thread pingdotgg/t3code#33038)80e1e4d14dfix(server): Codex first-request usage limits keep their reset time (fix(server): Codex first-request usage limits keep their reset time pingdotgg/t3code#27791)ac5e48c612fix(web): notify when a new request replaces the pending one in a run (fix(web): notify when a new request replaces the pending one in a run pingdotgg/t3code#32719)ebb0240603fix(mobile): medium Android windows keep the rail's room and the sidebar's place (fix(mobile): medium Android windows keep the rail's room and the sidebar's place pingdotgg/t3code#33021)41443e5706fix(server): capture iOS screenshots on Xcode 26's simctl (fix(server): capture iOS screenshots on Xcode 26's simctl pingdotgg/t3code#28353)0a9abddaeefix(server): dev database seed drops active pull request watches (fix(server): dev database seed drops active pull request watches pingdotgg/t3code#32744)6b96956c30fix(server): removing a queued completion message keeps its siblings' wakes (fix(server): removing a queued completion message keeps its siblings' wakes pingdotgg/t3code#32815)46015ec958fix(web): Go to source on a side chat quote keeps you on its parent thread (fix(web): Go to source on a side chat quote keeps you on its parent thread pingdotgg/t3code#33160)4c924ff4e6fix(desktop): new browser tabs no longer lose waits, clicks and snapshots for good (fix(desktop): new browser tabs no longer lose waits, clicks and snapshots for good pingdotgg/t3code#32861)f12bb6229cfix(server): a restart that misses its turn starts as a new turn (fix(server): a restart that misses its turn starts as a new turn pingdotgg/t3code#32899)5a9866d501fix(mobile): missing files in previews name the checked path instead of asking to reconnect (fix(mobile): missing files in previews name the checked path instead of asking to reconnect pingdotgg/t3code#32994)d1aeed2492fix(server): repos without a remote no longer record failed spans on status refresh (fix(server): repos without a remote no longer record failed spans on status refresh pingdotgg/t3code#32905)61cb845d96perf(server): opening a long thread reads from its latest segments, not its whole history (perf(server): opening a long thread reads from its latest segments, not its whole history pingdotgg/t3code#33305)feb9c6b842fix(server): signed-out Claude instances with their own config dir name it in the sign-in hint (fix(server): signed-out Claude instances with their own config dir name it in the sign-in hint pingdotgg/t3code#32951)fa2f4ff2a2fix(web): panel resize handles follow touch drags (fix(web): panel resize handles follow touch drags pingdotgg/t3code#33066)bcee0f5d28fix(server): Claude turns whose CLI exits before its first frame fail instead of running forever (fix(server): Claude turns whose CLI exits before its first frame fail instead of running forever pingdotgg/t3code#33008)0ca73a19f0fix(server): usage prices Claude Mythos 5.2 from its Bedrock rate (fix(server): usage prices Claude Mythos 5.2 from its Bedrock rate pingdotgg/t3code#33721)b48b8ea2a0fix(web): prompt suggestions show after a steered turn (fix(web): prompt suggestions show after a steered turn pingdotgg/t3code#33706)ca796d5211fix(mobile): Android Files sheet scrolls its tree instead of dragging the sheet (fix(mobile): Android Files sheet scrolls its tree instead of dragging the sheet pingdotgg/t3code#33223)f8fbc199aefix(server): one finished turn looks up its branch's pull request once (fix(server): one finished turn looks up its branch's pull request once pingdotgg/t3code#33752)Merge details
Base:
origin/mainat64cca8f34f9b88d79ab298495d2232c55aa196a0. No parent PR.Started from
87fcf653854d692fb12758eff7cdd0f7b35a8a0f; a clean catch-up merge includes the new usage-footer filtering change on main.Pinned upstream:
a74ee4cc7c0ee9729f58dfff6cc2a118692cf8ea.Upstream range:
64cca8f34f9b88d79ab298495d2232c55aa196a0..a74ee4cc7c0ee9729f58dfff6cc2a118692cf8ea(176 upstream commits; the fork has 646 commits outside that upstream history).Conflict resolutions
docs/fork-differences.md: upstream now also imports native ACP history; the fork retains its conversation picker and single-session import behavior.Moved-code audit
bb8b6bc7d2(fork PR feat(web): highlight inline scripts in command previews #303): interpreter script previews moved from weblib/embeddedScriptsinto client-runtime; retained implementation, export, caller and both test sets.6eede0f5de(fork PR feat(web): start from an automation in the new-thread picker #371): retained extracted mobile scheduled-task presentation and automation picker callers; ported upstream timezone display.6ff90d838a(fork PR feat(scheduled-tasks): same-day catch-up for missed runs and a Run-now shortcut #362): retained missed-run catch-up switch and run-now actions in the mobile task editor.Verification
vp run check:changed be720e8b2apassed: format, lint, both knip checks, server GraphQL generation, all four affected package typechecks, and the three selected test files.vibeproxyis absent from~/.codex/config.toml; no paid eval result claimed.No PR was merged and no release was published.
Merge with Create a merge commit. It keeps upstream history and the merge base for the next sync.
Model: GPT-6.1 Sol. Harness: Codex in T3 Code.