GitHub check

Whole log, 133 KB
Current runner version: '2.337.0'
Runner name: 'blacksmith-8vcpu-ubuntu-2404-4rakfuztfmwwkqun'
Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404'
Machine name: 'ip-172-31-73-130'
▸ GITHUB_TOKEN Permissions
Contents: read
Metadata: read
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803)
Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9)
Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/
Complete job name: Test Web
A job started hook has been configured by the self-hosted runner administrator
▸ Run '/setup.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  BLACKSMITH_CHECK_RUN_ID: 119131322247
  BLACKSMITH_JOB_DISPLAY_NAME: Test Web
  GITHUB_ACTIONS_CACHE_MODE: write
Logging daemon started (blacksmithd for logs)
Results daemon started (blacksmithd for results)
Background adoption and SSH setup started (PID: 3104)

----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/39572896784/jobs/119131322247
SSH Access (using your GitHub SSH key):
  ssh -p 64002 runner@blacksmith-8vcpu-ubuntu-2404-4rakfuztfmwwkqun.vm.blacksmith.sh

No GitHub SSH key? Add one at:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

----------------------------------------

VM ID: blacksmith-8vcpu-ubuntu-2404-4rakfuztfmwwkqun
Host: production-152.236.40.218-x8664
Host Agent PID: 985932
Host Agent Git SHA: 6637acf1f
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-capable-anemone-10f601d3
Region: us-east
Rootfs Version: ubuntu24-full-x64-081926
OS Version: Ubuntu 24.04.4 LTS

Enabling Blacksmith transparent cache
▸ Run actions/checkout@v6
with:
  sparse-checkout: /*
!/.repos/
!/apps/mobile/modules/t3-terminal/Vendor/**/*.a

  sparse-checkout-cone-mode: false
  repository: pingdotgg/t3code
  token: ***
  ssh-strict: true
  ssh-user: git
  persist-credentials: true
  clean: true
  fetch-depth: 1
  fetch-tags: false
  show-progress: true
  lfs: false
  submodules: false
  set-safe-directory: true
  allow-unsafe-pr-checkout: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
Syncing repository: pingdotgg/t3code
▸ Getting Git version info
Working directory is '/home/runner/_work/t3code/t3code'
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/4bb024cf-5007-4275-a617-d43b293847e6' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Deleting the contents of '/home/runner/_work/t3code/t3code'
▸ Determining repository object format
▸ Initializing the repository
[command]/usr/local/bin/git init /home/runner/_work/t3code/t3code
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/
[command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code
▸ Disabling automatic garbage collection
[command]/usr/local/bin/git config --local gc.auto 0
▸ Setting up auth
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
[command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-9e71e8ec-e721-49e5-a1b5-93b0789f3ab2.config http.https://github.com/.extraheader AUTHORIZATION: basic ***
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-9e71e8ec-e721-49e5-a1b5-93b0789f3ab2.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-9e71e8ec-e721-49e5-a1b5-93b0789f3ab2.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-9e71e8ec-e721-49e5-a1b5-93b0789f3ab2.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-9e71e8ec-e721-49e5-a1b5-93b0789f3ab2.config
▸ Fetching the repository
[command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +4bad93cff9fff152a6c9d38b8ca14ccadce3a500:refs/remotes/pull/22768/merge
From https://github.com/pingdotgg/t3code
 * [new ref]         4bad93cff9fff152a6c9d38b8ca14ccadce3a500 -> pull/22768/merge
▸ Determining the checkout info
▸ Setting up sparse checkout
[command]/usr/local/bin/git config core.sparseCheckout true
[command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout
.git/info/sparse-checkout
▸ Checking out the ref
[command]/usr/local/bin/git checkout --progress --force refs/remotes/pull/22768/merge
Updating files:   0% (1/6222)
Updating files:   1% (63/6222)
Updating files:   2% (125/6222)
Updating files:   3% (187/6222)
Updating files:   4% (249/6222)
Updating files:   5% (312/6222)
Updating files:   6% (374/6222)
Updating files:   7% (436/6222)
Updating files:   8% (498/6222)
Updating files:   9% (560/6222)
Updating files:  10% (623/6222)
Updating files:  11% (685/6222)
Updating files:  12% (747/6222)
Updating files:  13% (809/6222)
Updating files:  14% (872/6222)
Updating files:  15% (934/6222)
Updating files:  16% (996/6222)
Updating files:  17% (1058/6222)
Updating files:  18% (1120/6222)
Updating files:  19% (1183/6222)
Updating files:  20% (1245/6222)
Updating files:  21% (1307/6222)
Updating files:  22% (1369/6222)
Updating files:  23% (1432/6222)
Updating files:  24% (1494/6222)
Updating files:  25% (1556/6222)
Updating files:  26% (1618/6222)
Updating files:  27% (1680/6222)
Updating files:  28% (1743/6222)
Updating files:  29% (1805/6222)
Updating files:  30% (1867/6222)
Updating files:  31% (1929/6222)
Updating files:  32% (1992/6222)
Updating files:  33% (2054/6222)
Updating files:  34% (2116/6222)
Updating files:  35% (2178/6222)
Updating files:  36% (2240/6222)
Updating files:  37% (2303/6222)
Updating files:  38% (2365/6222)
Updating files:  39% (2427/6222)
Updating files:  40% (2489/6222)
Updating files:  41% (2552/6222)
Updating files:  42% (2614/6222)
Updating files:  43% (2676/6222)
Updating files:  44% (2738/6222)
Updating files:  45% (2800/6222)
Updating files:  46% (2863/6222)
Updating files:  47% (2925/6222)
Updating files:  48% (2987/6222)
Updating files:  49% (3049/6222)
Updating files:  50% (3111/6222)
Updating files:  51% (3174/6222)
Updating files:  52% (3236/6222)
Updating files:  53% (3298/6222)
Updating files:  54% (3360/6222)
Updating files:  55% (3423/6222)
Updating files:  56% (3485/6222)
Updating files:  57% (3547/6222)
Updating files:  58% (3609/6222)
Updating files:  59% (3671/6222)
Updating files:  60% (3734/6222)
Updating files:  61% (3796/6222)
Updating files:  62% (3858/6222)
Updating files:  63% (3920/6222)
Updating files:  64% (3983/6222)
Updating files:  65% (4045/6222)
Updating files:  66% (4107/6222)
Updating files:  66% (4161/6222)
Updating files:  67% (4169/6222)
Updating files:  68% (4231/6222)
Updating files:  69% (4294/6222)
Updating files:  70% (4356/6222)
Updating files:  71% (4418/6222)
Updating files:  72% (4480/6222)
Updating files:  73% (4543/6222)
Updating files:  74% (4605/6222)
Updating files:  75% (4667/6222)
Updating files:  76% (4729/6222)
Updating files:  77% (4791/6222)
Updating files:  78% (4854/6222)
Updating files:  79% (4916/6222)
Updating files:  80% (4978/6222)
Updating files:  81% (5040/6222)
Updating files:  82% (5103/6222)
Updating files:  83% (5165/6222)
Updating files:  84% (5227/6222)
Updating files:  85% (5289/6222)
Updating files:  86% (5351/6222)
Updating files:  87% (5414/6222)
Updating files:  88% (5476/6222)
Updating files:  89% (5538/6222)
Updating files:  90% (5600/6222)
Updating files:  91% (5663/6222)
Updating files:  92% (5725/6222)
Updating files:  93% (5787/6222)
Updating files:  94% (5849/6222)
Updating files:  95% (5911/6222)
Updating files:  96% (5974/6222)
Updating files:  97% (6036/6222)
Updating files:  98% (6098/6222)
Updating files:  99% (6160/6222)
Updating files: 100% (6222/6222)
Updating files: 100% (6222/6222), done.
Note: switching to 'refs/remotes/pull/22768/merge'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 4bad93c Merge df7660f50966ff01f4e81c98128f7c3fb2035a45 into 6490a9e8748aef55d04d3f4f61b77fba90b4cf1b
[command]/usr/local/bin/git log -1 --format=%H
4bad93cff9fff152a6c9d38b8ca14ccadce3a500
Prepare all required actions
Getting action download info
Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb)
▸ Run ./.github/actions/setup-ci-deps
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Resolve Vite+ version;id=__self.vp]
▸ Run echo "version=$(sed -nE 's/^  vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT"
echo "version=$(sed -nE 's/^  vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.vp;outcome=success;conclusion=success;duration_ms=11]
##[start-action display=Cache Vite+;id=__self.__actions_cache]
▸ Run actions/cache@v6
with:
  path: ~/.vite-plus
  key: vite-plus-home-v1-Linux-X64-1.3.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: vite-plus-home-v1-Linux-X64-1.3.0
Received 101854644 of 101854644 (100.0%), 353.2 MBs/sec
Cache Size: ~97 MB (101854644 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/c84fca7e-1365-4d57-823b-2a1c610e35db/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: vite-plus-home-v1-Linux-X64-1.3.0
##[end-action id=__self.__actions_cache;outcome=success;conclusion=success;duration_ms=1041]
##[start-action display=Setup Vite+;id=__self.__voidzero-dev_setup-vp]
▸ Run voidzero-dev/setup-vp@v1
with:
  node-version-file: package.json
  cache: false
  run-install: false
  sfw: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
Resolved Node.js version '^24.13.1' from package.json
Resolved Vite+ version '1.3.0' from package.json
Installing Vite+@1.3.0...
[command]/usr/bin/bash -c set -o pipefail; curl -fsSL --connect-timeout 5 --max-time 15 https://viteplus.dev/install.sh | bash
info: installing vite-plus@1.3.0...
info: Preparing Node.js and pnpm...
info: Installing dependencies...
✓ Dependencies installed.
Setup:
  Preparing vite-plus environment.

Created Shims:
  /home/runner/.vite-plus/bin/node
  /home/runner/.vite-plus/bin/npm
  /home/runner/.vite-plus/bin/npx
  /home/runner/.vite-plus/bin/pnpm
  /home/runner/.vite-plus/bin/pnpx
  /home/runner/.vite-plus/bin/pn
  /home/runner/.vite-plus/bin/pnx
  /home/runner/.vite-plus/bin/yarn
  /home/runner/.vite-plus/bin/yarnpkg
  /home/runner/.vite-plus/bin/bun
  /home/runner/.vite-plus/bin/bunx
  /home/runner/.vite-plus/bin/vpx
  /home/runner/.vite-plus/bin/vpr

Next Steps:
  For Bash, run:
  . "/home/runner/.vite-plus/env"

  If your ~/.bashrc does not already load Vite+, add this command for interactive non-login Bash sessions.
  Login Bash shells must also load the command through their login profile.

  Restart an already-running IDE to load its environment. Run `vp env doctor` to verify.
✓ Vite+ setup complete.
Setting up Node.js ^24.13.1 via vp env use...
[command]/home/runner/.vite-plus/bin/vp env use ^24.13.1
Using Node.js v24.22.0 (resolved from ^24.13.1)
vp v1.3.0

Local vite-plus:
  vite-plus  Not found

Tools:
  vite             Not found
  rolldown         Not found
  vitest           Not found
  oxfmt            Not found
  oxlint           Not found
  oxlint-tsgolint  Not found
  tsdown           Not found

Environment:
  Package manager  pnpm v12.14.0
  Node.js          v24.22.0 (.session-node-version)
##[end-action id=__self.__voidzero-dev_setup-vp;outcome=success;conclusion=success;duration_ms=1684]
##[start-action display=Resolve pnpm store path;id=__self.pnpm_store]
▸ Run store_path="$(vp pm cache dir)"
store_path="$(vp pm cache dir)"
echo "path=$store_path" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.pnpm_store;outcome=success;conclusion=success;duration_ms=442]
##[start-action display=Cache full pnpm store;id=__self.__actions_cache_2]
▸ Run actions/cache@v6
with:
  path: /home/runner/.local/share/pnpm/store/v11
  key: pnpm-full-v1-Linux-X64-e73850f83f24b1be2e93d2be6ac7270a9cc5f2a0ec8f29258a0db236db1df366
  restore-keys: pnpm-full-v1-Linux-X64-

  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: pnpm-full-v1-Linux-X64-e73850f83f24b1be2e93d2be6ac7270a9cc5f2a0ec8f29258a0db236db1df366
Received 570425344 of 974216105 (58.6%), 538.6 MBs/sec
Received 974216105 of 974216105 (100.0%), 521.7 MBs/sec
Cache Size: ~929 MB (974216105 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/aa9e025b-830d-4fd1-9317-8997107e237a/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: pnpm-full-v1-Linux-X64-e73850f83f24b1be2e93d2be6ac7270a9cc5f2a0ec8f29258a0db236db1df366
##[end-action id=__self.__actions_cache_2;outcome=success;conclusion=success;duration_ms=8384]
##[start-action display=Install dependencies;id=__self.__run]
▸ Run vp install
vp install
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
Scope: all 33 workspace projects
? Verifying lockfile against supply-chain policies (2160 entries)...
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11
  Virtual store is at:             node_modules/.pnpm
✓ Lockfile passes supply-chain policies (2160 entries in 2.8s)
Lockfile is up to date, resolution step is skipped
Packages: +1766
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1766, reused 1763, downloaded 0, added 1766, done
. prepare$ effect-tsgo patch && vp config --no-agent
. prepare: Patched typescript at /home/runner/_work/t3code/t3code/node_modules/.pnpm/@typescript+typescript-linux-x64@7.0.2/node_modules/@typescript/typescript-linux-x64/lib/tsc
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.1.0
+ @effect/tsgo 0.51.1
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ tsc-rs 0.7.0
+ typescript 7.0.2
+ vite-plus 1.3.0

Done in 4.6s using pnpm v12.14.0
##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=4692]
▸ Run echo "version=$(node -p "require('./apps/web/node_modules/playwright/package.json').version")" >> "$GITHUB_OUTPUT"
echo "version=$(node -p "require('./apps/web/node_modules/playwright/package.json').version")" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
▸ Run actions/cache@v6
with:
  path: ~/.cache/ms-playwright
  key: playwright-chromium-shell-Linux-X64-1.60.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: playwright-chromium-shell-Linux-X64-1.60.0
Received 106503405 of 106503405 (100.0%), 604.6 MBs/sec
Cache Size: ~102 MB (106503405 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/57f55ea6-4d2b-47bd-9829-4c56cfb5a49f/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: playwright-chromium-shell-Linux-X64-1.60.0
▸ Run browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
test -n "$browser"
if ldd "$browser" | grep '=> not found'; then
  node apps/web/node_modules/playwright/cli.js install-deps chromium
fi
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
▸ Run vp run --filter @t3tools/web test
vp run --filter @t3tools/web test
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  GITHUB_REPO_NAME: pingdotgg/t3code
~/apps/web$ vp test run --passWithNoTests --project unit --project browser ⊘ cache disabled

 RUN  v5.0.5 /home/runner/_work/t3code/t3code/apps/web

 ✓  unit  src/composer-rich-text-doc.test.ts (234 tests) 221ms
 ✓  unit  src/components/pullRequest/pullRequestDetail.logic.test.ts (67 tests) 36ms
 ✓  unit  src/components/pullRequest/pullRequestList.logic.test.ts (32 tests) 28ms
 ✓  browser (chromium)  src/components/ComposerPromptEditorTiptap.input.browser.test.tsx (10 tests) 646ms
 ✓  unit  src/session-logic.test.ts (48 tests) 40ms
 ✓  browser (chromium)  src/hooks/useSettings.favorites.browser.test.tsx (7 tests) 395ms
 ✓  unit  src/components/chat/MessagesTimeline.logic.test.ts (79 tests) 75ms
 ✓  browser (chromium)  src/components/desktop/SnapShotCoordinator.browser.test.ts (10 tests) 439ms
stdout | src/components/preview/PreviewView.browser.test.tsx > PreviewView > retains the annotation locally when its own environment loses access during capture
[08:56:04.176] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  unit  src/keybindings.test.ts (37 tests) 32ms
 ❯  unit  src/components/Sidebar.logic.test.ts (56 tests | 1 failed) 21ms
   ✓ deleteSelectedThreadEntries (4)
     ✓ waits for each delete and excludes only earlier successes from worktree checks 1ms
     ✓ continues after ordinary failures and keeps the first failure 0ms
     ✓ stops on interruption and preserves earlier results 0 0ms
     ✓ stops on interruption and preserves earlier results 1 0ms
   ✓ archiveSelectedThreadEntries (2)
     ✓ stops at a mutation failure and retains prior successes 1ms
     ✓ continues after a post-archive failure 0ms
   ✓ sidebar thread lineage helpers (1)
     ✓ maps an open subagent to its nearest visible ancestor's sidebar row 1ms
   ✓ orderItemsByPreferredIds (1)
     ✓ resolves legacy preference aliases without materializing project state 0ms
   ❯ resolveSidebarThreadStatus (4)
     ✓ prioritizes awaiting input over a running runtime, below approval 0ms
     × shows cached work from an unavailable environment as Offline, not Working 3ms
     ✓ keeps usage-limit stops Limited and visible until the thread recovers 0ms
     ✓ reports failed only while the latest run failed 0ms
   ✓ searchSidebarThreads (1)
     ✓ lists a thread matching both title and content once 0ms
   ✓ resolveWorkingStartedAt (3)
     ✓ does not invent a start from activity updates when the newest run completed 0ms
     ✓ shares the detail timer when a newer run is queued 0ms
     ✓ shares the detail timer when a newer run is cancelled 0ms
   ✓ resolveThreadStatusPill (8)
     ✓ shows an active thread wait without a pulse and resumes Working when it ends 0ms
     ✓ shows waiting for an idle thread with pending background tasks 0ms
     ✓ shows plan ready when a settled plan turn has a proposed plan ready for follow-up 0ms
     ✓ does not manufacture completed state without a client visit marker 0ms
     ✓ shows completed when there is an unseen completion and no active blocker 0ms
     ✓ shows failed, not completed, when the unseen run failed 0ms
     ✓ shows failed, not plan ready, when a plan run proposed a plan and then failed 0ms
     ✓ drops the failed pill once the failure has been seen 0ms
   ✓ resolveProjectStatusIndicator (1)
     ✓ ranks waiting below active work and above plan-ready 0ms
   ✓ getFallbackThreadIdAfterDelete (1)
     ✓ skips other threads being deleted in the same action 0ms
   ✓ sortProjectsForSidebar (1)
     ✓ sorts projects by the most recent user message across their threads 0ms
   ✓ sortScopedProjectsForSidebar (2)
     ✓ keeps identical project ids in different environments separate 0ms
     ✓ does not use archived threads as project activity 0ms
   ✓ sortSidebarV2ProjectGroups (1)
     ✓ does not let a hidden subagent thread reorder projects 0ms
   ✓ pinOrderKeyBetween (3)
     ✓ stays strictly ordered under repeated top insertion 3ms
     ✓ stays strictly ordered under repeated middle insertion 1ms
     ✓ returns null for corrupt or out-of-order bounds instead of throwing 0ms
   ✓ sortPinnedThreadsForSidebar (2)
     ✓ sorts keyed threads by key ahead of keyless threads in creation order 0ms
     ✓ breaks equal keys by id so raced writes render identically everywhere 1ms
   ✓ resolveSidebarSweepKeys (1)
     ✓ leaves out rows that cannot settle and rows that left the list 0ms
   ✓ navigation after parking a thread (8)
     ✓ settle with state settled / null on thread navigates: true 0ms
     ✓ settle with state active / null on thread navigates: false 0ms
     ✓ settle with state settled / null on other-thread navigates: false 0ms
     ✓ snooze with state null / 2099-01-01T00:00:00.000Z on thread navigates: true 0ms
     ✓ snooze with state null / null on thread navigates: false 0ms
     ✓ snooze with state null / 2026-09-12T09:00:00.000Z on thread navigates: false 0ms
     ✓ snooze with state null / 2099-01-01T00:00:00.000Z on thread navigates: false 2ms
     ✓ snooze with state null / 2099-01-01T00:00:00.000Z on other-thread navigates: false 0ms
   ✓ unseen completion with background work (2)
     ✓ presents a completed thread with a command roster 0ms
     ✓ presents a completed thread with a monitor roster 0ms
   ✓ Working shelf (beta) (10)
     ✓ folds away running threads and threads waiting on background work only 0ms
     ✓ keeps a ready plan in the inbox while background work runs 0ms
     ✓ sortInboxThreadsByReturn (2)
       ✓ puts the thread that finished last on top, whatever its age 0ms
       ✓ counts a return the server does not stamp, like an approval request 0ms
     ✓ dragging (6)
       ✓ never drops into the Working shelf, and keeps it out of the inbox order 0ms
       ✓ does not move a Working thread into pinned when its reference drag ends in the sidebar 0ms
       ✓ does not move a Working thread into active when its reference drag ends in the sidebar 0ms
       ✓ does not move a Working thread into settled when its reference drag ends in the sidebar 0ms
       ✓ arranges the rows it can write when another row's server cannot store an order 0ms
       ✓ only changes lifecycle when the inbox is time-ordered 0ms
stderr | src/components/ChatMarkdown.browser.test.tsx > ChatMarkdown streaming > edits the current task text and marker after reusing a renderer
A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components
 ✓  browser (chromium)  src/components/onboarding/WelcomeWizard.import.browser.test.tsx (2 tests) 423ms
stdout | src/components/ChatMarkdown.browser.test.tsx > ChatMarkdown workspace file opens > keeps a newer absolute file open when an earlier repo-relative lookup finishes
[08:56:05.198] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  browser (chromium)  src/components/ChatMarkdown.browser.test.tsx (6 tests) 744ms
 ✓  browser (chromium)  src/components/preview/PreviewView.browser.test.tsx (2 tests) 2038ms
   ✓ PreviewView (2)
     ✓ retains the annotation locally when its own environment loses access during capture 1382ms
     ✓ still sends annotation text when the picked element's crop is malformed 654ms
 ✓  unit  src/components/settings/scopedSettings.test.ts (24 tests) 23ms
 ✓  browser (chromium)  src/components/settings/ProviderSettingsPanel.environment.browser.test.tsx (3 tests) 1673ms
   ✓ EnvironmentProviderSettings routing (3)
     ✓ updates one provider instance without sending a stale whole map 965ms
     ✓ routes explicit ACP browser authentication consent to the selected environment 576ms
 ✓  unit  src/modelSelection.test.ts (27 tests) 14ms
 ✓  unit  src/themePalette.test.ts (15 tests) 61ms
 ✓  unit  src/components/Sidebar.drag.test.ts (42 tests) 16ms
 ✓  unit  src/terminal/ghostty/surface.test.ts (28 tests) 101ms
 ✓  unit  src/composerDraftStore.test.ts (69 tests) 102ms
 ✓  unit  src/lib/attachmentUploadQueue.test.ts (12 tests) 22ms
 ✓  unit  src/providerInstances.test.ts (28 tests) 22ms
 ✓  unit  src/composer-logic.test.ts (53 tests) 67ms
 ✓  unit  src/lib/assistantTextSelection.test.ts (38 tests) 16ms
 ✓  unit  src/openVsxThemes.test.ts (5 tests) 709ms
   ✓ Open VSX themes (5)
     ✓ downloads a verified VSIX, reads JSONC includes, and pairs contributed variants 676ms
 ✓  unit  src/vscodeThemeImport.test.ts (20 tests) 72ms
 ✓  unit  src/components/ProviderUpdateLaunchNotification.logic.test.ts (15 tests) 12ms
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > chooses an unused identity for another account without replacing configured instances
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > awaits an atomic create before closing and retains prepared ACP metadata
[Error: ResizeObserver loop completed with undelivered notifications.]
stdout | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[08:56:12.972] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  browser (chromium)  src/components/ReopenClosedViewShortcut.browser.test.tsx (5 tests) 526ms
 ✓  unit  src/lib/imageCompression.test.ts (18 tests) 281ms
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/ChatMarkdown.permissions.browser.test.tsx > does not launch an editor after revocation during a native context menu
[chat-markdown] action failed {
  operation: 'open-file-in-editor',
  target: '/work/docs/readme.md',
} {
  _id: 'Cause',
  failures: [
    {
      _tag: 'Fail',
      error: [EnvironmentAuthorizationError: This connection cannot open an editor on this environment.],
    },
  ],
}
stderr | src/components/ChatMarkdown.permissions.browser.test.tsx > does not reveal a file after revocation during its workspace lookup
stdout | src/components/ChatMarkdown.permissions.browser.test.tsx > does not reveal a file after revocation during its workspace lookup
[chat-markdown] action failed {
  operation: 'reveal-file-in-file-manager',
  target: '/work/readme.md',
} {
  _id: 'Cause',
  failures: [
    {
      _tag: 'Fail',
      error: [Error: This connection cannot reveal files on this environment.],
    },
  ],
}
[08:56:14.054] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
stdout | src/components/settings/ProviderSetupSection.browser.test.tsx > Antigravity setup > waits for verified auth after submitting a callback to the selected environment
[08:56:14.116] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
 ✓  browser (chromium)  src/components/ChatMarkdown.permissions.browser.test.tsx (5 tests) 432ms
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > creates a local command in the selected environment without a sign-in step
[Error: ResizeObserver loop completed with undelivered notifications.]
 ✓  browser (chromium)  src/components/settings/ProviderSetupSection.browser.test.tsx (3 tests) 542ms
 ✓  browser (chromium)  src/cloud/useCloudLinkController.browser.test.tsx (7 tests) 371ms
stderr | src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx > AddProviderInstanceDialog environment routing > rejects a queued save after the provider grant is revoked
[Error: ResizeObserver loop completed with undelivered notifications.]
 ✓  browser (chromium)  src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx (4 tests) 2724ms
   ✓ AddProviderInstanceDialog environment routing (4)
     ✓ chooses an unused identity for another account without replacing configured instances 315ms
     ✓ creates a local command in the selected environment without a sign-in step 1641ms
     ✓ rejects a queued save after the provider grant is revoked 498ms
 ✓  browser (chromium)  src/components/ServerUpdateAction.browser.test.tsx (6 tests) 490ms
 ✓  unit  src/authBootstrap.test.ts (10 tests) 1064ms
   ✓ resolveInitialServerAuthGateState (10)
     ✓ reuses an in-flight silent bootstrap attempt 925ms
stdout | src/components/GitActionsControl.browser.test.tsx > Git action targets across thread navigation > runs a retained PR toast in the thread that produced it
[08:56:15.283] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  browser (chromium)  src/components/GitActionsControl.browser.test.tsx (1 test) 904ms
   ✓ Git action targets across thread navigation (1)
     ✓ runs a retained PR toast in the thread that produced it 903ms
 ✓  unit  src/components/CommandPalette.logic.test.ts (17 tests) 13ms
 ✓  unit  src/components/ChatView.logic.test.ts (41 tests) 31ms
 ✓  unit  src/connection/platform.test.ts (14 tests) 32ms
 ✓  unit  src/components/chat/composerProviderState.test.tsx (14 tests) 9ms
 ✓  unit  src/previewStateStore.test.ts (15 tests) 22ms
 ✓  unit  src/lib/composerContextRecords.test.ts (13 tests) 42ms
 ✓  unit  src/themeBoot.test.ts (23 tests) 16ms
 ✓  unit  src/components/files/fileEditorVirtualization.test.ts (9 tests) 413ms
 ✓  unit  src/rightPanelStore.test.ts (67 tests) 38ms
 ✓  unit  src/hooks/useSettings.test.ts (11 tests) 23ms
 ✓  unit  src/terminal/ghostty/core.test.ts (16 tests) 200ms
 ✓  unit  src/lib/diffRendering.test.ts (16 tests) 33ms
 ✓  browser (chromium)  src/components/ThreadNotificationCoordinator.badge.browser.test.tsx (2 tests) 185ms
 ✓  unit  src/components/settings/scheduledTasksSettings.logic.test.ts (18 tests) 19ms
 ✓  unit  src/components/chat/chatCanvasLayout.test.ts (16 tests) 47ms
 ✓  browser (chromium)  src/components/device/DevicePanel.browser.test.tsx (1 test) 66ms
 ✓  browser (chromium)  src/components/chat/OpenInPicker.browser.test.tsx (1 test) 134ms
 ✓  unit  src/components/ThreadStatusIndicators.test.ts (19 tests) 13ms
 ✓  unit  src/browser/browserRecording.test.ts (6 tests) 11ms
 ✓  unit  src/hooks/useThreadActions.permissions.test.ts (36 tests) 31ms
 ✓  unit  src/connection/storage.test.ts (6 tests) 33ms
 ✓  browser (chromium)  src/components/chat/ComposerPendingUserInputPanel.navigation.browser.test.tsx (2 tests) 150ms
 ✓  unit  src/lib/openPullRequestLink.test.ts (27 tests) 14ms
 ✓  browser (chromium)  src/components/files/useFileSaveCoordinator.browser.test.tsx (8 tests) 409ms
 ✓  unit  src/components/settings/settingsScopeNavigation.test.ts (13 tests) 52ms
 ✓  browser (chromium)  src/browser/ElectronBrowserHost.browser.test.tsx (1 test) 209ms
 ✓  unit  src/composer-editor-mentions.test.ts (25 tests) 30ms
 ✓  unit  src/browserHistoryStore.test.ts (14 tests) 10ms
 ✓  unit  src/components/settings/SnapShotSetupDialog.logic.test.ts (22 tests) 7ms
 ✓  unit  src/pendingUserInput.test.ts (15 tests) 14ms
stderr | src/components/chat/MessagesTimeline.browser.test.tsx > MessagesTimeline messages > preserves XML-like tags and comparisons in user messages as text
[legend-list] recycleItems was not provided, so it defaults to false. Set recycleItems explicitly to true for better performance with recycling-aware rows, or false to preserve remount-on-reuse behavior.
stdout | src/components/chat/MessagesTimeline.browser.test.tsx > compact reasoning math > keeps formulas while flattening compact reasoning previews
[08:56:28.686] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  browser (chromium)  src/components/chat/MessagesTimeline.browser.test.tsx (4 tests) 384ms
stderr | src/composer-code-block.test.ts > indentedNewlineInCodeBlock > carries the current indentation onto the new line
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > indentedNewlineInCodeBlock > indents from the line the caret is on, not the last line
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > exitCodeBlockOnTrailingBlankLines > leaves the block once two blank lines end it
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > exitCodeBlockOnTrailingBlankLines > closes an unclosed fence on the way out
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > exitCodeBlockOnClosingFence > ends the block at a typed closing fence and starts a line after it
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > exitCodeBlockOnClosingFence > moves the lines after the fence out of the block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > exitCodeBlockOnClosingFence > ignores a line that cannot close the fence
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > exitCodeBlockOnClosingFence > ignores a caret before the end of the line
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > indentCodeBlock > indents every line a selection touches
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > indentCodeBlock > leaves the line a selection ends at the start of
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > indentCodeBlock > outdents every line a selection touches
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > indentCodeBlock > keeps the selection across the shifted lines
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > indentCodeBlock > reports handled when outdenting can go no further, so Tab never escapes the editor
 ✓  unit  src/environmentGrouping.test.ts (7 tests) 19ms
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > selections across two identical fences > leaves Tab and Enter alone rather than editing through the boundary
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > turns ``` into a code block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > turns ```ts into a code block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > turns ~~~py into a code block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > turns ```` into a code block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > turns ```ts title=example into a code block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > turns ``` js into a code block
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > leaves `` alone
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > leaves text ``` alone
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > leaves ```a`b alone
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > refuses to open a fence inside a list item
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

stderr | src/composer-code-block.test.ts > convertCodeFenceOnEnter > keeps a chip's source in the info string
[tiptap warn]: Duplicate extension names found: ['listItemBranchingDeleteKeymap', 'bulletList', 'orderedList', 'listItem']. This can lead to issues.

 ✓  unit  src/composer-code-block.test.ts (25 tests) 56ms
 ✓  unit  src/browser/browserTargetResolver.test.ts (10 tests) 36ms
 ✓  unit  src/onboarding/projectImport.logic.test.ts (15 tests) 10ms
 ✓  unit  src/hooks/useThreadActions.undo.test.ts (13 tests) 26ms
 ✓  unit  src/components/settings/settingsSearch.test.ts (16 tests) 30ms
 ✓  unit  src/terminal-links.test.ts (39 tests) 31ms
 ✓  unit  src/hooks/useHandleNewThread.test.ts (4 tests) 16ms
 ✓  unit  src/uiStateStore.test.ts (11 tests) 6ms
 ✓  unit  src/promptStashStore.test.ts (10 tests) 9ms
 ✓  unit  src/components/preview/previewMiniPlayerLayout.test.ts (17 tests) 8ms
 ✓  browser (chromium)  src/components/diffs/AnnotatableCodeView.browser.test.tsx (1 test) 174ms
 ✓  unit  src/components/BranchToolbar.logic.test.ts (18 tests) 4ms
 ✓  unit  src/components/settings/KeybindingsSettings.logic.test.ts (11 tests) 20ms
 ✓  unit  src/onboarding/firstRun.logic.test.ts (17 tests) 4ms
 ✓  unit  src/components/settings/providerStatus.test.ts (7 tests) 5ms
 ✓  browser (chromium)  src/components/device/useDeviceControls.browser.test.tsx (3 tests) 345ms
 ✓  browser (chromium)  src/components/settings/CaptureShortcutConfig.browser.test.tsx (3 tests) 295ms
 ✓  unit  src/components/files/projectFilesQueryState.test.tsx (3 tests) 16ms
 ✓  browser (chromium)  src/components/settings/AcpSessionManagementSection.browser.test.tsx (2 tests) 126ms
 ✓  unit  src/components/chat/composerPromptHistory.test.ts (18 tests) 5ms
 ✓  unit  src/onboarding/providerReadiness.logic.test.ts (16 tests) 7ms
 ✓  unit  src/components/chat/composerSubmission.test.ts (8 tests) 34ms
 ✓  unit  src/lib/contextWindow.test.ts (9 tests) 17ms
 ✓  unit  src/markdown-clipboard.test.ts (5 tests) 15ms
 ✓  unit  src/remoteOpen.test.ts (14 tests) 7ms
 ✓  browser (chromium)  src/components/chat/ThreadDetailsPrRow.browser.test.tsx (1 test) 80ms
 ✓  unit  src/state/sourceControlActions.test.ts (17 tests) 14ms
 ✓  unit  src/threadRoutes.test.ts (13 tests) 9ms
 ✓  unit  src/components/media/MediaActions.test.tsx (5 tests) 12ms
 ✓  unit  src/cloud/linkEnvironment.test.ts (1 test) 32ms
 ✓  browser (chromium)  src/components/settings/useProjectScriptSettings.browser.test.tsx (2 tests) 66ms
stdout | src/components/desktop/DesktopWebLinkCoordinator.browser.test.tsx > holds a launch PR link until project discovery settles, then opens the PR view
[08:56:38.258] WARN (#40): Could not read the primary environment topology. {
  cause: [TypeError: window.desktopBridge?.getLocalEnvironmentBootstraps is not a function],
}
stdout | src/components/desktop/DesktopWebLinkCoordinator.browser.test.tsx > holds a launch PR link until project discovery settles, then opens the PR view
[08:56:38.259] WARN (#40): Could not read the desktop-local backend topology. {
  cause: [TypeError: bridge.getLocalEnvironmentBootstraps is not a function],
}
 ✓  unit  src/onboarding/targetEnvironment.logic.test.ts (9 tests) 4ms
 ✓  browser (chromium)  src/components/desktop/DesktopWebLinkCoordinator.browser.test.tsx (1 test) 37ms
 ✓  browser (chromium)  src/components/chat/ComposerStashMenu.browser.test.tsx (1 test) 917ms
   ✓ leaves dialog, unrelated input and question button shortcuts alone while the stash is open 916ms
 ✓  unit  src/wslPaths.test.ts (12 tests) 4ms
 ✓  unit  src/components/settings/SnapShotSettings.logic.test.ts (6 tests) 5ms
 ✓  unit  src/reviewCommentContext.test.ts (4 tests) 8ms
 ✓  unit  src/contextMenuFallback.test.ts (1 test) 3ms
 ✓  unit  src/components/pullRequest/pullRequestEditing.logic.test.ts (13 tests) 7ms
 ✓  unit  src/components/PullRequestThreadDialog.test.ts (1 test) 7ms
 ✓  unit  src/components/settings/customModelEditor.logic.test.ts (5 tests) 8ms
 ✓  browser (chromium)  src/components/Sidebar.pointer.browser.test.tsx (2 tests) 78ms
 ✓  unit  src/components/files/fileSaveCoordinator.test.ts (8 tests) 12ms
 ✓  unit  src/components/pullRequest/pullRequestProjectAssignment.logic.test.ts (9 tests) 3ms
 ✓  unit  src/lib/embeddedScripts.test.ts (45 tests) 25ms
 ✓  unit  src/reopenClosedView.test.ts (11 tests) 31ms
 ✓  unit  src/components/files/projectFilesQueryState.test.ts (3 tests) 50ms
 ✓  unit  src/terminalUiStateStore.test.ts (6 tests) 9ms
 ✓  unit  src/components/GitActionsControl.logic.test.ts (11 tests) 7ms
 ✓  unit  src/hooks/useThreadActionMenu.test.ts (6 tests) 16ms
 ✓  unit  src/components/settings/settingsScope.test.ts (13 tests) 10ms
 ✓  unit  src/browserFaviconStore.test.ts (5 tests) 8ms
 ✓  unit  src/components/chat/composerThreadImport.test.ts (4 tests) 18ms
 ✓  unit  src/state/threads.test.ts (3 tests) 9ms
 ✓  unit  src/lib/softwareKeyboard.test.ts (10 tests) 6ms
 ✓  browser (chromium)  src/components/chat/AssistantCitationChip.browser.test.tsx (2 tests) 205ms
stdout | src/components/settings/SourceControlWritingSettings.browser.test.tsx > mixed source control instructions > resets mixed template preferences without replacing each environment's instructions
[08:56:44.821] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  browser (chromium)  src/components/settings/AcpRegistrySearchStep.browser.test.tsx (2 tests) 1310ms
   ✓ rechecks the grant before preparing an agent 618ms
   ✓ ignores prepare completion after unmount 691ms
 ✓  browser (chromium)  src/components/settings/SourceControlWritingSettings.browser.test.tsx (1 test) 749ms
   ✓ mixed source control instructions (1)
     ✓ resets mixed template preferences without replacing each environment's instructions 748ms
 ✓  unit  src/components/sidebar/updateEverything.logic.test.ts (3 tests) 4ms
 ✓  unit  src/components/chat/modelPickerSearch.test.ts (6 tests) 14ms
 ✓  unit  src/versionSkew.test.ts (11 tests) 16ms
 ✓  unit  src/markdown-incremental.test.tsx (18 tests) 1315ms
 ✓  unit  src/closedViewStore.test.ts (11 tests) 16ms
 ✓  browser (chromium)  src/components/chat/threadContextDrag.browser.test.tsx (2 tests) 94ms
 ✓  unit  src/state/shell.test.ts (5 tests) 10ms
 ✓  browser (chromium)  src/components/settings/StorageSettings.browser.test.tsx (1 test) 81ms
 ✓  unit  src/components/chat/ContextWindowMeter.logic.test.ts (7 tests) 4ms
 ✓  unit  src/components/composerFooterLayout.test.ts (5 tests) 4ms
 ✓  unit  src/state/queries.filesystem.test.ts (3 tests) 5ms
 ✓  unit  src/state/server.test.ts (2 tests) 7ms
 ✓  browser (chromium)  src/components/chat/QueuedRunsControl.browser.test.tsx (1 test) 800ms
   ✓ previews assistant quotes as readable text and preserves the citation when editing 800ms
 ✓  unit  src/components/usage/usagePriceTargets.test.ts (3 tests) 20ms
 ✓  unit  src/markdown-links.test.ts (9 tests) 18ms
 ✓  unit  src/session-logic.runtime-diagnostics.test.ts (4 tests) 12ms
 ✓  unit  src/browserFaviconLogic.test.ts (4 tests) 15ms
stdout | src/components/pullRequest/PullRequestSummaryTab.browser.test.tsx > keeps an unsaved description when collapsed and reopened
[08:56:51.230] WARN (#38): Could not discover the primary environment. {
  error: [ConnectionTransientError: Remote environment endpoint returned an invalid response from http://localhost:63761/.well-known/t3/environment.],
}
 ✓  unit  src/components/composerCodeBlockHighlight.test.ts (2 tests) 25ms
 ✓  unit  src/questionAttachments.test.ts (3 tests) 10ms
 ✓  unit  src/terminal/ghostty/runtimeAbi.test.ts (2 tests) 120ms
 ✓  browser (chromium)  src/components/chat/ThreadAutomationsPanel.permissions.browser.test.tsx (3 tests) 272ms
 ✓  unit  src/bundledDev.test.ts (1 test) 244ms
 ✓  unit  src/state/pullRequests.test.ts (5 tests) 12ms
 ✓  unit  src/threadSelectionStore.test.ts (6 tests) 4ms
 ✓  unit  src/components/chat/timelineScrollTarget.test.ts (7 tests) 7ms
 ✓  unit  src/components/settings/ProviderSettingsPanel.logic.test.ts (7 tests) 4ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestSummaryTab.browser.test.tsx (1 test) 2560ms
   ✓ keeps an unsaved description when collapsed and reopened 2560ms
 ✓  unit  src/composer-undo-grouping.test.ts (5 tests) 14ms
 ✓  unit  src/components/pullRequest/pullRequestFileOrder.logic.test.ts (11 tests) 14ms
 ✓  unit  src/components/usage/usagePriceTable.test.ts (7 tests) 10ms
 ✓  browser (chromium)  src/shortcutModifierState.browser.test.ts (3 tests) 85ms
 ✓  unit  src/components/pullRequest/pullRequestProjectFilter.logic.test.ts (6 tests) 23ms
 ✓  unit  src/components/settings/ConnectionsSettings.logic.test.ts (7 tests) 4ms
 ✓  unit  src/components/chat/timelineScrollAnchoring.test.tsx (6 tests) 12ms
 ✓  unit  src/components/preview/openPreviewSession.test.ts (4 tests) 25ms
 ✓  unit  src/lib/backgroundActivityReporter.test.ts (3 tests) 29ms
 ✓  unit  src/environments/primary/bootstrap.test.ts (5 tests) 74ms
 ✓  browser (chromium)  src/components/settings/colorPickers.browser.test.tsx (1 test) 1003ms
   ✓ theme color field (1)
     ✓ keeps the selected hue when a grey color is echoed back from theme settings 1002ms
 ✓  unit  src/components/pullRequest/pullRequestFilesViewed.logic.test.ts (10 tests) 8ms
 ✓  unit  src/composer-list-continuation.test.ts (18 tests) 6ms
 ✓  browser (chromium)  src/composer-list-split.browser.test.ts (3 tests) 212ms
 ✓  browser (chromium)  src/components/projectScriptEditor.browser.test.tsx (1 test) 144ms
 ✓  unit  src/connection/desktopLocal.test.ts (9 tests) 6ms
stderr | src/components/ComposerPromptEditorTiptap.citationDraft.browser.test.tsx > keeps an unsaved citation comment when a question takes the composer
flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.
 ✓  browser (chromium)  src/components/ComposerPromptEditorTiptap.citationDraft.browser.test.tsx (1 test) 1230ms
   ✓ keeps an unsaved citation comment when a question takes the composer 1230ms
 ✓  unit  src/components/files/FilePreviewPanel.test.ts (13 tests) 8ms
 ✓  unit  src/components/pullRequest/pullRequestStackSnapshot.test.ts (5 tests) 6ms
 ✓  unit  src/components/chat/ProviderStatusBanner.test.ts (2 tests) 2ms
 ✓  unit  src/components/chat/composerAttachmentReferences.test.ts (2 tests) 14ms
 ✓  unit  src/browser/desktopTabLifetime.test.ts (3 tests) 8ms
 ✓  unit  src/components/files/filePath.test.ts (18 tests) 4ms
 ✓  unit  src/components/chat/queuedMessageEdit.test.ts (5 tests) 32ms
 ✓  unit  src/terminal/ghostty/keyCodes.test.ts (6 tests) 6ms
 ✓  unit  src/components/settings/deviceHostsSettings.logic.test.ts (6 tests) 12ms
 ✓  unit  src/components/clerk/clerkAppearance.test.ts (10 tests) 12ms
 ✓  browser (chromium)  src/components/chat/threadFindHighlights.browser.test.tsx (1 test) 16ms
 ✓  unit  src/components/settings/deviceHostConnectionChecks.test.ts (3 tests) 4ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestMarkdownEditor.browser.test.tsx (1 test) 1437ms
   ✓ keeps an edited draft through revocation and saves it after access returns without remounting 1437ms
 ✓  browser (chromium)  src/components/settings/TelemetryExportSettings.browser.test.tsx (1 test) 4376ms
   ✓ TelemetryExportSettings (1)
     ✓ does not resend a field the user restored after another client changed it 4376ms
 ✓  unit  src/components/chat/HighlightedTokens.test.ts (7 tests) 7ms
 ✓  browser (chromium)  src/components/settings/useSnapShotShortcutRecorder.browser.test.tsx (1 test) 160ms
 ✓  unit  src/lib/threadContextAttachment.test.ts (2 tests) 6ms
 ✓  unit  src/components/preview/useDiscoveredLocalServers.test.ts (9 tests) 7ms
 ✓  browser (chromium)  src/components/settings/SecretInput.browser.test.tsx (2 tests) 461ms
   ✓ SecretInput (2)
     ✓ preserves a configured secret on empty edits and commits a replacement 363ms
 ✓  unit  src/lib/incrementalHighlighting.test.ts (13 tests) 575ms
 ✓  unit  src/components/settings/SettingsPanels.logic.test.ts (4 tests) 3ms
 ✓  unit  src/components/ThreadTerminalDrawer.test.ts (3 tests) 3ms
 ✓  unit  src/lib/discardComposerDraft.test.ts (2 tests) 12ms
 ✓  unit  src/components/RightPanelTabs.test.tsx (4 tests) 3ms
 ✓  unit  src/components/settings/AcpRegistryIcon.test.ts (3 tests) 12ms
 ✓  unit  src/hooks/useEnvironmentTheme.test.ts (4 tests) 10ms
 ✓  unit  src/projectScripts.test.ts (10 tests) 6ms
 ✓  unit  src/sidebarPendingFileDropStore.test.ts (3 tests) 5ms
 ✓  unit  src/components/chat/composerAttachmentFiles.test.ts (3 tests) 4ms
 ✓  unit  src/components/chat/composerMentionDrag.test.ts (3 tests) 5ms
 ✓  unit  src/components/chat/composerContextUndo.test.ts (1 test) 3ms
 ✓  unit  src/lib/runtime.test.ts (4 tests) 619ms
   ✓ web runtime relay telemetry policy (4)
     ✓ applies desktop opt-out before the first relay span 393ms
 ✓  unit  src/components/settings/AddProviderInstanceDialog.test.ts (5 tests) 6ms
 ✓  unit  src/state/terminalSessions.test.ts (1 test) 10ms
 ✓  unit  src/components/pullRequest/pullRequestReviewStore.test.ts (3 tests) 3ms
 ✓  unit  src/diffFileActions.test.ts (9 tests) 7ms
 ✓  unit  src/components/desktopUpdate.logic.test.ts (9 tests) 3ms
 ✓  unit  src/composer-block-shortcuts.test.ts (11 tests) 42ms
 ✓  unit  src/cloud/publicConfig.test.ts (12 tests) 13ms
 ✓  unit  src/components/device/DeviceSetup.test.ts (2 tests) 5ms
 ✓  unit  src/state/use-orchestration-command.test.ts (2 tests) 5ms
 ✓  unit  src/editorPreferences.test.ts (2 tests) 7ms
 ✓  unit  src/clientPersistenceStorage.test.ts (3 tests) 188ms
 ✓  unit  src/environments/primary/httpLayer.test.ts (2 tests) 12ms
 ✓  unit  src/lib/turnDiffTree.test.ts (2 tests) 4ms
 ✓  unit  src/components/settings/ProjectSettingsPanel.logic.test.ts (3 tests) 3ms
 ✓  unit  src/confirmDialog.test.ts (3 tests) 6ms
 ✓  unit  src/lib/terminalCloseShortcut.test.ts (2 tests) 3ms
 ✓  unit  src/state/paginatedBranches.test.ts (4 tests) 3ms
 ✓  unit  src/lib/assistantCitationNavigation.test.ts (2 tests) 19ms
 ✓  unit  src/components/settings/IntegrationsSettings.logic.test.ts (4 tests) 4ms
 ✓  unit  src/browser/browserSurfaceStore.test.ts (3 tests) 3ms
 ✓  unit  src/components/pullRequest/pullRequestReactions.logic.test.ts (3 tests) 2ms
 ✓  unit  src/lib/threadSort.test.ts (1 test) 3ms
 ✓  unit  src/components/files/fileTreeDragMention.test.ts (3 tests) 3ms
 ✓  unit  src/desktopAppActivation.test.ts (2 tests) 3ms
 ✓  unit  src/components/settings/browserImportWizard.logic.test.ts (5 tests) 3ms
 ✓  unit  src/lib/revealThreadTerminal.test.ts (2 tests) 5ms
 ✓  unit  src/components/settings/ProviderInstanceCard.test.ts (4 tests) 6ms
 ✓  unit  src/worktreeCleanup.test.ts (2 tests) 3ms
 ✓  unit  src/components/chat/MessagesTimeline.active-tools.test.ts (2 tests) 13ms
 ✓  unit  src/markdownListIndentation.test.tsx (5 tests) 33ms
 ✓  unit  src/components/preview/openTerminalLinkInPreview.test.ts (1 test) 10ms
 ✓  unit  src/lib/previewAnnotation.test.ts (4 tests) 4ms
 ✓  unit  src/components/pullRequest/pullRequestDiff.logic.test.ts (4 tests) 4ms
 ✓  unit  src/workspaceBasenameLookup.test.ts (6 tests) 3ms
 ✓  unit  src/components/chat/pageScrollController.test.ts (3 tests) 3ms
 ✓  unit  src/components/preview/closePreviewSession.test.ts (1 test) 8ms
stderr | src/components/diffs/codeViewSearch.test.ts
 ✓  unit  src/components/diffs/codeViewSearch.test.ts (1 test) 3ms
parsePatchContent: hunk line count mismatch: "@@ -1,4 +1,5 @@", declared old/new 4/5, parsed old/new 3/4

 ✓  unit  src/localApi.test.ts (1 test) 378ms
   ✓ LocalApi (1)
     ✓ fails closed in a browser when no themed host is available 377ms
 ✓  unit  src/components/threadActionMenu.logic.test.ts (3 tests) 2ms
 ✓  unit  src/threadNotifications.test.ts (3 tests) 37ms
 ✓  unit  src/state/npmRelease.test.ts (2 tests) 114ms
 ✓  unit  src/composer-rich-text.test.ts (5 tests) 4ms
 ✓  unit  src/components/settings/GitHubAccountSettings.logic.test.ts (2 tests) 2ms
 ✓  unit  src/components/usage/usagePriceForm.test.ts (11 tests) 5ms
 ✓  unit  src/cloud/connectCliAuth.test.ts (2 tests) 4ms
 ✓  unit  src/lib/chunkReloadGuard.test.ts (3 tests) 3ms
 ✓  unit  src/hooks/useCopyToClipboard.test.ts (2 tests) 4ms
 ✓  unit  src/state/desktopUpdate.test.ts (1 test) 60ms
 ✓  unit  src/components/chat/composerTypingGuard.test.ts (4 tests) 3ms
 ✓  unit  src/providerModels.test.ts (2 tests) 2ms
 ✓  unit  src/state/entities.relationshipShells.test.ts (2 tests) 2ms
 ✓  unit  src/components/chat/ThreadErrorBanner.test.tsx (3 tests) 2ms
 ✓  unit  src/providerSkillSearch.test.ts (10 tests) 4ms
 ✓  unit  src/lib/terminalContext.test.ts (2 tests) 4ms
 ✓  unit  src/components/pullRequest/pullRequestDiffError.test.ts (3 tests) 3ms
 ✓  unit  src/components/chat/ExpandedImagePreview.test.ts (5 tests) 4ms
 ✓  unit  src/components/usage/usagePagePreferences.test.ts (4 tests) 7ms
 ✓  unit  src/components/settings/ProviderSettingsForm.test.ts (3 tests) 4ms
 ✓  unit  src/diffPanelStore.test.ts (1 test) 3ms
 ✓  unit  src/components/chat/workspaceFileDrop.test.ts (2 tests) 3ms
 ✓  unit  src/components/settings/SettingInheritance.test.ts (1 test) 3ms
 ✓  unit  src/lib/elementContext.test.ts (1 test) 4ms
 ✓  unit  src/markdownGithubAlerts.test.tsx (3 tests) 25ms
 ✓  unit  src/components/diffs/diffFileTree.logic.test.ts (3 tests) 3ms
 ✓  unit  src/lib/addProjectToMachine.test.ts (3 tests) 4ms
 ✓  unit  src/components/device/deviceHubApi.test.ts (1 test) 4ms
 ✓  unit  src/hooks/showThreadUndoNotice.test.ts (1 test) 5ms
 ✓  unit  src/cloud/relayClientInstallDialog.test.ts (1 test) 3ms
 ✓  unit  src/lib/terminalCloseConfirm.test.ts (1 test) 3ms
 ✓  unit  src/cloud/managedAuth.test.ts (1 test) 5ms
 ✓  unit  src/components/files/ProjectFilePicker.logic.test.ts (2 tests) 3ms
 ✓  unit  src/components/pullRequest/pullRequestsRouteSearch.test.ts (2 tests) 7ms
 ✓  unit  src/lib/projectScriptTerminal.test.ts (4 tests) 4ms
 ✓  unit  src/state/serverProviders.logic.test.ts (2 tests) 3ms
 ✓  unit  src/lib/orchestrationV2Timeline.test.ts (2 tests) 2ms
 ✓  unit  src/hooks/useLocalStorage.test.ts (1 test) 12ms
 ✓  unit  src/lib/snapShotShortcut.test.ts (23 tests) 7ms
 ✓  unit  src/hostedPairing.test.ts (2 tests) 6ms
 ✓  unit  src/browser/browserViewportActions.test.ts (1 test) 3ms
 ✓  unit  src/components/settings/ResourceTelemetryDiagnostics.logic.test.ts (1 test) 3ms
 ✓  unit  src/state/desktopSshHosts.test.ts (1 test) 4ms
 ✓  unit  src/components/composerContextPresentation.test.ts (1 test) 3ms
 ✓  unit  src/fileContextMenu.test.ts (3 tests) 3ms
 ✓  unit  src/cloud/dpop.test.ts (1 test) 55ms
 ✓  unit  src/components/chat/pendingDraftWork.test.ts (2 tests) 3ms
 ✓  unit  src/components/chat/agentSpawnSummary.test.ts (4 tests) 3ms
 ✓  unit  src/browser/browserViewportLayout.test.ts (2 tests) 4ms
 ✓  unit  src/components/preview/usePreviewBridge.test.ts (1 test) 2ms
 ✓  unit  src/components/usage/usageBreakdown.test.ts (1 test) 2ms
 ✓  unit  src/pierre-icons.test.ts (2 tests) 7ms
 ✓  unit  src/portDiscoveryState.test.ts (2 tests) 4ms
 ✓  unit  src/components/clerk/electronPasskeys.test.ts (1 test) 3ms
 ✓  unit  src/components/chat/V2LifecycleRow.logic.test.ts (3 tests) 3ms
 ✓  unit  src/components/chat/assistantCitationCommentDismissal.test.ts (3 tests) 2ms
 ✓  unit  src/hooks/threadUndo.test.ts (2 tests) 2ms
 ✓  unit  src/components/usage/UsageProviderChart.test.ts (1 test) 4ms
 ✓  unit  src/lib/chatThreadActions.test.ts (2 tests) 6ms
 ✓  unit  src/previewMiniPlayerStore.test.ts (1 test) 2ms
 ✓  unit  src/projectIconOptions.test.ts (2 tests) 14ms
 ✓  unit  src/components/files/loadFileAncestors.test.ts (1 test) 3ms
 ✓  unit  src/lib/lruCache.test.ts (3 tests) 4ms
 ✓  unit  src/browser/browserDefaults.test.ts (1 test) 3ms
 ✓  unit  src/lib/videoFirstFrame.test.ts (3 tests) 4ms
 ✓  unit  src/components/chat/modelPickerKeys.test.ts (2 tests) 5ms
 ✓  unit  src/components/chat/externalLinkContextMenu.test.ts (11 tests) 4ms
 ✓  unit  src/components/preview/previewViewportRollback.test.ts (2 tests) 3ms
 ✓  unit  src/components/settings/pairingUrls.test.ts (2 tests) 2ms
 ✓  unit  src/proposedPlan.test.ts (3 tests) 3ms
 ✓  unit  src/components/chat/ProviderInstanceIcon.test.ts (1 test) 3ms
 ✓  unit  src/hooks/useDefaultTheme.test.ts (2 tests) 2ms
 ✓  unit  src/settleAndAdvance.test.ts (1 test) 2ms
 ✓  unit  src/components/chat/ComposerCommandMenu.test.tsx (1 test) 3ms
 ✓  unit  src/hooks/usePullRequestLinking.test.ts (2 tests) 2ms
 ✓  unit  src/lib/projectScriptKeybindings.test.ts (1 test) 4ms
 ✓  unit  src/components/settings/easDeviceHostsSettings.logic.test.ts (1 test) 5ms
 ✓  unit  src/components/chat/composerMenuHighlight.test.ts (1 test) 2ms
 ✓  unit  src/lib/color.test.ts (8 tests) 3ms
 ✓  unit  src/hooks/useThreadActions.test.ts (1 test) 3ms
 ✓  unit  src/components/clerk/authRedirect.test.ts (1 test) 2ms
 ✓  unit  src/browser/browserLinkTarget.test.ts (1 test) 2ms
 ✓  unit  src/lib/attachmentUploadState.test.ts (1 test) 2ms
 ✓  unit  src/browser/previewRuntimeTabId.test.ts (1 test) 3ms
 ✓  unit  src/components/files/fileLineReveal.test.ts (1 test) 2ms
 ✓  unit  src/components/settings/settingsScopeAxis.test.ts (1 test) 2ms
 ✓  unit  src/components/files/fileContentRevision.test.ts (1 test) 2ms
 ✓  unit  src/components/settings/EnvironmentIconPicker.test.ts (1 test) 2ms
 ✓  unit  src/lib/projectPaths.test.ts (1 test) 2ms
 ✓  unit  src/reactCompilerCoverage.test.ts (1111 tests) 8048ms
   ✓ React Compiler coverage (1111)
     ✓ compiles apps/web/src/components/chat/ChatComposer.tsx 623ms
     ✓ compiles apps/web/src/components/ChatView.tsx 3654ms

⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯

 FAIL   unit  src/components/Sidebar.logic.test.ts > resolveSidebarThreadStatus > shows cached work from an unavailable environment as Offline, not Working
AssertionError: expected 'working' to be 'offline' // Object.is equality

Expected: "offline"
Received: "working"

 ❯ src/components/Sidebar.logic.test.ts:275:92
    273|
    274|   it("shows cached work from an unavailable environment as Offline, no…
    275|     expect(resolveSidebarThreadStatus({ ...idle, runtime, environmentU…
       |                                                                                            ^
    276|       "offline",
    277|     );

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯


 Test Files  1 failed | 329 passed (330)
      Tests  1 failed | 3907 passed (3908)
   Start at  08:55:50
   Duration  83.47s (worker 63%, import 19%, transform 15%, tests 2%, setup 1%)


Error: AssertionError: expected 'working' to be 'offline' // Object.is equality

Expected: "offline"
Received: "working"

 ❯ src/components/Sidebar.logic.test.ts:275:92



Error: Process completed with exit code 1.
Post job cleanup.
##[start-action display=Cache full pnpm store;id=__7707dc12-32b0-4b9b-9bda-b6489525ae16.__actions_cache_2]
##[end-action id=__7707dc12-32b0-4b9b-9bda-b6489525ae16.__actions_cache_2;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Setup Vite+;id=__7707dc12-32b0-4b9b-9bda-b6489525ae16.__voidzero-dev_setup-vp]
##[end-action id=__7707dc12-32b0-4b9b-9bda-b6489525ae16.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Cache Vite+;id=__7707dc12-32b0-4b9b-9bda-b6489525ae16.__actions_cache]
##[end-action id=__7707dc12-32b0-4b9b-9bda-b6489525ae16.__actions_cache;outcome=skipped;conclusion=skipped;duration_ms=0]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/7e5b2597-d167-4cb6-b3ed-3d466e975d33' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules
Warning: The process '/usr/local/bin/git' failed with exit code 128
A job completed hook has been configured by the self-hosted runner administrator
▸ Run '/job_completed.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 170
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 410
  BLACKSMITH_CHECK_RUN_ID: 119131322247
  BLACKSMITH_JOB_DISPLAY_NAME: Test Web
  GITHUB_ACTIONS_CACHE_MODE: write
Docker container cache not activated, skipping hash computation.
No active SSH sessions detected. Proceeding with shutdown immediately.
Cleaning up orphan processes