Skip to content

perf(desktop): speed up Windows update installation - #6169

Merged
shivamhwp merged 14 commits into
pingdotgg:mainfrom
StiensWout:t3code/optimize-windows-update-installation
Aug 14, 2026
Merged

perf(desktop): speed up Windows update installation#6169
shivamhwp merged 14 commits into
pingdotgg:mainfrom
StiensWout:t3code/optimize-windows-update-installation

Conversation

@StiensWout

@StiensWout StiensWout commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Windows desktop updates still spend most of their install time creating loose files, even after the bundled-server work in #5877 reduced the payload to roughly 1,200 files.

This PR moves the bundled server and only its runtime-external/native dependency closure into a dedicated resources/server.asar sidecar. The Windows primary reads the archive in place through Electron. WSL extracts it atomically into a versioned cache only when WSL is enabled.

After rebasing onto current main with #5877:

  • The shared external-package list drives both bundling and the sidecar dependency roots: @ff-labs/fff-node, msgpackr-extract, and node-pty.
  • The emitted-bundle guards, native-loader checks, dependency-closure checks, and isolated runtime probe remain in place.
  • The final copied sidecar is checked for its server entry, unpacked natives, resource monitor, an 80-file payload budget, and successful node bin.mjs --version execution from a clean extracted tree.
  • On same-architecture Windows builds, the packaged primary must also create and destroy a real FileFinder from inside server.asar, proving Electron redirects both fff and ffi natives to the .unpacked sibling. Cross-architecture builds retain the structural and extracted-sidecar checks without executing the target Electron binary.
  • WSL extraction uses one globally bounded eight-entry traversal, avoiding recursive concurrency pools and unbounded fiber growth.\n- The existing release path continues to supply the Linux node-pty prebuild used by WSL.

Verification:

  • vp run --filter @t3tools/scripts typecheck
  • vp run --filter @t3tools/desktop typecheck
  • vp run --filter t3 typecheck
  • vp run --filter t3 build:bundle
  • focused lint and formatting checks\n- direct nested traversal probe: 4,681 entries visited, maximum concurrency 8, active work returned to 0\n- direct x64-host/ARM64-target probe confirmed the target executable is skipped before filesystem access
  • real local sidecar stage and extracted-runtime probe: 3 dependency roots, 85,095,471-byte sidecar, 33 unpacked natives, and 36 files in the synthetic packaged payload
  • positive and missing-dependency runtime probes both passed
  • focused Vitest files remain blocked before collection by the existing @effect/vitest config error, reproduced after vp i

Implemented by GPT-5.6-sol with Codex in the T3 Code harness.


Note

High Risk
Large Windows packaging and backend bootstrap change (dual-ASAR layout, WSL extraction, native-load probes); regressions would break installs, updates, or WSL/primary backends on Windows.

Overview
Windows update/install speed is the main goal: the bundled server and its runtime-external/native deps move out of app.asar into a dedicated resources/server.asar sidecar (natives in server.asar.unpacked), delivered via extraResources, with NSIS differentialPackage: true kept on.

Runtime: DesktopEnvironment gains serverRoot (packaged Windows → resources/server.asar; elsewhere unchanged). The Windows primary still runs the entry through asar-aware ELECTRON_RUN_AS_NODE. DesktopWslServerTree materializes the sidecar into a version-keyed wsl-server-tree/<version> directory on first WSL use (bounded copy, serialized callers, stale sweep); resolveWsl preflight now depends on that instead of app.asar.unpacked. The @ff-labs/fff-node patch generalizes .asar.asar.unpacked for any archive segment.

Build/packaging: Windows drops asarUnpack on the app; stageWindowsServerSidecar hoists a minimal prod install, packs with @electron/asar, and omits the server tree from the app stage. selectCliRuntimeExternalDependencies drives sidecar roots (aligned with bundling). Post-build validateWindowsPackagedPayload checks sidecar integrity, unpacked natives, resource monitor, an 80-file budget, extracted bin.mjs --version, and on same-arch builds a live fff probe via the packaged Electron binary.

Docs/tests: Release notes describe the new Windows payload topology; broad desktop and artifact tests cover the new paths.

Reviewed by Cursor Bugbot for commit f9a65c2. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Ship Windows server bundle as a separate server.asar sidecar to speed up updates

  • Moves the Windows server bundle out of app.asar and into a dedicated resources/server.asar (with natives in server.asar.unpacked), so NSIS differential updates only re-download changed blocks rather than a monolithic archive.
  • Adds stageWindowsServerSidecar in build-desktop-artifact.ts to install hoisted production dependencies for both win32 and linux targets, pack them into server.asar, and place unpacked natives alongside.
  • Adds DesktopWslServerTree in DesktopWslServerTree.ts to extract and version-key the sidecar into a state directory before WSL backend startup, serializing concurrent callers and sweeping stale versions.
  • Updates DesktopEnvironment so serverRoot points to resources/server.asar on packaged Windows, and DesktopBackendConfiguration.resolveWsl gates WSL preflight on successful sidecar extraction.
  • Adds validateWindowsPackagedPayload to verify sidecar integrity, unpacked native presence, resource-monitor existence, fff native load via ELECTRON_RUN_AS_NODE, isolated self-containment check, and a ≤80-file budget before artifact finalization.
  • Behavioral Change: Windows app.asar no longer contains the server tree; NSIS differential packaging is now enabled (differentialPackage: true), which changes blockmap size and update download behavior.

Macroscope summarized f9a65c2.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 571fd5f2-ac02-447c-abd9-ca7ab067f5cb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels Aug 11, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR restructures Windows packaging from loose files to a server.asar sidecar architecture and introduces lazy runtime extraction for WSL users. With ~1800 additions including a new DesktopWslServerTree service, new build/validation logic, new dependencies, and production deployment topology changes, this significant architectural change warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@StiensWout
StiensWout force-pushed the t3code/optimize-windows-update-installation branch from 9c560a3 to 4e8da44 Compare August 12, 2026 06:25

Copy link
Copy Markdown
Contributor

I reproduced two Windows blockers on the current head (4e8da44e5018a19e8cb8a2f1d2d7e053cc00e9db) with a real unsigned x64 NSIS build.

Command:

node scripts/build-desktop-artifact.ts --platform win --target nsis --arch x64 \
  --build-version 0.0.34-nightly.20260812.6169 \
  --output-dir release/pr-review/6169/head --keep-stage
  1. The build runs for 255.22 s, produces the installer, then exits 1 in validateWindowsPackagedPayload:
WindowsPackagedPayloadValidationError: Windows packaged payload contains an invalid server.asar sidecar.
[cause]: Error: "apps/server/dist/bin.mjs" was not found in this archive

The entry is present. On Windows, @electron/asar.statFile expects a native-separator path: statFile(asarPath, "apps\\server\\dist\\bin.mjs") succeeds, while the current hard-coded "apps/server/dist/bin.mjs" fails. The three new payload-validation tests fail for the same reason.

  1. Independently, the generated win-unpacked/resources has server.asar but no server.asar.unpacked directory. The source staging directory contains 35 native files (29,905,936 bytes), and the ASAR header declares all 35 as unpacked, but none are copied into the packaged app. The resulting payload has only 34 total files. Bypassing the validator would therefore still ship a Windows backend that cannot load those native modules.

Please fix both paths and add a Windows-running regression test/build check before merging. The current Linux CI is green but does not exercise this behavior.

Copy link
Copy Markdown
Contributor

Follow-up from launching the exact generated win-unpacked/T3 Code (Nightly).exe with isolated APPDATA and T3CODE_HOME:

  • The Electron root stays alive but has MainWindowHandle = 0; no renderer/window is created.
  • No server-runtime.json readiness receipt is written.
  • The backend restarted 11 times during the observation window.
  • Every child exits with ERR_DLOPEN_FAILED while resolving the absent path:
resources\server.asar.unpacked\node_modules\@yuuang\ffi-rs-win32-x64-msvc\ffi-rs.win32-x64-msvc.node

So the missing unpacked sidecar is confirmed as a user-visible startup failure, not just a packaging invariant.

Comment thread .github/workflows/windows-package-smoke.yml Outdated
@StiensWout

Copy link
Copy Markdown
Contributor Author

[gpt-5.6-sol] RESPONDING ON BEHALF OF WOUT:

@SunkenInTime Thanks for the concrete Windows repro. Both blockers are fixed on the latest head.

  • The ASAR entry check now uses the host-native path from path.join(...), so statFile succeeds on Windows.
  • server.asar and server.asar.unpacked are now staged under one parent resource directory and copied with a single electron-builder matcher, avoiding the dropped standalone .unpacked FileSet.
  • Added a path-filtered Windows CI workflow that builds and validates a real unsigned x64 NSIS artifact.

The new Windows package run passed: Windows Package Smoke. The final payload validator reported 70 files and all 35 ASAR-unpacked sidecar natives present. The fixes landed in e8e553cb3; the current head is f9b6fbf5b.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f9b6fbf. Configure here.

Comment thread scripts/build-desktop-artifact.ts Outdated
@SunkenInTime

Copy link
Copy Markdown
Contributor

Re-tested the updated head 5a0b97e1d671008a7ae507e47997c8cb9ccd30c6 end to end on Windows 11 after the three follow-up commits.

The original blockers are fixed:

  • the exact release build completed successfully in 285.31s and validated server.asar plus 35 unpacked native sidecars
  • the resulting installer is 161,607,727 bytes (154.12 MiB)
  • an isolated silent install completed in 11.42s and produced 70 installed files
  • the packaged backend receipt appeared 3.88s after process start
  • the actual installed Electron window rendered the T3 Code UI successfully
  • focused desktop/scripts typechecks pass, and the new CI Package unsigned x64 NSIS artifact job is green

The remaining 7/69 failures in my Windows-focused local test selection are path-separator expectations in tests; the functional sidecar validation cases passed and CI Check/Test are green. I consider the two packaging findings I reported above resolved and this updated PR ready to merge.

@t3-code

t3-code Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

hey @StiensWout, thanks for the work and the Windows verification here. could you update/rework this PR on current main now that #5877 has merged?

the merged work improves the foundation this PR can build on:

  • the server cli now bundles ordinary js dependencies
  • one shared external-package list drives both bundling and packaging
  • Windows only needs the required external/native closure outside the asar instead of the whole node_modules tree
  • emitted-bundle guards and an isolated runtime probe catch missing, incorrectly bundled, or staging-leaked dependencies

with that in place, server.asar should be buildable from the bundled server output plus only the required external/native packages. it should no longer need a separate hoisted install of the full server dependency tree. that should make the sidecar smaller and simpler while retaining the merged correctness checks.

suggested rework:

  1. rebase onto current main; the current textual conflicts are in scripts/build-desktop-artifact.ts and its test.
  2. preserve the shared external list, emitted-bundle checks, selective packaging model, symlink-isolated probe, and regression tests.
  3. derive the sidecar contents from the bundled server plus the shared runtime-external/native closure instead of resolvedServerDependencies wholesale.
  4. adapt the self-containment probe to validate the extracted sidecar tree, in addition to checking the asar entry, unpacked natives, resource monitor, and file-count budget.
  5. recalibrate the file-count budget against the current topology.
  6. expand the Windows smoke workflow paths to cover the bundler/external-list and desktop runtime files. either include the release WSL prebuild or clearly scope the job as Windows-primary/package-only.
  7. rerun the real NSIS install/launch and WSL backend test with build staging removed, then report the incremental file-count, install/update-time, and artifact-size benefit over current main.

one possible approach is to split this into:

  • a low-risk PR for Windows package CI and payload/integrity guards
  • a measured architecture PR for server.asar, backend-root changes, and lazy WSL extraction/cache

that would let the validation improvements land independently while the runtime topology gets focused benchmarking and review. the sidecar reportedly reduced the installed payload from 1,192 files to 70, so keeping it together may also be reasonable if the new benchmark still shows a worthwhile gain. happy for you to choose whichever structure you think is best.

@StiensWout
StiensWout force-pushed the t3code/optimize-windows-update-installation branch from 5a0b97e to 9d01edb Compare August 14, 2026 05:52
@StiensWout

Copy link
Copy Markdown
Contributor Author

[gpt-5.6-sol] RESPONDING ON BEHALF OF WOUT:

Rebased and reworked on current main (7e01d33f0); the latest head is db44b0f3b.

  • The sidecar is now built from the bundled server plus the shared runtime-external closure only: @ff-labs/fff-node, msgpackr-extract, and node-pty.
  • The emitted-bundle/native guards, selective closure checks, and symlink-isolated runtime probe from perf(build): stop unpacking node_modules wholesale from the Windows asar #5877 remain intact.
  • Validation now extracts the final copied resources/server.asar, blocks ancestor/global module leakage, checks the server entry, unpacked natives and resource monitor, then executes node bin.mjs --version from that clean tree.
  • The payload budget is recalibrated to 80 files.
  • WSL still extracts atomically into its versioned cache on first use.

Wout requested that this PR not add repository CI, so the PR-added Windows package-smoke workflow has been removed; the final diff has no .github changes. The standard Check, Test, Release Smoke, native analysis, fingerprint, Cursor, and Macroscope checks are green on the latest head.

For concrete topology evidence, the local isolated stage has 3 dependency roots, 33 unpacked natives, and 36 files in the synthetic packaged payload. The Windows package run on the immediately preceding code-equivalent head also passed with 70 files and 35 sidecar natives; the only subsequent source change was deleting that workflow. I have not claimed fresh NSIS install/update timing or a real WSL end-to-end run for the rebased topology, because those were not rerun from this Linux worktree.

@t3-code t3-code Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

requesting changes on exact head db44b0f3bca31c678ac1aaa6a275cac27822a95a. the sidecar rework now correctly uses the bundled server plus the shared minimal external/native closure, and the focused tests/static checks pass. however, the windows primary has a native-library path blocker: it runs from server.asar, while the existing fff patch only redirects app.asar paths to their .unpacked sibling. the current extracted plain-node probe cannot catch failures caused by electron's in-asar path. please fix the redirect for this sidecar and add a primary-runtime probe that exercises fff from inside the packed archive.

verified locally: 90 focused tests, desktop/server/scripts typechecks, formatting, focused lint, build:desktop, a real minimal sidecar stage, extracted native imports, and materialized linux node-pty spawn. these do not replace windows nsis + primary + wsl end-to-end validation or performance measurements on this rebased head.

Comment thread apps/desktop/src/app/DesktopEnvironment.ts
@StiensWout
StiensWout force-pushed the t3code/optimize-windows-update-installation branch from db44b0f to 6935615 Compare August 14, 2026 08:42
@github-actions github-actions Bot added size:XXL 1,000+ changed lines (additions + deletions). and removed size:XL 500-999 changed lines (additions + deletions). labels Aug 14, 2026
Comment thread apps/desktop/src/wsl/DesktopWslServerTree.ts Outdated
@StiensWout
StiensWout force-pushed the t3code/optimize-windows-update-installation branch from 6935615 to 725738c Compare August 14, 2026 08:49
Comment thread scripts/build-desktop-artifact.ts Outdated
Comment thread patches/@ff-labs__fff-node@0.9.4.patch Outdated

@t3-code t3-code Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-reviewed exact head ee24370b6116e34d19b5f14f92f78c3b34b30c49. the prior server.asar fff blocker is fixed: the patch now selects the nearest .asar segment, and the packaged windows-primary validator exercises FileFinder.create() and destroy() through the final archive. regular-file payload validation is also fixed.

two blockers remain. first, the executable probe gates only on win32, so an x64 windows host building the documented arm64 target will produce the arm64 payload and then try to execute its arm64 electron binary locally. second, the shared WSL semaphore caps filesystem operations and retained file buffers, but each recursive directory still creates its own eight-way Effect.forEach, so recursive task growth remains unbounded.

verified locally: frozen install, 92 focused tests, the full desktop/scripts suites (753 tests), desktop/server/scripts typechecks, focused lint/formatting, build:desktop, and git diff --check pass. exact-head check, test, and release smoke are green; the vercel authorization failure is unrelated. no exact-head windows nsis or windows+wsl end-to-end run is present.

Comment thread scripts/build-desktop-artifact.ts
Comment thread apps/desktop/src/wsl/DesktopWslServerTree.ts Outdated
@StiensWout
StiensWout force-pushed the t3code/optimize-windows-update-installation branch from ee24370 to 72afc57 Compare August 14, 2026 11:41
Comment thread scripts/build-desktop-artifact.ts Outdated

@t3-code t3-code Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-reviewed exact head 7a1e399c3c40ca41829ec488b685067624a38df6. the prior WSL traversal blocker is fixed: extraction now uses one iterative work list with a global eight-task bound, and the 4,681-node regression holds the active maximum at eight. the original cross-architecture execution failure and helper-executable selection are also fixed.

one packaging blocker remains: the architecture mismatch returns before validating that the expected application executable exists and is a regular file. an x64 host can therefore accept an arm64 payload with a valid sidecar/resource monitor but no primary app executable. keep executable existence/type validation architecture-independent and skip only its execution; add a mismatch regression that deletes the expected app executable.

verified locally: frozen install, 94 focused tests, all 755 desktop/scripts tests, desktop/server/scripts typechecks, full lint and formatting, build:desktop, and git diff --check pass. exact-head required checks (Test, Check, Mobile Native Static Analysis, and Release Smoke) pass. the vercel authorization failure is non-required and unrelated. windows + WSL release readiness remains separate, with no fresh same-architecture windows NSIS, packaged-primary, or WSL end-to-end evidence.

Comment thread scripts/build-desktop-artifact.ts Outdated

@t3-code t3-code Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-reviewed exact head f9a65c27628a032cc2b81c03a510aff39665aa79. the final blocker is fixed: the expected application executable is now constructed and stat-validated for every target before architecture compatibility skips only execution, and the new x64-host/arm64-target regression removes the executable and requires WindowsPrimaryNativeProbeError. the previously verified fff sidecar loading, exact app selection, WSL traversal bound, payload checks, and bundled/minimal external closure remain intact.

verified locally: 95 focused tests and all 756 desktop/scripts tests pass; desktop/server/scripts typechecks, focused lint/formatting, and git diff --check pass. exact-head required checks (Test, Check, Mobile Native Static Analysis, and Release Smoke) pass. the vercel authorization failure is non-required and unrelated.

code review approved. the PR is textually mergeable and its required checks are green. windows + WSL release readiness remains separate because this head still has no fresh same-architecture windows NSIS, packaged-primary, or WSL end-to-end evidence.

Copy link
Copy Markdown
Contributor

Re-tested exact head f9a65c27628a032cc2b81c03a510aff39665aa79 on Windows with the worktree-local/locked toolchain.

The real unsigned x64 NSIS flow is green: it produced the installer + blockmap, validated a 69-file payload with all 35 ASAR-unpacked natives, successfully ran the packaged T3 Code (Alpha).exe fff/FileFinder probe, and completed the isolated extracted-sidecar node bin.mjs --version check.

One non-blocking test-portability follow-up remains. This focused command reports 85 passed / 10 failed on Windows:

.\node_modules\.bin\vp.cmd test run `
  apps/desktop/src/app/DesktopEnvironment.test.ts `
  apps/desktop/src/backend/DesktopBackendConfiguration.test.ts `
  apps/desktop/src/wsl/DesktopWslServerTree.test.ts `
  scripts/build-desktop-artifact.test.ts `
  scripts/lib/cli-external-packages.test.ts

The PR-added failures are:

  • validates every ASAR-unpacked native... and rejects a sidecar whose extracted server bundle cannot resolve reach the same-arch primary probe and try to spawn the fixture's text file named t3code.exe, which fails with spawn UNKNOWN on Windows. Those cases need a mock child-process layer (or another fixture strategy) when the test is exercising validation rather than the real executable.
  • skips the primary native probe for cross-architecture Windows payloads observes an ELECTRON_RUN_AS_NODE=1 command on Windows and fails its assertion, so the host-architecture override/layer precedence is not doing what this regression expects in the actual target environment.
  • The new DesktopEnvironment sidecar assertion and DesktopBackendConfiguration primary assertion build/expect paths with literal /, so they fail against the Windows Path.Path implementation. Using the injected path service (or normalizing before comparison) would make them platform-safe.

There are additional pre-existing POSIX-path assertions in those suites, but the cases above are introduced by this PR. I would fix these so the Windows-specific regression suite is trustworthy on Windows; I did not find a new functional packaging blocker in the real artifact flow.

@shivamhwp
shivamhwp merged commit c9063f0 into pingdotgg:main Aug 14, 2026
18 of 19 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 14, 2026
## What's Changed
* perf(desktop): speed up Windows update installation by @StiensWout in pingdotgg/t3code#6169
* fix(web): style sidebar action tooltips by @t3-code[bot] in pingdotgg/t3code#6371


**Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260814.1095...v0.0.34-nightly.20260814.1096

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260814.1096
awtprod added a commit to awtprod/t3-code that referenced this pull request Aug 16, 2026
* feat: pick worktree or current checkout per project (pingdotgg#5766)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): sidebar rows show the branch again, not a truncated plan step (pingdotgg#5776)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(server): vp run migrate-dev-db seeds worktree dev dbs with real data (pingdotgg#5773)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): keep unsent drafts one click away in the sidebar (pingdotgg#5777)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): project icons can be chosen manually (pingdotgg#5775)

* fix(server): one greedy agent process no longer takes down the whole server (pingdotgg#5788)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* ci: label-gated hosted-web preview deploys (pingdotgg#5465)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add cross-platform mobile usage dashboard (pingdotgg#5743)

* fix(web): preserve desktop route during Clerk auth (pingdotgg#5770)

* fix(web): match create theme and import theme buttons to the standard outline style (pingdotgg#5860)

* fix(server): favicon resolution no longer pins the event loop (pingdotgg#5538)

* fix(shared): bound the file-link label so bracket runs stop rescanning (pingdotgg#5782)

Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): thread title button no longer eats the drag area (pingdotgg#5857)

* fix(web): unify usage page chrome (pingdotgg#5823)

* fix(shell): add ~/.local/bin to the Windows CLI resolver so native-installed providers are found (pingdotgg#5074)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(web): match settings search shortcut styling to command palette's (pingdotgg#5841)

* fix(mobile): long-pressing a thread row no longer navigates into the thread (pingdotgg#5901)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): usage no longer double-counts forked Codex sessions (pingdotgg#5887)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): sandbox user-provided SVGs (pingdotgg#5916)

* fix(web): match usage titlebar text styling (pingdotgg#5897)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* Move project settings to contextual project routes (pingdotgg#5923)

* Preserve back navigation when opening settings (pingdotgg#5930)

Co-authored-by: codex <codex@users.noreply.github.com>

* Automate production mobile EAS releases (pingdotgg#5609)

* Add settings and usage breadcrumbs (pingdotgg#5929)

* fix(web): correct model picker trigger padding (pingdotgg#5935)

* fix(web): show worktree icon in sidebar v2 (pingdotgg#5909)

* fix(web): enable restore defaults after theme mix changes (pingdotgg#5928)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* fix(web): trait menu closes after you pick a level (pingdotgg#5879)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): align project name with headline (pingdotgg#5864)

* fix(web): update pills use readable theme foregrounds (pingdotgg#5938)

* fix(web): use themed confirmation dialogs (pingdotgg#5624)

* fix(web): use import/export-appropriate icons for theme buttons (pingdotgg#5964)

* fix(mobile): detect PowerShell cmdlet errors in work log rows (pingdotgg#5726)

* fix(mobile): stop Android user bubbles with code blocks from overlapping (pingdotgg#5659)

Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(mobile): parse EAS fingerprint JSON (pingdotgg#5991)

Co-authored-by: codex <codex@users.noreply.github.com>

* chore(release): prepare v0.0.33

* feat: multi-provider pull requests page with in-app reviews (pingdotgg#4849)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* perf(desktop): probe the Windows shell environment concurrently (pingdotgg#5878)

Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>

* feat(web): add duplicate action to the T3 Code default theme (pingdotgg#6013)

* fix(web): improve built-in theme contrast (pingdotgg#6000)

* fix(ci): extend release publish timeout (pingdotgg#6034)

* Allow Android tablets to rotate (pingdotgg#5613)

* fix(web): account for Windows window controls in PR page header (pingdotgg#6049)

* feat: add three-hour snooze option (pingdotgg#5914)

* fix(mobile): keep chat composer above the Android gesture bar (pingdotgg#5988)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): OpenCode model parsing drops models with a slash in the JSON body (pingdotgg#5072)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(web): persist sidebar shelf collapse state (pingdotgg#5136)

Co-authored-by: Illia Panasenko <hello@ipanasenko.me>

* perf(web): skip base64 for oversized image candidates (pingdotgg#5220)

* fix(server): skip Linux libc detection on Windows/macOS (pingdotgg#5354)

* fix(server): advertise 256-color TERM on Windows terminals (pingdotgg#5693)

* fix(server): handle unborn HEAD in VCS status (pingdotgg#5944)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* fix(pull-requests): route self-hosted GitLab remotes (pingdotgg#6061)

* feat: add ability to create a new thread in the current project with shift+click and show shortcut in tooltip (pingdotgg#5994)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>

* feat(web): add Copy Thread ID to the sidebar and chat header thread context menu (pingdotgg#5574)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>

* fix(mobile): stabilize thread composer and interactions (pingdotgg#5986)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Thuong Tin <thuongtin@gmail.com>
Co-authored-by: Kapish14 <kapishnarang01@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add hourly past-24-hour usage view (pingdotgg#6170)

* fix(mobile): guard App Store release versions (pingdotgg#6177)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): restore typography font sizes to defaults (pingdotgg#6172)

* feat(web): make environment artwork theme aware (pingdotgg#6183)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(shared): normalize a bare Windows drive root the same as C:\ / C:/ (pingdotgg#6189)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(shared): detect Azure DevOps SSH remotes (ssh.dev.azure.com) (pingdotgg#6187)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(web): add back buttons for the pull requests and usage pages in the sidebar footer (pingdotgg#6031)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>

* fix(web): render dropdowns above toasts (pingdotgg#6165)

Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): thread error banner dismiss survives reconnect and rerenders (pingdotgg#6123)

* fix(web): use a clearer pull action icon (pingdotgg#6194)

* feat(web): use OKLCH for theme palettes (pingdotgg#6036)

* fix(web): use upload icon for disabled push action (pingdotgg#6207)

* feat(web): add Open VSX theme search (pingdotgg#5654)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): clean up composer resize animation (pingdotgg#6209)

* feat(web): compact sidebar footer actions (pingdotgg#6210)

* fix(web): keep sidebar wordmark visible at minimum width (pingdotgg#6246)

* feat(mobile): add thread title regeneration (pingdotgg#6253)

* chore: add dara to vouched (pingdotgg#6259)

* fix(web): align the composer model picker (pingdotgg#6252)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>

* fix(mobile): keep ordered lists inside user bubbles (pingdotgg#6154)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>

* feat(web): a better right panel empty state (pingdotgg#6258)

* fix(web): align mobile onboarding header (pingdotgg#6293)

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>

* fix(connect): preserve CLI OAuth parameters through browser sign-in (pingdotgg#6285)

* fix(web): prevent changed files header overlap (pingdotgg#6314)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>

* fix(web): theme Clerk surfaces (pingdotgg#6300)

* feat(web): reset sidebar width on double click (pingdotgg#6320)

* fix(web): align update toast release notes link (pingdotgg#6322)

Co-authored-by: t3-code[bot] <219304759+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Exotic <118054752+extoci@users.noreply.github.com>

* fix(web): render tooltips above dropdowns (pingdotgg#6241)

* fix(web): open modified PR clicks in browser (pingdotgg#6278)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>

* Fix mobile command popover glass rendering (pingdotgg#6370)

* test(mobile): seed snoozed showcase threads (pingdotgg#5155)

* fix(web): preserve appearance mode when changing themes (pingdotgg#6343)

* feat(connect): deregister account environments from any client (pingdotgg#4844)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): pull request surfaces — filters & qualifiers, all-server listing, update branch, reactions, in-place editing, smarter diffs (pingdotgg#6039)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): cmd+click sidebar PR numbers open in the browser (pingdotgg#6378)

* feat(web): project favicon and workspace icons in command subtitles (pingdotgg#6330)

Co-authored-by: Cursor <cursoragent@cursor.com>

* web/settings: fix source control scan on relay environments (pingdotgg#6230)

* fix(web): make reset zoom hover visible (pingdotgg#6385)

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>

* fix(web): keep the typed prompt when a draft changes repo (pingdotgg#6393)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep diff file lists scrollable past expanded files (pingdotgg#6423)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): align Codex collaboration prompts (pingdotgg#6432)

* fix(web): keep turn minimap stable as composer grows (pingdotgg#6414)

* fix(web): keep pull request panel within viewport (pingdotgg#6451)

* Add bil0000 to VOUCHED contributors list (pingdotgg#6462)

* fix: ignore pull request actions in latency tracker (pingdotgg#6476)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>

* Remove rebase requirement before opening PR (pingdotgg#6479)

* fix(mobile): extend blockquotes across wrapped lines (pingdotgg#6482)

* fix(mobile): prevent invalid HTML entities from crashing markdown (pingdotgg#6495)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* fix(web): avoid Clerk close button overlap (pingdotgg#6442)

Co-authored-by: t3-code[bot] <236186684+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>

* fix(web): show unlinked icon when viewport aspect ratio is unlocked (pingdotgg#6509)

* fix(web): scope pull request errors to their environment (pingdotgg#6490)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): show a real settings cog in the Android sidebar header (pingdotgg#6520)

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

* fix(web): restore default stage artwork colors (pingdotgg#6535)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>

* fix(web): align sidebar wordmark label (pingdotgg#6086)

* fix(web): align the snoozed thread wake icon (pingdotgg#6215)

* feat: allow disabling auto-settle on merge (pingdotgg#5880)

* Nest mobile task settings in bottom sheets (pingdotgg#6224)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* chore(mobile): bump app version to 1.0.4

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): simplify the desktop-managed server update banner copy (pingdotgg#6549)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show background policy tooltips sooner (pingdotgg#6506)

* feat(desktop): add favicons to the Browser panel (pingdotgg#5644)

* fix(preview): only show browser-ready local servers (pingdotgg#6021)

* perf(build): stop unpacking node_modules wholesale from the Windows asar (pingdotgg#5877)

Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>
Co-authored-by: t3-code[bot] <t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>

* fix: avoid stale Live Activities when publishing is disabled (pingdotgg#6325)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): add breathing room between the git progress overlay and the app bar (pingdotgg#6587)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep thread rename open during IME composition (pingdotgg#6281)

* refactor(mobile): name the iOS nav bar height fallback (pingdotgg#6589)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): preserve keyboard suggestions while typing (pingdotgg#6323)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): prevent OTA update restart crashes (pingdotgg#6324)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): align every titlebar control cluster on one shared inset (pingdotgg#6592)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): steer active turns by default (pingdotgg#6543)

* fix(web): clarify desktop update status (pingdotgg#6504)

* fix(server): terminal subprocess polling no longer floods the PID space (pingdotgg#6377)

* fix(web): add copying terminal selection with ctrl+c in the web app (pingdotgg#5638)

* perf(desktop): speed up Windows update installation (pingdotgg#6169)

* fix(web): style sidebar action tooltips (pingdotgg#6371)

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>

* refactor(web): simplify global styling (pingdotgg#6381)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): handle files named HEAD in git status (pingdotgg#6397)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* feat(packaging): maintain AUR packages in-repo (pingdotgg#4128)

* fix(web): bound OKLCH gamut mapping (pingdotgg#6485)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* feat(web): open remote environments in your local editor over SSH (pingdotgg#6572)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): refresh workspace layouts and tool activity

* revert: refresh workspace layouts and tool activity (pingdotgg#6657)

* Sync upstream with public-safe fixtures

Squash the reviewed upstream sync into a public-safe history while preserving its final tree.

* feat(web): older chat timestamps show the date, not just the time (pingdotgg#6654)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): align pull request action menu rows (pingdotgg#6534)

Co-authored-by: Nickolas Kyryliuk <nickolaskyryliuk@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): restore selected themes in dark mode (pingdotgg#6665)

* fix(web): improve Codex usage graph contrast (pingdotgg#6669)

* docs: route feature requests to Discussions

- Disable feature-request issue templates
- Direct contributors to Ideas discussions for proposals

* fix(desktop): app zoom no longer zooms the preview browser (pingdotgg#6649)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(server): keep provider notification consumers alive past startSession (pingdotgg#6538)

Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>

* fix(server): treat removed Bitbucket permissions endpoint as unknown, not blocking (pingdotgg#6525)

* fix(ssh): let cold remote servers finish starting (pingdotgg#6168)

* fix(web): preserve Claude insight line breaks (pingdotgg#4344)

* feat(web): accept file drops across the chat workspace (pingdotgg#6636)

* fix(web): widen ordered-list marker gutter for 3+ digit item numbers (pingdotgg#6527)

* fix(server): bound thread activity hydration (pingdotgg#6153)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* fix(web): restore the Archive action in the default sidebar thread menu (pingdotgg#6526)

* fix(web): open diff files from nested projects (pingdotgg#6174)

* fix(mobile): use tryOpenExternalUrl for markdown links in ThreadFeed (pingdotgg#5872)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): open the file a bare filename reference names (pingdotgg#6297)

Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(server): stop the provider title mirror from overwriting real thread titles (pingdotgg#5941)

* fix(shared): match source-control providers by DNS label (pingdotgg#6175)

* feat(desktop): Chrome-style hold-to-quit (pingdotgg#5508)

* fix(gitlab): submit review comments on context lines (pingdotgg#6348)

* fix(marketing): keep Grok mark clear of mobile hero copy (pingdotgg#4542)

* fix(mobile): recover the QR pairing scanner when camera access is denied (pingdotgg#6487)

* fix(web): keep a long path from running under the folder picker button (pingdotgg#4823)

Co-authored-by: Sy-D <8460326+Sy-D@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(terminal): right-click paste works in the terminal (pingdotgg#5240)

* fix(mobile): explain iOS-only settings on Android (pingdotgg#4981)

* fix(web): stop counting a workflow coordinator as a working agent (pingdotgg#6672)

* fix(web): keep floating preview anchored after panel closes (pingdotgg#6547)

* fix(web): unstick /connect after in-modal sign-in by redirecting to the authorize endpoint (pingdotgg#5133)

* fix(web): keep send reachable while a turn is running on mobile (pingdotgg#4781)

Co-authored-by: AMohamedAakhil <hello@takaitech.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): reject unsupported composer image types at attach time (pingdotgg#6574)

* Make ClaudeTextGeneration tests hermetic on Windows (pingdotgg#4508)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): show command output in work log (pingdotgg#4083)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): reserve sibling column width when resizing the right panel (pingdotgg#6279)

* fix(web): replace whitespace in new ref names with dashes (pingdotgg#6270)

* fix(client-runtime): branch list no longer resets while paging through refs (pingdotgg#5858)

* fix(web): support Shift+Insert terminal paste (pingdotgg#5982)

* fix(web): keep the composer glass aligned with the context strip at any interface font size (pingdotgg#5703)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(codex): keep background memory out of chats (pingdotgg#5468)

* fix(server): treat a missing Codex rollout as a recoverable resume error (pingdotgg#6671)

* fix(web): hide provider Update toast action while an update is running (pingdotgg#6544)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(desktop): agent shells inherit a UTF-8 locale on macOS (pingdotgg#6236)

* fix(server): ignore Claude command lifecycle messages (pingdotgg#6606)

* docs: mention Bitbucket user read scope needed by auth probe (pingdotgg#6291)

Co-authored-by: Gerwin Bisschop <gerwin@regeljelease.nl>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): return valid preview action results (pingdotgg#5966)

Co-authored-by: duncan-vc <247855047+duncan-vc@users.noreply.github.com>

* fix(claude): make "Always allow for session" stick, and only for the session (pingdotgg#5041)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ssh): surface a failed remote t3 install instead of a silent 0-byte server.log (pingdotgg#5132)

* perf(server): persist the wire projection for streaming tool.updated data (pingdotgg#6675)

Co-authored-by: mInrOz <14320143+mInrOz@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): stop wrapping partial code block selections in markdown fences (pingdotgg#5069)

* fix(web): hide T3 Connect toggle in web app settings (pingdotgg#5068)

* fix(web): show provider account accent badge in sidebar rows and hover card (pingdotgg#5980)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): wait for concurrent SQLite writers instead of failing with SQLITE_BUSY (pingdotgg#5134)

* fix(web): reject oversized prompts before provider turn start (pingdotgg#6602)

* feat(web): collapse the question prompt from its header (pingdotgg#6773)

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

* fix(shared): degrade an unknown system time zone to UTC in usage windows (pingdotgg#6670)

* fix(claude): discover repo-local .agents/skills in skill discovery (pingdotgg#5488)

* fix(server): let slow provider CLIs raise their discovery probe budget (pingdotgg#6223)

Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* fix(web): retain terminal PR badges after checkout switch (pingdotgg#4755)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): show selected model in context window tooltip (pingdotgg#4772)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): scale command details with code font (pingdotgg#6510)

* fix(web): preserve XML-like tags in user messages (pingdotgg#4133)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(desktop): route mouse thumb buttons to the in-app browser (pingdotgg#4459)

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

* fix(web): keep the final segment of directory paths with a trailing separator (pingdotgg#5460)

Co-authored-by: jorvarea <jorvarea@users.noreply.github.com>

* Keep block code plain when copying from rendered markdown (pingdotgg#4468)

* fix(web): add web app manifest so installed app keeps its scope (pingdotgg#4306)

* Skip user hooks during Claude capability probes (pingdotgg#4466)

* fix(mobile): use Android monospace font family (pingdotgg#4609)

* fix(desktop): timestamps follow the OS locale instead of en-US (pingdotgg#6190)

* fix(web): keep multi-select questions open after the first click (pingdotgg#6646)

* fix(web): stop clipping the changed-files expand hover on Windows (pingdotgg#6545)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(server): allow long-running git pushes (pingdotgg#6499)

* fix(desktop): keep probing backend readiness while the process is alive (pingdotgg#5526)

* fix(server): allow install scripts in npm-global provider updates (pingdotgg#5646)

* fix: detect SSH remotes with non-git user prefixes (e.g. gitlab@) (pingdotgg#3649)

* fix(web): describe what Ultracode does in the Reasoning picker (pingdotgg#6092)

* fix(server): settle pending user-input requests when a Claude session stops (pingdotgg#5127)

Co-authored-by: Capxul Agent <agent@capxul.dev>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): stop replaying a command receipt for a different aggregate (pingdotgg#5246)

* fix(server): settle snoozed threads immediately (pingdotgg#5379)

* fix(mobile): prevent crash on sign out in settings (pingdotgg#4899)

* fix(mobile): local-checkout threads record their branch so PR badges show (pingdotgg#4986)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): contain long approval commands (pingdotgg#6503)

* feat(web): make right panel maximize bindable (pingdotgg#5091)

* fix(server): respect inherited OPENCODE_CONFIG_CONTENT (pingdotgg#4242)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(marketing): detect Mac chip on homepage download button (pingdotgg#4197)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Keep the server alive when a response write hits a dead socket (pingdotgg#4470)

* Limit physical key fallback to non-Latin layout output (pingdotgg#4469)

* fix: restore CLAUDE.md symlink target (pingdotgg#3929)

* fix(clients): default clone destination to folder plus repo name (pingdotgg#5989)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): keep timestamp date and time in the same locale (pingdotgg#7081)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(desktop): add signal macOS DMG installer background (pingdotgg#6201)

Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): send PR line requests to agent (pingdotgg#6597)

* fix(web): restore dark theme palette (pingdotgg#6663)

Co-authored-by: maria <maria@kuuro.net>

* refactor(web): simplify advanced theme controls (pingdotgg#7107)

* fix(web): keep highlighted command menu items clear of the scroll fade (pingdotgg#7132)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* test: remove redundant and stale tests (pingdotgg#6267)

* fix: repair typecheck errors left by the upstream/main merge

Fixes surfaced by a full repo-wide typecheck after merging upstream/main
and origin/main into sync-upstream-continue:

- apps/web/src/components/SidebarV2.tsx: add missing isRunning field
- apps/web/src/components/settings/BetaSettingsPanel.tsx: replace removed
  useSidebarV2Enabled hook with useClientSettings selector
- apps/web/src/components/settings/SettingsFontPreviews.tsx: drop obsolete
  onCopy callback (GhosttyTerminalSurface now handles copy natively)
- apps/mobile/src/lib/threadActivity.ts: remove duplicate
  MOBILE_TERMINAL_UPDATE_STATUSES/isTerminalBypassUpdate/isAgentInternalActivity
  block left by a silent (non-conflict-marked) merge duplication
- apps/mobile/src/features/threads/ThreadComposer.tsx: remove duplicate
  handleEfficiencyMenuAction, same cause
- apps/mobile/src/features/threads/ThreadDetailScreen.tsx: stop passing
  activeThreadBusy to ThreadComposer, which no longer accepts it
- apps/mobile/src/features/home/HomeScreen.tsx: remove dead
  shouldShowConnectionStatus/WorkspaceConnectionStatus/connectionStatus
  references (connection state now surfaces via the header title slot)
- apps/mobile/src/features/home/HomeRouteScreen.tsx: fix settings-sheet
  navigation params, drop the now-removed onOpenEnvironments prop
- apps/mobile/src/features/settings/SettingsUsageRouteScreen.tsx: use the
  fork's UsageQuerySummary/UsageQueryTokenTotals types instead of upstream's
  UsageSummary/UsageTokenTotals, matching what the usage RPC actually returns
- packages/contracts/src/ipc.ts: drop DesktopBridge.confirm, superseded by
  LocalApi.dialogs.confirm; every desktop-side implementation had already
  dropped it independently
- apps/desktop/src/window/DesktopApplicationMenu.test.ts: drop the
  now-invalid confirm mock to match
- apps/desktop/src/preview/Manager.ts: remove a duplicate
  FrameCaptureConsumer/FrameCaptureSession/PictureInPictureSession block
- apps/server/src/environment/RemoteOpenTargets.ts: fix service tag to the
  fork's @awtprod/command-center/... convention
- apps/server/src/persistence/Layers/ProjectionThreads.ts: restore the
  upsertProjectionThreadRow query, which a conflict resolution had mangled
  into an invalid mix of INSERT and SELECT clauses
- apps/mobile/package.json, patches/@legendapp__list@3.3.3.patch: fix
  @legendapp/list version pin and repair a patch file left with unresolved
  nested conflict markers from a rename/rename conflict

Full repo-wide `vp run -r typecheck` now passes clean across all 16
workspace packages.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix: repair pre-existing SQL and test bugs surfaced by running the full suite

- apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts: three
  activity-listing queries selected correlated_message_id in their outer
  SELECT but never in the inner bounded subquery (two cases) or not at all
  (listPinnedThreadActivityRowsByThread), causing "no such column" SQL
  errors and schema decode failures. Pre-existing in HEAD before this
  merge, just never exercised until the full test suite ran clean of
  conflict markers.
- packages/contracts/src/settings.test.ts: removed a test asserting that
  decoding drops the sidebarV2Enabled/sidebarV2ConfiguredByUser keys —
  contradicted the adjacent "ClientSettings sidebar v2" tests and the
  real schema, which keeps both fields alive alongside legacySidebarEnabled
  for BetaSettingsPanel.tsx.
- packages/contracts/src/settings.ts: fixed the legacySidebarEnabled
  comment to describe the fields as coexisting, not superseding.
- apps/web/src/browserFaviconStore.test.ts, browserHistoryStore.test.ts:
  switched their `~/state/session` mocks to importOriginal() + override,
  so the real environmentSession export (now used transitively via
  state/server.ts) stays available instead of being dropped entirely.

Full repo-wide `vp run -r test` passes (aside from two known-flaky
poll-based tests that pass in isolation but time out under full
concurrent load, unrelated to this merge).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(server): update stale npm-global test expectation for --allow-scripts

Upstream added the --allow-scripts=<package> flag to npm-global provider
update commands; this test's expectation was the only one in the file
that hadn't been updated to match (the other three assertions in the same
file already expect the flag).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* test(server): skip a deadlocking git-push timeout test pending investigation

"allows pushes to run longer than the default command timeout" hangs until
the test timeout regardless of how long that timeout is (confirmed at both
120s and 180s), merged verbatim from upstream commit 86fb47a and
untouched by any conflict resolution in this sync. Needs its own look at
how pushCurrentBranch's command-timeout override interacts with TestClock;
skipping for now so it doesn't block the suite.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix: keep usage dashboard current (#25)

Co-authored-by: atryan <atryan@users.noreply.github.com>

* fix(web): keep usage totals current by default (#26)

Co-authored-by: atryan <atryan@users.noreply.github.com>

* feat(desktop): run local threads without leaving a remote primary (#27)

* fix(web): switch new threads between connected computers

* feat(desktop): keep Windows available with a remote primary

* docs: explain local execution with a remote primary

---------

Co-authored-by: atryan <atryan@users.noreply.github.com>

* fix(web): open usage on the past 24 hours (#28)

* fix(web): open usage on the past 24 hours

* fix(server): resolve native Codex npm runtimes

---------

Co-authored-by: atryan <atryan@users.noreply.github.com>

* fix(desktop): stop remote-primary mode from launching a local backend (#30)

Co-authored-by: atryan <atryan@users.noreply.github.com>

* fix(web): keep visible usage dashboards current (#31)

Co-authored-by: atryan <atryan@users.noreply.github.com>

* Fix/codex isolation missing auth (#32)

* fix(web): open usage on the past 24 hours

* fix(server): resolve native Codex npm runtimes

* fix(desktop): stop remote-primary mode from launching a local backend

* fix(server): bypass identity wrapper for isolated Codex

* fix(server): accept enforced Codex read denials

* fix(server): stop isolation probe from scanning host processes

* fix(server): fail closed when Codex isolation finds no credentials

`prepareCommandCenterCodexHome` only copied `auth.json` into the isolated
home when the source home had one, and never checked the result. A source
home without credentials produced a working session that failed on its
first model call with an opaque provider 401 naming neither the missing
file nor the home Command Center actually read.

Require credentials in the isolated home before returning the layout, and
name the resolved source path in the error.

Seed `auth.json` in the fixtures that relied on the previous fail-open
behavior; they cover home layout and profile injection, not auth.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(server): surface Codex sandbox permission requests

Codex 0.147 asks to widen its sandbox with
`item/permissions/requestApproval`. No handler was registered, so the
request fell through to `handleUnknownServerRequest` and was answered
with a JSON-RPC "method not found". Codex reports that as
`user rejected MCP tool call`, so the turn failed with an approval the
user was never shown and could not answer.

Register the handler and map the method through to a real approval
prompt. The request carries an arbitrary path list (each read/write/deny)
plus a network toggle, so the decision is classified on the requested
permissions rather than on the tool that triggered them — a read-only
tool can still ask for write.

`autoApproveReadOnlyPermissions` (off by default) grants an escalation
without prompting only when every entry is a read: any write, sandbox
denial, legacy write list, or network enable still prompts. Auto-grants
are scoped to the turn, never the session.

The approval channel carries only accept/decline, so the granted profile
is the requested one echoed back on accept and an empty profile on
refusal, mirroring how ClaudeAdapter replays SDK permission suggestions.

Requests are surfaced with the `file-change` kind: ingestion derives the
kind from the canonical request type alone, and a kind that varied per
request would disagree between the opened and resolved activities. A
request with no kind renders no prompt in web or mobile while the server
still opens a pending row, which parks the thread unanswerable.

The persisted activity keeps only `detail`, so the requested paths are
folded into it — otherwise the prompt cannot be reviewed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: atryan <atryan@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* style(web): wrap an over-long condition in useLiveRefresh (#34)

`vp check` fails on sync-upstream because this line exceeds the print width,
which blocks CI for every PR targeting the branch. Formatter-only change: the
condition is re-wrapped, with no behaviour difference.

Co-authored-by: atryan <atryan@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(dev): stop a stray system `vp` from silently killing dev servers (#33)

dev-runner spawns `vp` by bare name with `extendEnv: false`, so resolution
depended entirely on the PATH it inherited. When node_modules/.bin was absent
from that PATH, an unrelated /usr/bin/vp (atfs/ShapeTools) won the lookup and
failed in the worst possible way: it printed `basename: unrecognized option
'--filter=...'`, started no dev server, and exited 0. The launcher reported
success while the stack was already gone.

Pin the repo's node_modules/.bin ahead of the inherited PATH so `vp` always
means this repo's toolchain, whatever environment we were launched from.

Co-authored-by: atryan <atryan@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): drop stale ComposerPrimaryActions.test.ts duplicate

The upstream sync left both .ts and .tsx test files for the same
component; they collide on case-insensitive filesystems (Windows/macOS
CI) and release-smoke's path-collision check fails the build. The .tsx
version is upstream's current file and is a strict superset of the
stale fork-only .ts copy.

---------

Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Robert Soriano <sorianorobertc@gmail.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Matt Urenovich <murenovich@gmail.com>
Co-authored-by: Tyler <tyler@southboundsoftware.com>
Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>
Co-authored-by: nathangerday <44236114+nathangerday@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Arham Amin <132888838+arhxam@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ellie Gummere <hello@unknownhost.name>
Co-authored-by: Tristan Knight <admin@snappeh.com>
Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: Carter Smith <51297686+carterwsmith@users.noreply.github.com>
Co-authored-by: Chris Deeming <chris@xenforo.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Mina Yacoub <56601613+myacoub91@users.noreply.github.com>
Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com>
Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: Bilal Bakr <62337003+Bil0000@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Jono Kemball <Noojuno@users.noreply.github.com>
Co-authored-by: Pavlo Trinko <paul.trinko95@gmail.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: Illia Panasenko <hello@ipanasenko.me>
Co-authored-by: Taras <Taras.Fomin@gmail.com>
Co-authored-by: bkntr <888122+bkntr@users.noreply.github.com>
Co-authored-by: yassiEmp <158713173+yassiEmp@users.noreply.github.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Thuong Tin <thuongtin@gmail.com>
Co-authored-by: Kapish14 <kapishnarang01@gmail.com>
Co-authored-by: Exotic <118054752+extoci@users.noreply.github.com>
Co-authored-by: Nick Anisimov <n.anisimov.23@gmail.com>
Co-authored-by: t3-code[bot] <219304759+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Gianmarco <gianmarcosimone89@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Dominic Roy <dominic@goauthentik.io>
Co-authored-by: Dominic Roy <dominic@sdko.org>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: t3-code[bot] <236186684+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adamulek123 <adam.bogucki@piekna.edu.pl>
Co-authored-by: Paul van Dyk <paul@vandyk.fr>
Co-authored-by: Taylor Bombay <taylor@warheadent.com>
Co-authored-by: Rakshith Bhat <88523594+RakshithBhat03@users.noreply.github.com>
Co-authored-by: David Hu <davidhu314@gmail.com>
Co-authored-by: t3-code[bot] <t3-code[bot]@users.noreply.github.com>
Co-authored-by: Michael Charles Aubrey <aubrey@michaelcharl.es>
Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com>
Co-authored-by: atryan <atryan@users.noreply.github.com>
Co-authored-by: Nickolas Kyryliuk <nickolaskyryliuk@gmail.com>
Co-authored-by: Lars Nieuwenhuis <35393046+lnieuwenhuis@users.noreply.github.com>
Co-authored-by: Guilherme Barros <gbarros1095@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: David Balderston <dbalders@gmail.com>
Co-authored-by: mohamedmastouri-hue <mohamed.mastouri@ensi-uma.tn>
Co-authored-by: Ulises Britos <45952970+repparw@users.noreply.github.com>
Co-authored-by: Nicolas Layne <49288482+NicL9923@users.noreply.github.com>
Co-authored-by: JJ <93147993+hey-jj@users.noreply.github.com>
Co-authored-by: Simon Doba <simon.doba@hotmail.de>
Co-authored-by: Sy-D <8460326+Sy-D@users.noreply.github.com>
Co-authored-by: Daniel Vernon <danpvernon@gmail.com>
Co-authored-by: Rishet11 <154429365+Rishet11@users.noreply.github.com>
Co-authored-by: Akshar Patel <123344143+AksharP5@users.noreply.github.com>
Co-authored-by: Torben Wetter <github@torben.id>
Co-authored-by: BootesVoid <78485654+AMohamedAakhil@users.noreply.github.com>
Co-authored-by: AMohamedAakhil <hello@takaitech.com>
Co-authored-by: mohammed shazeb <mohammedshazeb10@gmail.com>
Co-authored-by: Mihnea Peteu <mihneanob@gmail.com>
Co-authored-by: LikoKiko Tech <145937091+LikoKiko@users.noreply.github.com>
Co-authored-by: Vividh Mahajan <82711162+Lasdw6@users.noreply.github.com>
Co-authored-by: Jorge Pineda <jorgepineda0310@gmail.com>
Co-authored-by: abhwshek <67309069+a20hek@users.noreply.github.com>
Co-authored-by: aoright <102943475+aoright@users.noreply.github.com>
Co-authored-by: Williawar <28518115+Williawar@users.noreply.github.com>
Co-authored-by: Mark Griffin <mrmg@deflexion.net>
Co-authored-by: Linus Boehm <linus.boehm@finto.de>
Co-authored-by: Naveed Iqbal <naveediqbal949@gmail.com>
Co-authored-by: Gerwin <9853101+thamrx@users.noreply.github.com>
Co-authored-by: Gerwin Bisschop <gerwin@regeljelease.nl>
Co-authored-by: duncan-vc <duncan@ommsocial.co.za>
Co-authored-by: duncan-vc <247855047+duncan-vc@users.noreply.github.com>
Co-authored-by: Joaquin Navarro <alfian1991@gmail.com>
Co-authored-by: Martin Bergo <martin.n.bergo@gmail.com>
Co-authored-by: mInrOz <14320143+mInrOz@users.noreply.github.com>
Co-authored-by: Tai Nguyen <87302343+JoeJoeflyn@users.noreply.github.com>
Co-authored-by: Vitaly Iegorov <vitalyiegorov@gmail.com>
Co-authored-by: Ostap <33957189+ostapondo@users.noreply.github.com>
Co-authored-by: Jaroslav Brtis <6890442+Jardo-51@users.noreply.github.com>
Co-authored-by: Roshan Mhatre <officialroshanm@gmail.com>
Co-authored-by: Carlos Jimenez <cjimenez@r21digital.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: sebbonit <36650750+sebbonit@users.noreply.github.com>
Co-authored-by: nqrwhal <81386789+nqrwhal@users.noreply.github.com>
Co-authored-by: CursedApple <36764254+Serendeep@users.noreply.github.com>
Co-authored-by: John Surles <outsightszs@Outlook.com>
Co-authored-by: Akos Balogh <hello.akosb@gmail.com>
Co-authored-by: jorvarea <47249803+jorvarea@users.noreply.github.com>
Co-authored-by: jorvarea <jorvarea@users.noreply.github.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: Alex Brodsky <122503996+Albro3459@users.noreply.github.com>
Co-authored-by: Harshith Goka <harshith9399@gmail.com>
Co-authored-by: Paul <paul@brzz.dev>
Co-authored-by: RaitP1 <150583432+RaitP1@users.noreply.github.com>
Co-authored-by: Dev Talan <chaudhary.dev.talan@gmail.com>
Co-authored-by: Luis Gustavo Couto Wacker <luis.wacker@pagar.me>
Co-authored-by: JackatDJL <71508487+JackatDJL@users.noreply.github.com>
Co-authored-by: delltrak <78751023+delltrak@users.noreply.github.com>
Co-authored-by: Aaron Abu Usama <50079365+AaronAbuUsama@users.noreply.github.com>
Co-authored-by: Capxul Agent <agent@capxul.dev>
Co-authored-by: Kevin Bravo <79945749+0bkevin@users.noreply.github.com>
Co-authored-by: shubhu <93861282+shubhu121@users.noreply.github.com>
Co-authored-by: Zeus-Deus <100132710+Zeus-Deus@users.noreply.github.com>
Co-authored-by: El-Hussein Abdelraouf <hussein@raoufs.me>
Co-authored-by: Jono <jono@foodnotblogs.com>
Co-authored-by: Mahdi Ben Messaoud <mahdibenmassoud98@gmail.com>
Co-authored-by: Ngo Quoc Viet <123613986+NgoQuocViet2001@users.noreply.github.com>
Co-authored-by: Inaya Yousfi <zied.essaber@gmail.com>
Co-authored-by: Eddy Naboulet <93473191+eddy-naboulet@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants