chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore(upstream): sync 2026-08-29 - #15

Merged
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29
Aug 29, 2026
Merged

chore(upstream): sync 2026-08-29#15
berghtho merged 55 commits into
mainfrom
upstream-sync/2026-08-29

Conversation

@berghtho

Copy link
Copy Markdown
Owner

Batch

Previous integrated upstream: a6797b3
New upstream: 053affb
Tested integration head: 6fc0e34

54 commits, 50 linked source PRs, 425 changed files.

  • 73f8cfc test: remove low-signal test files (#8397)
  • f6f2be3 test: prune trivial error and layout tests (#8400)
  • 348367d Fix Android adaptive launcher icon (#4332)
  • e2d4d12 feat(web): split provider settings into list and editor (#8380)
  • 94401d0 fix(codex): accept Codex 0.150 account plans (#8447)
  • b0ae3f3 fix(tooling): allow ignored-only staged changes (#8468)
  • b982847 fix(mobile): keep iOS home header stable (#8467)
  • f1e6f0c fix(web): stop showing red x summaries for ordinary tool failures (#8395)
  • 850e458 fix(mobile): refine Git action toast glass styling (#8399)
  • 2fbe313 fix(desktop): allow preview automation in agent-created threads (#8483)
  • c8aba25 test(web): remove redundant cache key test (#8484)
  • 5766dfb fix(release): move nightly schedule to minute 38
  • f276e63 fix(web): stabilize the provider settings editor (#8472)
  • 7068e86 fix(web): open GitHub pull requests in browser when loading fails (#8507)
  • 49f6241 fix(codex): show sub-agent models (#8502)
  • 88be563 feat(analytics): report connected client platforms (#8481)
  • 8f49132 feat(server): accept PDF, ZIP, and other file uploads up to 50MB (#8235)
  • 4c51b4c feat(web): toggle thread pin from the keyboard
  • 9257bd8 fix(web): add back button to project settings (#8168)
  • 018d7f2 refactor(mobile): compile semantic themes for Uniwind (#7327)
  • f94a0d6 fix(desktop): Cache Runtime locally on WSL Filesystem, dramatically improving launch times (#5769)
  • acb599d fix(mobile): show OpenCode model sources in picker (#8573)
  • 84b9d9b fix(clients): honor project default models in new threads (#6011)
  • 45c0dff fix(mobile): show file actions on Android (#8215)
  • 94f1948 fix(connect): explain DPoP connection failures (#8351)
  • 48c176b feat(web): make the sidebar project filter a searchable combobox (#5931)
  • a40aef4 fix(server): a draft can retry its first send after a failed bootstrap (#8226)
  • ff17610 fix(desktop): stop hidden previews draining battery (#8567)
  • 0e2905e fix(desktop): oauth popups open from the browser preview (#8435)
  • 0009aac fix(web): keep long task drawers usable on small screens (#8313)
  • cb49e5d fix(opencode): handle child approvals, stops, and model catalogs (#8480)
  • 0bbecfa fix: make thread auto-settling opt-in (#8321)
  • b654911 fix(web): stop session activity timing test from blocking releases (#8585)
  • e898008 fix(mobile): show composer menus when starting a task (#8587)
  • ac3b2ad fix(web): show the configured stash shortcut (#8437)
  • 22c311d feat(web): add toggleable confirmation before unpinning a thread (#7313)
  • 3815438 fix: restore automatic thread settling defaults (#8596)
  • 8fc7f22 fix(mobile): restore composer glass and rounded shadows (#8597)
  • ac3a331 Remove Messages Glass Lab experiment (#8599)
  • 3251b75 chore(release): prepare v0.0.36
  • 2bc9e8e Require human review for pull requests changing product defaults (#8603)
  • 702a6ad fix(codex): avoid quadratic app-server input buffering (#8605)
  • 4669eab fix(mobile): stabilize iOS header item transitions (#8607)
  • 3e6ab36 chore(mobile): upgrade to Expo SDK 57 (#8609)
  • 38dcd7a fix(mobile): harden native header toolbar items (#8611)
  • c131f28 fix(server): stop querying Claude context usage after turns (#8610)
  • 6a9d9f9 chore: vouch ryanrhughes (#8613)
  • bcb855a feat(web): attach PDFs, ZIPs, and other files to a turn (#8236)
  • d22709f fix(web): pass stashShortcutLabel in the mixed-attachments stash test
  • be218ac feat(web): keybinding settings as settings rows (#8532)
  • c1c2d54 feat: let an environment publish themes as a file (#8569)
  • 5e63aea fix(web): clean up provider settings list and editor (#8504)
  • 074bcd6 fix(web): keep project picker popup inside the sidebar (#8627)
  • 053affb fix(mobile): prevent header overflow and back-button artifacts (#8624)

Risk and review

  • Provider/orchestration: OpenCode lifecycle and catalog rewrite, Codex sub-agent metadata and buffering, Claude usage behavior. Riker remains a separate presentation bridge.
  • State/auth/files: generic 50 MiB attachments, projection changes, DPoP error categories, relay/client metadata. Focused changed tests cover contracts, projections, authorization, uploads, and reconnect/error paths.
  • Clients: web settings/composer/sidebar, mobile Expo 57/themes/navigation, desktop WSL runtime and preview behavior.
  • Dependencies/release: frozen install stayed clean. Incoming workflow files remain inert because repository Actions is disabled. The downstream first-release identity gate is unchanged.
  • Governance/defaults: fork boundary/support routes are unchanged. The settling changes cancel within this batch; final behavior restores the prior automatic defaults.

No browser or native simulator pass was run; repository policy requires explicit user approval for computer use. Linked source PRs retain upstream UI/native evidence.

Conflicts

Two content conflicts:

  • packages/contracts/src/environment.test.ts: retained Lead Agent capability coverage and added upstream generic attachment-limit coverage.
  • docs/internals/glossary.md: retained CMD Riker terms and added upstream environment-theme terms with distinct link references.

Added patches/*.patch whitespace=-trailing-space in .gitattributes. Unified-diff blank context lines require a trailing space; this keeps git diff --check meaningful without corrupting dependency patches.

Capability delta

  • Lead Agent inputs still accept branded projectId plus Owner content only. T3 does not select a stock provider, model, or Native Harness.
  • Server still resolves and canonicalizes the configured project path before riker gateway --project.
  • Lead Agent RPCs remain versioned, authenticated, project-isolated, reconnect-safe, and sanitize client-visible failures.
  • Copilot remains valid behind CMD Riker Model Policy despite no stock T3 Copilot adapter.
  • Incoming provider/catalog changes do not gate or narrow the Riker boundary.

Verification

Windows isolated checkout, Node 24.16.0:

  • pnpm install --frozen-lockfile: passed; supply-chain policy 2010/2010; no tracked diff.
  • pnpm exec vp i --frozen-lockfile: passed; no tracked diff.
  • vp test run packages/contracts/src/leadAgent.test.ts apps/server/src/riker/LeadAgentProjectResolver.test.ts apps/server/src/riker/RikerOwnerGateway.test.ts apps/server/src/riker/LeadAgentBridge.test.ts: 25/25 passed.
  • vp test run apps/server/src/server.test.ts -t "Lead Agent": 2 passed, 139 skipped by filter.
  • vp run --filter @t3tools/contracts typecheck: passed.
  • vp run --filter t3 typecheck: passed.
  • vp run --filter @t3tools/mobile typecheck: passed.
  • vp run --filter @t3tools/desktop --filter @t3tools/web --filter @t3tools/client-runtime --filter t3code-relay --filter @t3tools/shared --filter effect-codex-app-server --filter @t3tools/oxlint-plugin-t3code --filter @t3tools/scripts typecheck: passed.
  • 109 added/modified test files batched by surface with vp test run: 2,046 passed, 44 Windows-host failures, 139 skipped. Mandatory-filter overlap is included.
  • vp lint --report-unused-disable-directives on 354 changed non-generated TS/TSX files: passed with 8 existing-rule warnings.
  • vp fmt --check on the same 354 files: passed.
  • git diff --check: passed.

The 44 Windows failures were POSIX permission/symlink assumptions, a .sh fixture, Windows shell escaping/path fixtures, and two ProviderRegistry timing/reprobe assertions. Failing source/test paths are byte-identical to upstream/main.

Native Ubuntu 22.04 reproduction, Node 24.16.0 and pnpm 11.10.0:

  • corepack pnpm@11.10.0 install --frozen-lockfile --ignore-scripts: passed; no tracked diff. Full scripts were unavailable because this WSL image lacks make for node-pty.
  • corepack pnpm@11.10.0 exec vp test run apps/server/src/environmentTheme.test.ts apps/server/src/keybindings.test.ts apps/server/src/cli/theme.test.ts apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts scripts/build-desktop-artifact.test.ts: 6/6 files, 172/172 passed.
  • Final Windows and Linux checkouts: clean.

Pre-push safeguards:

  • Actions: enabled=false.
  • origin: berghtho/t3code.
  • upstream push URL: DISABLED; fetch limited to main without tags.
  • remote.pushDefault: origin.
  • Branch protection remains strict, administrator-enforced, conversation-resolved, and blocks force-push/deletion.
  • All publication targets for this sync are fork-local.

Model: GPT-5. Native Harness: Codex.

t3-codeBotand others added 30 commits August 27, 2026 13:28
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Recent scheduled nightlies have been delayed or skipped.
Move the nightly cron from minute 7 to minute 38. Keep the existing three-hour interval. This tests a different point in each three-hour window without claiming it will fix GitHub schedule delivery.
Authored by GPT-5.6 Sol with the Codex harness.
Add a mod+shift+p shortcut that pins or unpins the active thread. Ignore the shortcut during terminal focus and when the server does not support thread pinning.
Co-authored-by: codex <codex@users.noreply.github.com>
…mproving launch times (pingdotgg#5769)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
…6011)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
t3dotggand others added 25 commits August 28, 2026 15:17
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#7313)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
PRs pingdotgg#8437 and pingdotgg#8236 crossed: one made stashShortcutLabel a required
ComposerStashMenu prop, the other added a test case without it, so
main fails web typecheck.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
@berghthoberghtho added the upstream-sync Reviewed batch integrations from pingdotgg/t3code label Aug 29, 2026
@berghtho
berghtho merged commit 206bdca into mainAug 29, 2026
@berghtho
berghtho deleted the upstream-sync/2026-08-29 branch August 29, 2026 12:06
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-syncReviewed batch integrations from pingdotgg/t3code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@berghtho@colonelpanic8@t3dotgg@gsimone@juliusmarminge@ipanasenko@StiensWout@ikifar2012@anirudhsama@none23@extoci@SunkenInTime@shivamhwp@Bil0000@walid-baharwal@UtkarshUsername@ryanrhughes