GitHub check

Whole log, 142 KB
Current runner version: '2.338.1'
Runner name: 'blacksmith-8vcpu-ubuntu-2404-alsh25lftqvsy5k4'
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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  BLACKSMITH_CHECK_RUN_ID: 120764330451
  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: 3168)

----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/40057723891/jobs/120764330451
SSH Access (using your GitHub SSH key):
  ssh -p 64000 runner@blacksmith-8vcpu-ubuntu-2404-alsh25lftqvsy5k4.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-alsh25lftqvsy5k4
Host: production-152.236.30.239-x8664
Host Agent PID: 4069624
Host Agent Git SHA: 1637818df
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-busy-trout-0c933d40
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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  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/e60f193b-dd1c-4e33-a96e-f1988e2c2cea' 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-079c1934-906b-4d56-af59-5449300fc0d1.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-079c1934-906b-4d56-af59-5449300fc0d1.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-079c1934-906b-4d56-af59-5449300fc0d1.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-079c1934-906b-4d56-af59-5449300fc0d1.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-079c1934-906b-4d56-af59-5449300fc0d1.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 +f41617580439f33ab55fa1ba100437a5b4c7d516:refs/remotes/origin/main
From https://github.com/pingdotgg/t3code
 * [new ref]         f41617580439f33ab55fa1ba100437a5b4c7d516 -> origin/main
[command]/usr/local/bin/git branch --list --remote origin/main
  origin/main
[command]/usr/local/bin/git rev-parse refs/remotes/origin/main
f41617580439f33ab55fa1ba100437a5b4c7d516
â–¸ 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 -B main refs/remotes/origin/main
Updating files:   0% (1/6323)
Updating files:   1% (64/6323)
Updating files:   2% (127/6323)
Updating files:   3% (190/6323)
Updating files:   4% (253/6323)
Updating files:   5% (317/6323)
Updating files:   6% (380/6323)
Updating files:   7% (443/6323)
Updating files:   8% (506/6323)
Updating files:   9% (570/6323)
Updating files:  10% (633/6323)
Updating files:  11% (696/6323)
Updating files:  12% (759/6323)
Updating files:  13% (822/6323)
Updating files:  14% (886/6323)
Updating files:  15% (949/6323)
Updating files:  16% (1012/6323)
Updating files:  17% (1075/6323)
Updating files:  18% (1139/6323)
Updating files:  19% (1202/6323)
Updating files:  20% (1265/6323)
Updating files:  21% (1328/6323)
Updating files:  22% (1392/6323)
Updating files:  23% (1455/6323)
Updating files:  24% (1518/6323)
Updating files:  25% (1581/6323)
Updating files:  26% (1644/6323)
Updating files:  27% (1708/6323)
Updating files:  28% (1771/6323)
Updating files:  29% (1834/6323)
Updating files:  30% (1897/6323)
Updating files:  31% (1961/6323)
Updating files:  32% (2024/6323)
Updating files:  33% (2087/6323)
Updating files:  34% (2150/6323)
Updating files:  35% (2214/6323)
Updating files:  36% (2277/6323)
Updating files:  37% (2340/6323)
Updating files:  38% (2403/6323)
Updating files:  39% (2466/6323)
Updating files:  40% (2530/6323)
Updating files:  41% (2593/6323)
Updating files:  42% (2656/6323)
Updating files:  43% (2719/6323)
Updating files:  44% (2783/6323)
Updating files:  45% (2846/6323)
Updating files:  46% (2909/6323)
Updating files:  47% (2972/6323)
Updating files:  48% (3036/6323)
Updating files:  49% (3099/6323)
Updating files:  50% (3162/6323)
Updating files:  51% (3225/6323)
Updating files:  52% (3288/6323)
Updating files:  53% (3352/6323)
Updating files:  54% (3415/6323)
Updating files:  55% (3478/6323)
Updating files:  56% (3541/6323)
Updating files:  57% (3605/6323)
Updating files:  58% (3668/6323)
Updating files:  59% (3731/6323)
Updating files:  60% (3794/6323)
Updating files:  61% (3858/6323)
Updating files:  62% (3921/6323)
Updating files:  63% (3984/6323)
Updating files:  64% (4047/6323)
Updating files:  65% (4110/6323)
Updating files:  66% (4174/6323)
Updating files:  67% (4237/6323)
Updating files:  68% (4300/6323)
Updating files:  69% (4363/6323)
Updating files:  70% (4427/6323)
Updating files:  71% (4490/6323)
Updating files:  72% (4553/6323)
Updating files:  73% (4616/6323)
Updating files:  74% (4680/6323)
Updating files:  75% (4743/6323)
Updating files:  76% (4806/6323)
Updating files:  77% (4869/6323)
Updating files:  78% (4932/6323)
Updating files:  79% (4996/6323)
Updating files:  80% (5059/6323)
Updating files:  81% (5122/6323)
Updating files:  82% (5185/6323)
Updating files:  83% (5249/6323)
Updating files:  84% (5312/6323)
Updating files:  85% (5375/6323)
Updating files:  86% (5438/6323)
Updating files:  87% (5502/6323)
Updating files:  88% (5565/6323)
Updating files:  89% (5628/6323)
Updating files:  90% (5691/6323)
Updating files:  91% (5754/6323)
Updating files:  92% (5818/6323)
Updating files:  93% (5881/6323)
Updating files:  94% (5944/6323)
Updating files:  95% (6007/6323)
Updating files:  96% (6071/6323)
Updating files:  97% (6134/6323)
Updating files:  98% (6197/6323)
Updating files:  99% (6260/6323)
Updating files: 100% (6323/6323)
Updating files: 100% (6323/6323), done.
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
[command]/usr/local/bin/git log -1 --format=%H
f41617580439f33ab55fa1ba100437a5b4c7d516
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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  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"
echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT"
echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.vp;outcome=success;conclusion=success;duration_ms=19]
##[start-action display=Cache Vite+;id=__self.vp_cache]
â–¸ Run actions/cache@v6
with:
  path: ~/.vite-plus
  key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
Received 170349591 of 170349591 (100.0%), 486.4 MBs/sec
Cache Size: ~162 MB (170349591 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/094cc223-bd2b-4c50-861f-3d03ce72b197/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
##[end-action id=__self.vp_cache;outcome=success;conclusion=success;duration_ms=1249]
##[start-action display=Use cached Vite+;id=__self.__run]
â–¸ Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH"
echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH"
"$HOME/.vite-plus/bin/vp" env use "26.12.1"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
Using Node.js v26.12.1 (resolved from 26.12.1)
##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=19]
##[start-action display=Setup Vite+;id=__self.__voidzero-dev_setup-vp]
##[end-action id=__self.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0]
##[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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.pnpm_store;outcome=success;conclusion=success;duration_ms=24]
##[start-action display=Cache full pnpm store;id=__self.__actions_cache]
â–¸ Run actions/cache@v6
with:
  path: /home/runner/.local/share/pnpm/store/v11
  key: pnpm-full-v1-Linux-X64-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef
  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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: pnpm-full-v1-Linux-X64-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef
Received 603979776 of 995020926 (60.7%), 576.0 MBs/sec
Received 995020926 of 995020926 (100.0%), 602.9 MBs/sec
Cache Size: ~949 MB (995020926 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/1a43e100-9f87-4876-8cde-66255f42f9da/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-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef
##[end-action id=__self.__actions_cache;outcome=success;conclusion=success;duration_ms=7071]
##[start-action display=Install dependencies;id=__self.__run_2]
â–¸ Run vp install
vp install
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
Scope: all 33 workspace projects
? Verifying lockfile against supply-chain policies (2088 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 (2088 entries in 2.1s)
Lockfile is up to date, resolution step is skipped
Packages: +1721
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done
. prepare$ vp config --no-agent
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.1.0
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ typescript <- @tsc-rs/typescript 0.8.0
+ vite-plus 1.3.0

Done in 3.2s using pnpm v12.14.0
##[end-action id=__self.__run_2;outcome=success;conclusion=success;duration_ms=3260]
â–¸ 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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: playwright-chromium-shell-Linux-X64-1.60.0
Received 106503405 of 106503405 (100.0%), 781.3 MBs/sec
Cache Size: ~102 MB (106503405 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/85200d8e-76a4-4555-bf72-0a856eff9110/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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  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 (239 tests) 211ms
 ✓  unit  src/components/pullRequest/pullRequestDetail.logic.test.ts (70 tests) 26ms
 ✓  unit  src/components/pullRequest/pullRequestList.logic.test.ts (36 tests) 31ms
(node:4075) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/hooks/useSettings.favorites.browser.test.tsx (7 tests) 255ms
 ✓  unit  src/session-logic.test.ts (48 tests) 49ms
 ✓  browser (chromium)  src/components/desktop/SnapShotCoordinator.browser.test.ts (10 tests) 362ms
 ✓  unit  src/components/chat/MessagesTimeline.logic.test.ts (81 tests) 106ms
(node:4085) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/onboarding/WelcomeWizard.import.browser.test.tsx (2 tests) 360ms
 ✓  unit  src/components/Sidebar.logic.test.ts (57 tests) 19ms
stdout | src/components/ChatMarkdown.browser.test.tsx > ChatMarkdown streaming > runs only a complete single-line shell block after a click
[03:18:36.147] 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/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/ComposerPromptEditorTiptap.input.browser.test.tsx (14 tests) 1942ms
   ✓ an Arabic line (3)
     ✓ leaves inline code through its start with ArrowRight, which points back 874ms
 ✓  browser (chromium)  src/components/ChatMarkdown.browser.test.tsx (6 tests) 500ms
 ✓  unit  src/keybindings.test.ts (38 tests) 23ms
stderr | src/components/chat/MessagesTimeline.browser.test.tsx > MessagesTimeline messages > settles when equally long messages have very different rendered heights
[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.
 ✓  unit  src/components/settings/scopedSettings.test.ts (26 tests) 17ms
stdout | src/components/settings/ProjectSettingsPanel.browser.test.tsx > project settings permissions > renames every member when all have project access without settings access
[03:18:37.139] WARN (#39): 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/chat/MessagesTimeline.browser.test.tsx > MessagesTimeline messages > settles when equally long messages have very different rendered heights
[Error: ResizeObserver loop completed with undelivered notifications.]
(node:4299) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:4290) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
stderr | src/components/chat/MessagesTimeline.browser.test.tsx > MessagesTimeline messages > settles when equally long messages have very different rendered heights
[legend-list] No unused container available, so creating one on demand. This can be a minor performance issue and is likely caused by the estimatedItemSize being too large. Consider decreasing estimatedItemSize. {
 ✓  unit  src/modelSelection.test.ts (27 tests) 33ms
  debugInfo: {
    numContainers: 19,
    numContainersPooled: 19,
    numNeeded: 21,
    stillNeeded: 4,
  },
}
(node:4061) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
stdout | src/components/chat/MessagesTimeline.browser.test.tsx > MessagesTimeline messages > settles when equally long messages have very different rendered heights
[03:18:38.046] 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/composerDraftStore.test.ts (69 tests) 98ms
 ✓  unit  src/themePalette.test.ts (15 tests) 54ms
 ✓  unit  src/terminal/ghostty/surface.test.ts (28 tests) 78ms
(node:4315) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:4308) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/chat/MessagesTimeline.browser.test.tsx (13 tests) 2307ms
   ✓ MessagesTimeline messages (4)
     ✓ settles when equally long messages have very different rendered heights 1568ms
 ✓  unit  src/components/Sidebar.drag.test.ts (42 tests) 13ms
 ✓  unit  src/lib/attachmentUploadQueue.test.ts (12 tests) 14ms
 ✓  unit  src/providerInstances.test.ts (28 tests) 7ms
 ✓  unit  src/composer-logic.test.ts (61 tests) 89ms
 ✓  unit  src/lib/assistantTextSelection.test.ts (38 tests) 15ms
(node:4259) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/vscodeThemeImport.test.ts (23 tests) 46ms
stdout | src/components/settings/ProjectSettingsPanel.browser.test.tsx > project settings scope > keeps an unknown project recoverable from any environment
[03:18:40.300] WARN (#39): 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/openVsxThemes.test.ts (5 tests) 538ms
   ✓ Open VSX themes (5)
     ✓ downloads a verified VSIX, reads JSONC includes, and pairs contributed variants 517ms
(node:4365) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/ChatView.logic.test.ts (45 tests) 27ms
 ✓  unit  src/lib/imageCompression.test.ts (19 tests) 179ms
(node:4358) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/settings/ProjectSettingsPanel.browser.test.tsx (16 tests) 4601ms
   ✓ project settings permissions (10)
     ✓ renames every member when all have project access without settings access 308ms
     ✓ removes a writable checkout while removal of the mixed group stays denied 357ms
     ✓ rechecks every removal target after confirmation before deleting or clearing drafts 302ms
     ✓ does not save an edit whose grant was revoked mid-edit, and recovers when restored 304ms
   ✓ project settings scope (5)
     ✓ offers every environment while no project is selected 328ms
     ✓ offers only the selected project's checkout environments 497ms
     ✓ keeps an unknown project recoverable from any environment 642ms
     ✓ recovers a stale environment link with checkout undefined 360ms
     ✓ recovers a stale environment link with checkout removed-checkout 361ms
   ✓ returns to the project overview after removal, clearing the selection but keeping the environment 330ms
 ✓  unit  src/components/CommandPalette.logic.test.ts (20 tests) 20ms
stdout | src/components/preview/PreviewView.browser.test.tsx > PreviewView > retains the annotation locally when its own environment loses access during capture
[03:18:41.856] 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.],
}
(node:4398) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:4387) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/connection/platform.test.ts (16 tests) 26ms
(node:4421) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/rightPanelStore.test.ts (67 tests) 24ms
 ✓  unit  src/authBootstrap.test.ts (10 tests) 431ms
   ✓ resolveInitialServerAuthGateState (10)
     ✓ reuses an in-flight silent bootstrap attempt 350ms
 ✓  unit  src/components/chat/composerProviderState.test.tsx (15 tests) 17ms
 ✓  browser (chromium)  src/components/preview/PreviewView.browser.test.tsx (2 tests) 1264ms
   ✓ PreviewView (2)
     ✓ retains the annotation locally when its own environment loses access during capture 825ms
     ✓ still sends annotation text when the picked element's crop is malformed 438ms
 ✓  browser (chromium)  src/components/settings/ProviderSettingsPanel.environment.browser.test.tsx (3 tests) 932ms
   ✓ EnvironmentProviderSettings routing (3)
     ✓ updates one provider instance without sending a stale whole map 389ms
     ✓ routes explicit ACP browser authentication consent to the selected environment 429ms
 ✓  browser (chromium)  src/components/ReopenClosedViewShortcut.browser.test.tsx (5 tests) 276ms
 ✓  unit  src/themeBoot.test.ts (23 tests) 11ms
(node:4413) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/files/fileEditorVirtualization.test.ts (9 tests) 292ms
stdout | src/components/ChatMarkdown.permissions.browser.test.tsx > does not launch an editor after revocation during a native context menu
[03:18:43.323] 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/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
[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.],
    },
  ],
}
 ✓  browser (chromium)  src/lib/resourceTelemetryState.browser.test.tsx (4 tests) 2547ms
   ✓ resource monitor retry (4)
     ✓ clears the settings and history errors after a successful retry without remounting 441ms
     ✓ refreshes the changed history window only in the retry environment (switch environment: false) 1022ms
     ✓ refreshes the changed history window only in the retry environment (switch environment: true) 829ms
 ✓  browser (chromium)  src/components/ChatMarkdown.permissions.browser.test.tsx (5 tests) 384ms
 ✓  unit  src/previewStateStore.test.ts (15 tests) 12ms
 ✓  unit  src/lib/composerContextRecords.test.ts (13 tests) 20ms
(node:4430) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
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.]
 ✓  unit  src/lib/diffRendering.test.ts (16 tests) 19ms
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.]
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.]
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
[03:18:44.843] 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.]
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.]
 ✓  unit  src/hooks/useSettings.test.ts (11 tests) 14ms
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.]
 ✓  unit  src/components/settings/scheduledTasksSettings.logic.test.ts (18 tests) 18ms
 ✓  unit  src/terminal/ghostty/core.test.ts (16 tests) 141ms
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.]
 ✓  unit  src/components/ThreadStatusIndicators.test.ts (19 tests) 13ms
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.]
 ✓  unit  src/hooks/useThreadActions.permissions.test.ts (36 tests) 14ms
 ✓  browser (chromium)  src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx (4 tests) 1821ms
   ✓ AddProviderInstanceDialog environment routing (4)
     ✓ creates a local command in the selected environment without a sign-in step 1288ms
 ✓  unit  src/components/chat/chatCanvasLayout.test.ts (16 tests) 51ms
(node:4484) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/browser/browserRecording.test.ts (6 tests) 17ms
 ✓  unit  src/components/ProviderUpdateLaunchNotification.logic.test.ts (9 tests) 9ms
 ✓  unit  src/connection/storage.test.ts (6 tests) 23ms
 ✓  unit  src/lib/openPullRequestLink.test.ts (27 tests) 11ms
 ✓  unit  src/browserHistoryStore.test.ts (14 tests) 11ms
 ✓  unit  src/components/settings/settingsScopeNavigation.test.ts (11 tests) 29ms
 ✓  unit  src/hooks/useHandleNewThread.test.ts (5 tests) 9ms
 ✓  unit  src/composer-editor-mentions.test.ts (25 tests) 29ms
 ✓  unit  src/pendingUserInput.test.ts (15 tests) 12ms
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
[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.

 ✓  unit  src/environmentGrouping.test.ts (7 tests) 9ms
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) 72ms
stdout | src/components/GitActionsControl.browser.test.tsx > Git action targets across thread navigation > runs a retained PR toast in the thread that produced it
[03:18:49.025] 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/settings/SnapShotSetupDialog.logic.test.ts (21 tests) 7ms
stdout | src/components/settings/ProviderSetupSection.browser.test.tsx > Antigravity setup > waits for verified auth after submitting a callback to the selected environment
[03:18:49.137] 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/hooks/useThreadActions.undo.test.ts (13 tests) 28ms
 ✓  browser (chromium)  src/components/GitActionsControl.browser.test.tsx (1 test) 440ms
   ✓ Git action targets across thread navigation (1)
     ✓ runs a retained PR toast in the thread that produced it 440ms
 ✓  browser (chromium)  src/cloud/useCloudLinkController.browser.test.tsx (7 tests) 293ms
 ✓  unit  src/browser/browserTargetResolver.test.ts (10 tests) 16ms
(node:4596) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/settings/ProviderSetupSection.browser.test.tsx (3 tests) 484ms
 ✓  browser (chromium)  src/components/ServerUpdateAction.browser.test.tsx (6 tests) 249ms
 ✓  unit  src/components/settings/settingsSearch.test.ts (16 tests) 27ms
 ✓  browser (chromium)  src/components/ThreadNotificationCoordinator.badge.browser.test.tsx (2 tests) 96ms
 ✓  browser (chromium)  src/components/chat/ComposerPendingUserInputPanel.navigation.browser.test.tsx (2 tests) 117ms
(node:4620) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/terminal-links.test.ts (39 tests) 19ms
(node:4630) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/promptStashStore.test.ts (10 tests) 24ms
 ✓  unit  src/uiStateStore.test.ts (11 tests) 6ms
 ✓  unit  src/components/preview/previewMiniPlayerLayout.test.ts (17 tests) 8ms
(node:4659) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/settings/KeybindingsSettings.logic.test.ts (11 tests) 11ms
 ✓  unit  src/onboarding/projectImport.logic.test.ts (14 tests) 12ms
 ✓  unit  src/components/BranchToolbar.logic.test.ts (18 tests) 4ms
 ✓  unit  src/onboarding/firstRun.logic.test.ts (17 tests) 5ms
 ✓  unit  src/components/settings/providerStatus.test.ts (7 tests) 4ms
 ✓  unit  src/components/chat/threadActivityAnnouncement.test.ts (12 tests) 4ms
(node:4636) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/composerPromptHistory.test.ts (18 tests) 9ms
 ✓  unit  src/components/files/projectFilesQueryState.test.tsx (3 tests) 11ms
 ✓  unit  src/lib/contextWindow.test.ts (9 tests) 18ms
 ✓  unit  src/onboarding/providerReadiness.logic.test.ts (16 tests) 6ms
 ✓  unit  src/components/chat/composerSubmission.test.ts (8 tests) 23ms
 ✓  unit  src/markdown-clipboard.test.ts (5 tests) 5ms
(node:4685) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/remoteOpen.test.ts (14 tests) 9ms
 ✓  browser (chromium)  src/components/chat/AssistantCitationChip.browser.test.tsx (3 tests) 874ms
   ✓ citation comment popup position (1)
     ✓ stays on screen when the cited text ends in a code block's hidden overflow 637ms
 ✓  unit  src/state/sourceControlActions.test.ts (17 tests) 10ms
 ✓  unit  src/components/media/MediaActions.test.tsx (5 tests) 9ms
 ✓  unit  src/threadRoutes.test.ts (11 tests) 5ms
 ✓  unit  src/onboarding/targetEnvironment.logic.test.ts (9 tests) 13ms
 ✓  unit  src/cloud/linkEnvironment.test.ts (1 test) 18ms
 ✓  unit  src/components/settings/SnapShotSettings.logic.test.ts (6 tests) 3ms
 ✓  browser (chromium)  src/components/device/DevicePanel.browser.test.tsx (1 test) 152ms
(node:4805) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/wslPaths.test.ts (12 tests) 11ms
 ✓  browser (chromium)  src/components/diffs/AnnotatableCodeView.browser.test.tsx (1 test) 83ms
 ✓  browser (chromium)  src/components/chat/OpenInPicker.browser.test.tsx (1 test) 64ms
 ✓  unit  src/components/pullRequest/pullRequestEditing.logic.test.ts (13 tests) 4ms
 ✓  unit  src/contextMenuFallback.test.ts (1 test) 3ms
(node:4780) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/files/useFileSaveCoordinator.browser.test.tsx (8 tests) 378ms
 ✓  unit  src/reviewCommentContext.test.ts (4 tests) 7ms
 ✓  unit  src/components/settings/customModelEditor.logic.test.ts (5 tests) 4ms
 ✓  unit  src/components/PullRequestThreadDialog.test.ts (1 test) 8ms
 ✓  unit  src/components/files/fileSaveCoordinator.test.ts (8 tests) 11ms
 ✓  unit  src/components/pullRequest/pullRequestProjectAssignment.logic.test.ts (9 tests) 6ms
 ✓  browser (chromium)  src/browser/ElectronBrowserHost.browser.test.tsx (1 test) 51ms
 ✓  browser (chromium)  src/components/chat/ThreadDetailsPrRow.browser.test.tsx (2 tests) 320ms
 ✓  unit  src/components/files/projectFilesQueryState.test.ts (3 tests) 27ms
 ✓  unit  src/reopenClosedView.test.ts (11 tests) 32ms
 ✓  unit  src/terminalUiStateStore.test.ts (6 tests) 6ms
 ✓  unit  src/components/GitActionsControl.logic.test.ts (11 tests) 6ms
 ✓  unit  src/lib/embeddedScripts.test.ts (40 tests) 22ms
 ✓  unit  src/hooks/useThreadActionMenu.test.ts (6 tests) 4ms
 ✓  unit  src/components/settings/settingsScope.test.ts (13 tests) 9ms
(node:4913) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/composerThreadImport.test.ts (4 tests) 8ms
(node:4876) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/state/threads.test.ts (3 tests) 5ms
 ✓  unit  src/lib/softwareKeyboard.test.ts (10 tests) 8ms
 ✓  unit  src/browserFaviconStore.test.ts (5 tests) 6ms
 ✓  unit  src/components/sidebar/updateEverything.logic.test.ts (3 tests) 6ms
 ✓  unit  src/components/chat/modelPickerSearch.test.ts (6 tests) 19ms
 ✓  unit  src/versionSkew.test.ts (11 tests) 11ms
 ✓  unit  src/markdown-incremental.test.tsx (18 tests) 1048ms
 ✓  browser (chromium)  src/components/settings/AcpSessionManagementSection.browser.test.tsx (2 tests) 234ms
(node:4979) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/closedViewStore.test.ts (11 tests) 16ms
(node:4963) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/ContextWindowMeter.logic.test.ts (7 tests) 8ms
 ✓  unit  src/state/shell.test.ts (5 tests) 10ms
 ✓  browser (chromium)  src/components/settings/CaptureShortcutConfig.browser.test.tsx (3 tests) 156ms
 ✓  browser (chromium)  src/components/chat/ComposerStashMenu.browser.test.tsx (1 test) 631ms
   ✓ leaves dialog, unrelated input and question button shortcuts alone while the stash is open 630ms
 ✓  unit  src/components/composerFooterLayout.test.ts (5 tests) 9ms
(node:4986) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5000) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/device/useDeviceControls.browser.test.tsx (3 tests) 71ms
 ✓  unit  src/state/queries.filesystem.test.ts (3 tests) 4ms
 ✓  unit  src/state/server.test.ts (2 tests) 7ms
 ✓  unit  src/components/usage/usagePriceTargets.test.ts (3 tests) 5ms
(node:5042) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/markdown-links.test.ts (9 tests) 12ms
 ✓  browser (chromium)  src/components/settings/useProjectScriptSettings.browser.test.tsx (2 tests) 86ms
(node:5025) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/browserFaviconLogic.test.ts (4 tests) 4ms
 ✓  unit  src/session-logic.runtime-diagnostics.test.ts (4 tests) 7ms
stdout | src/components/desktop/DesktopWebLinkCoordinator.browser.test.tsx > holds a launch PR link until project discovery settles, then opens the PR view
(node:5067) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
[03:19:04.381] WARN (#40): Could not read the primary environment topology. {
(Use `node --trace-warnings ...` to show where the warning was created)
  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
[03:19:04.381] WARN (#40): Could not read the desktop-local backend topology. {
  cause: [TypeError: bridge.getLocalEnvironmentBootstraps is not a function],
}
 ✓  browser (chromium)  src/components/desktop/DesktopWebLinkCoordinator.browser.test.tsx (1 test) 125ms
 ✓  unit  src/questionAttachments.test.ts (3 tests) 5ms
 ✓  unit  src/components/composerCodeBlockHighlight.test.ts (2 tests) 18ms
(node:5050) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/threadSelectionStore.test.ts (6 tests) 3ms
 ✓  unit  src/terminal/ghostty/runtimeAbi.test.ts (2 tests) 117ms
 ✓  unit  src/components/settings/ProviderSettingsPanel.logic.test.ts (7 tests) 3ms
 ✓  unit  src/state/pullRequests.test.ts (5 tests) 5ms
 ✓  unit  src/components/chat/timelineScrollTarget.test.ts (7 tests) 9ms
 ✓  unit  src/bundledDev.test.ts (1 test) 168ms
 ✓  unit  src/lib/turnDiffTree.test.ts (4 tests) 18ms
 ✓  unit  src/composer-undo-grouping.test.ts (5 tests) 13ms
(node:5090) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/usage/usagePriceTable.test.ts (7 tests) 8ms
 ✓  unit  src/components/chat/composerSend.logic.test.ts (14 tests) 6ms
 ✓  unit  src/components/pullRequest/pullRequestProjectFilter.logic.test.ts (6 tests) 13ms
 ✓  unit  src/components/settings/ConnectionsSettings.logic.test.ts (7 tests) 3ms
 ✓  unit  src/components/preview/openPreviewSession.test.ts (4 tests) 11ms
 ✓  unit  src/components/chat/timelineScrollAnchoring.test.tsx (6 tests) 2ms
 ✓  browser (chromium)  src/components/chat/useChatShortcuts.browser.test.tsx (2 tests) 133ms
 ✓  unit  src/components/pullRequest/pullRequestFileOrder.logic.test.ts (10 tests) 8ms
(node:5197) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/environments/primary/bootstrap.test.ts (5 tests) 39ms
 ✓  unit  src/lib/backgroundActivityReporter.test.ts (3 tests) 13ms
 ✓  unit  src/composer-list-continuation.test.ts (18 tests) 15ms
 ✓  browser (chromium)  src/components/settings/TelemetryExportSettings.browser.test.tsx (2 tests) 5379ms
   ✓ TelemetryExportSettings (2)
     ✓ does not resend a field the user restored after another client changed it 4747ms
     ✓ reports and tests the endpoint the environment set over an empty setting 631ms
 ✓  unit  src/components/pullRequest/pullRequestFilesViewed.logic.test.ts (10 tests) 4ms
stdout | src/components/settings/SourceControlWritingSettings.browser.test.tsx > mixed source control instructions > resets mixed template preferences without replacing each environment's instructions
[03:19:08.277] 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/files/FilePreviewPanel.test.ts (13 tests) 8ms
 ✓  browser (chromium)  src/components/settings/SourceControlWritingSettings.browser.test.tsx (1 test) 416ms
   ✓ mixed source control instructions (1)
     ✓ resets mixed template preferences without replacing each environment's instructions 416ms
 ✓  unit  src/connection/desktopLocal.test.ts (9 tests) 4ms
 ✓  browser (chromium)  src/components/Sidebar.pointer.browser.test.tsx (2 tests) 105ms
 ✓  browser (chromium)  src/components/settings/AcpRegistrySearchStep.browser.test.tsx (2 tests) 869ms
   ✓ rechecks the grant before preparing an agent 352ms
   ✓ ignores prepare completion after unmount 517ms
(node:5245) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/pullRequest/pullRequestStackSnapshot.test.ts (5 tests) 3ms
 ✓  browser (chromium)  src/components/settings/StorageSettings.browser.test.tsx (1 test) 33ms
(node:5291) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/composerAttachmentReferences.test.ts (2 tests) 8ms
(node:5284) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/ProviderStatusBanner.test.ts (2 tests) 2ms
 ✓  unit  src/components/files/filePath.test.ts (18 tests) 4ms
(node:5315) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/terminal/ghostty/keyCodes.test.ts (6 tests) 4ms
 ✓  unit  src/browser/desktopTabLifetime.test.ts (3 tests) 5ms
 ✓  unit  src/components/chat/queuedMessageEdit.test.ts (5 tests) 13ms
 ✓  unit  src/components/settings/deviceHostsSettings.logic.test.ts (6 tests) 3ms
 ✓  browser (chromium)  src/components/chat/threadContextDrag.browser.test.tsx (2 tests) 121ms
 ✓  unit  src/components/clerk/clerkAppearance.test.ts (10 tests) 17ms
stdout | src/components/pullRequest/PullRequestSummaryTab.browser.test.tsx > keeps an unsaved description when collapsed and reopened
[03:19:10.734] 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/chat/HighlightedTokens.test.ts (7 tests) 14ms
 ✓  unit  src/components/settings/deviceHostConnectionChecks.test.ts (3 tests) 7ms
(node:5324) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/lib/incrementalHighlighting.test.ts (13 tests) 469ms
 ✓  unit  src/components/preview/useDiscoveredLocalServers.test.ts (9 tests) 14ms
 ✓  unit  src/lib/threadContextAttachment.test.ts (2 tests) 8ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestSummaryTab.browser.test.tsx (1 test) 1499ms
   ✓ keeps an unsaved description when collapsed and reopened 1499ms
(node:5340) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5369) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/pullRequest/PullRequestCodeTab.browser.test.tsx (1 test) 133ms
(node:5408) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/settings/SettingsPanels.logic.test.ts (4 tests) 3ms
 ✓  unit  src/lib/discardComposerDraft.test.ts (2 tests) 9ms
(node:5424) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/settings/AcpRegistryIcon.test.ts (3 tests) 16ms
 ✓  unit  src/components/chat/composerAttachmentFiles.test.ts (3 tests) 6ms
 ✓  unit  src/components/ThreadTerminalDrawer.test.ts (3 tests) 4ms
(node:5415) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/hooks/useEnvironmentTheme.test.ts (4 tests) 11ms
 ✓  unit  src/projectScripts.test.ts (10 tests) 6ms
 ✓  unit  src/components/RightPanelTabs.test.tsx (4 tests) 4ms
 ✓  unit  src/sidebarPendingFileDropStore.test.ts (3 tests) 8ms
 ✓  unit  src/components/chat/composerMentionDrag.test.ts (3 tests) 7ms
 ✓  browser (chromium)  src/components/chat/QueuedRunsControl.browser.test.tsx (1 test) 642ms
   ✓ previews assistant quotes as readable text and preserves the citation when editing 642ms
 ✓  unit  src/components/chat/composerContextUndo.test.ts (1 test) 3ms
 ✓  unit  src/lib/runtime.test.ts (4 tests) 1527ms
   ✓ web runtime relay telemetry policy (4)
     ✓ applies desktop opt-out before the first relay span 1306ms
 ✓  unit  src/components/settings/AddProviderInstanceDialog.test.ts (5 tests) 3ms
(node:5495) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/diffFileActions.test.ts (9 tests) 5ms
 ✓  unit  src/composer-block-shortcuts.test.ts (11 tests) 39ms
(node:5470) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/pullRequest/pullRequestReviewStore.test.ts (3 tests) 4ms
 ✓  unit  src/state/terminalSessions.test.ts (1 test) 9ms
 ✓  browser (chromium)  src/components/chat/ThreadAutomationsPanel.permissions.browser.test.tsx (3 tests) 218ms
(node:5510) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/desktopUpdate.logic.test.ts (7 tests) 3ms
(node:5503) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/settings/colorPickers.browser.test.tsx (1 test) 579ms
   ✓ theme color field (1)
     ✓ keeps the selected hue when a grey color is echoed back from theme settings 578ms
 ✓  unit  src/cloud/publicConfig.test.ts (12 tests) 10ms
 ✓  browser (chromium)  src/components/projectScriptEditor.browser.test.tsx (1 test) 138ms
 ✓  unit  src/state/use-orchestration-command.test.ts (2 tests) 7ms
 ✓  browser (chromium)  src/shortcutModifierState.browser.test.ts (3 tests) 38ms
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) 896ms
   ✓ keeps an unsaved citation comment when a question takes the composer 896ms
 ✓  browser (chromium)  src/components/sidebar/SidebarProviderUpdatePill.browser.test.tsx (2 tests) 68ms
 ✓  unit  src/clientPersistenceStorage.test.ts (3 tests) 149ms
 ✓  browser (chromium)  src/composer-list-split.browser.test.ts (3 tests) 200ms
 ✓  unit  src/editorPreferences.test.ts (2 tests) 22ms
 ✓  unit  src/components/device/DeviceSetup.test.ts (2 tests) 3ms
 ✓  unit  src/environments/primary/httpLayer.test.ts (2 tests) 14ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestMarkdownEditor.browser.test.tsx (1 test) 1083ms
   ✓ keeps an edited draft through revocation and saves it after access returns without remounting 1083ms
 ✓  unit  src/confirmDialog.test.ts (3 tests) 4ms
 ✓  unit  src/components/settings/ProjectSettingsPanel.logic.test.ts (3 tests) 8ms
(node:5597) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/lib/assistantCitationNavigation.test.ts (2 tests) 15ms
 ✓  unit  src/state/paginatedBranches.test.ts (4 tests) 3ms
 ✓  unit  src/lib/terminalCloseShortcut.test.ts (2 tests) 2ms
 ✓  unit  src/browser/browserSurfaceStore.test.ts (3 tests) 5ms
(node:5606) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/files/fileTreeDragMention.test.ts (3 tests) 3ms
(node:5620) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  browser (chromium)  src/components/chat/threadFindHighlights.browser.test.tsx (1 test) 7ms
 ✓  unit  src/components/pullRequest/pullRequestReactions.logic.test.ts (3 tests) 4ms
 ✓  unit  src/desktopAppActivation.test.ts (2 tests) 3ms
 ✓  unit  src/hooks/showThreadUndoNotice.test.ts (3 tests) 5ms
(node:5668) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/lib/revealThreadTerminal.test.ts (2 tests) 5ms
 ✓  unit  src/components/settings/IntegrationsSettings.logic.test.ts (4 tests) 5ms
 ✓  browser (chromium)  src/components/media/MediaVideoPlayer.browser.test.tsx (2 tests) 84ms
 ✓  browser (chromium)  src/components/settings/useSnapShotShortcutRecorder.browser.test.tsx (1 test) 210ms
 ✓  unit  src/components/settings/browserImportWizard.logic.test.ts (5 tests) 2ms
(node:5661) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/worktreeCleanup.test.ts (2 tests) 3ms
 ✓  unit  src/markdownListIndentation.test.tsx (5 tests) 27ms
 ✓  unit  src/components/preview/openTerminalLinkInPreview.test.ts (1 test) 10ms
 ✓  unit  src/components/chat/MessagesTimeline.active-tools.test.ts (2 tests) 11ms
 ✓  unit  src/lib/previewAnnotation.test.ts (4 tests) 3ms
 ✓  unit  src/components/pullRequest/pullRequestDiff.logic.test.ts (4 tests) 4ms
(node:5707) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/preview/closePreviewSession.test.ts (1 test) 8ms
 ✓  unit  src/localApi.test.ts (1 test) 386ms
   ✓ LocalApi (1)
     ✓ fails closed in a browser when no themed host is available 385ms
 ✓  browser (chromium)  src/components/settings/SecretInput.browser.test.tsx (2 tests) 977ms
   ✓ SecretInput (2)
     ✓ preserves a configured secret on empty edits and commits a replacement 757ms
 ✓  unit  src/workspaceBasenameLookup.test.ts (6 tests) 2ms
 ✓  unit  src/components/chat/pageScrollController.test.ts (3 tests) 2ms
stderr | src/components/diffs/codeViewSearch.test.ts
parsePatchContent: hunk line count mismatch: "@@ -1,4 +1,5 @@", declared old/new 4/5, parsed old/new 3/4

 ✓  unit  src/components/diffs/codeViewSearch.test.ts (1 test) 4ms
 ✓  unit  src/threadNotifications.test.ts (3 tests) 43ms
 ✓  unit  src/state/npmRelease.test.ts (2 tests) 113ms
 ✓  unit  src/components/threadActionMenu.logic.test.ts (3 tests) 2ms
 ✓  unit  src/composer-rich-text.test.ts (5 tests) 8ms
 ✓  unit  src/components/settings/GitHubAccountSettings.logic.test.ts (2 tests) 3ms
 ✓  unit  src/components/settings/ProviderInstanceCard.test.ts (4 tests) 3ms
 ✓  unit  src/components/usage/usagePriceForm.test.ts (11 tests) 3ms
 ✓  unit  src/cloud/connectCliAuth.test.ts (2 tests) 6ms
 ✓  browser (chromium)  src/components/UsageToggleShortcut.browser.test.tsx (2 tests) 95ms
 ✓  unit  src/hooks/useCopyToClipboard.test.ts (2 tests) 4ms
(node:5746) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/providerModels.test.ts (2 tests) 2ms
 ✓  unit  src/lib/chunkReloadGuard.test.ts (3 tests) 4ms
 ✓  unit  src/composer-text-direction.test.ts (4 tests) 6ms
 ✓  unit  src/state/entities.relationshipShells.test.ts (2 tests) 2ms
 ✓  unit  src/state/desktopUpdate.test.ts (1 test) 57ms
 ✓  unit  src/components/chat/composerTypingGuard.test.ts (4 tests) 2ms
(node:5861) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  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) 2ms
 ✓  unit  src/components/pullRequest/pullRequestDiffError.test.ts (3 tests) 2ms
 ✓  unit  src/components/chat/ExpandedImagePreview.test.ts (5 tests) 4ms
(node:5900) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5929) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/workspaceFileDrop.test.ts (2 tests) 2ms
 ✓  unit  src/components/usage/usagePagePreferences.test.ts (4 tests) 6ms
 ✓  unit  src/diffPanelStore.test.ts (1 test) 3ms
 ✓  unit  src/lib/elementContext.test.ts (1 test) 2ms
 ✓  unit  src/components/settings/ProviderSettingsForm.test.ts (3 tests) 3ms
 ✓  unit  src/markdownGithubAlerts.test.tsx (3 tests) 15ms
 ✓  unit  src/components/settings/SettingInheritance.test.ts (1 test) 3ms
 ✓  unit  src/components/diffs/diffFileTree.logic.test.ts (3 tests) 2ms
 ✓  unit  src/lib/terminalCloseConfirm.test.ts (1 test) 2ms
(node:5948) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/device/deviceHubApi.test.ts (1 test) 2ms
 ✓  unit  src/components/chat/markdownTextDirection.test.ts (3 tests) 2ms
 ✓  unit  src/cloud/relayClientInstallDialog.test.ts (1 test) 3ms
 ✓  unit  src/cloud/managedAuth.test.ts (1 test) 3ms
 ✓  unit  src/components/files/ProjectFilePicker.logic.test.ts (2 tests) 2ms
 ✓  unit  src/components/pullRequest/pullRequestsRouteSearch.test.ts (2 tests) 5ms
 ✓  unit  src/lib/projectScriptTerminal.test.ts (4 tests) 3ms
 ✓  unit  src/state/serverProviders.logic.test.ts (2 tests) 3ms
 ✓  unit  src/lib/orchestrationV2Timeline.test.ts (2 tests) 3ms
 ✓  unit  src/hooks/useLocalStorage.test.ts (1 test) 9ms
 ✓  unit  src/hostedPairing.test.ts (2 tests) 3ms
 ✓  unit  src/browser/browserViewportActions.test.ts (1 test) 2ms
 ✓  unit  src/components/settings/ResourceTelemetryDiagnostics.logic.test.ts (1 test) 2ms
(node:6031) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/state/desktopSshHosts.test.ts (1 test) 2ms
 ✓  unit  src/fileContextMenu.test.ts (3 tests) 3ms
 ✓  unit  src/cloud/dpop.test.ts (1 test) 52ms
 ✓  unit  src/components/chat/pendingDraftWork.test.ts (2 tests) 2ms
 ✓  unit  src/components/composerContextPresentation.test.ts (1 test) 3ms
(node:6089) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/agentSpawnSummary.test.ts (4 tests) 2ms
 ✓  unit  src/components/preview/usePreviewBridge.test.ts (1 test) 3ms
 ✓  unit  src/browser/browserViewportLayout.test.ts (2 tests) 2ms
(node:6127) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/portDiscoveryState.test.ts (2 tests) 4ms
 ✓  unit  src/pierre-icons.test.ts (2 tests) 4ms
 ✓  unit  src/components/usage/usageBreakdown.test.ts (1 test) 2ms
 ✓  unit  src/components/clerk/electronPasskeys.test.ts (1 test) 3ms
 ✓  unit  src/components/chat/assistantCitationCommentDismissal.test.ts (3 tests) 2ms
 ✓  unit  src/components/chat/V2LifecycleRow.logic.test.ts (3 tests) 2ms
 ✓  unit  src/hooks/threadUndo.test.ts (2 tests) 2ms
 ✓  unit  src/lib/chatThreadActions.test.ts (2 tests) 3ms
 ✓  unit  src/projectIconOptions.test.ts (2 tests) 8ms
(node:6178) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/usage/UsageProviderChart.test.ts (1 test) 2ms
 ✓  unit  src/previewMiniPlayerStore.test.ts (1 test) 2ms
 ✓  unit  src/textDirection.test.ts (9 tests) 3ms
 ✓  unit  src/browser/browserDefaults.test.ts (1 test) 2ms
 ✓  unit  src/components/files/loadFileAncestors.test.ts (1 test) 2ms
 ✓  unit  src/components/chat/modelPickerKeys.test.ts (2 tests) 2ms
 ✓  unit  src/lib/lruCache.test.ts (3 tests) 3ms
 ✓  unit  src/lib/videoFirstFrame.test.ts (3 tests) 2ms
 ✓  unit  src/components/preview/previewViewportRollback.test.ts (2 tests) 2ms
 ✓  unit  src/components/chat/externalLinkContextMenu.test.ts (11 tests) 3ms
(node:6261) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/lib/snapShotShortcut.test.ts (13 tests) 4ms
 ✓  unit  src/components/settings/pairingUrls.test.ts (2 tests) 2ms
 ✓  unit  src/proposedPlan.test.ts (3 tests) 2ms
(node:6312) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/ProviderInstanceIcon.test.ts (1 test) 2ms
(node:6298) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/hooks/useDefaultTheme.test.ts (2 tests) 3ms
(node:6336) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/reactCompilerCoverage.test.ts (1144 tests) 4928ms
   ✓ React Compiler coverage (1144)
     ✓ compiles apps/web/src/components/chat/ChatComposer.tsx 394ms
     ✓ compiles apps/web/src/components/ChatView.tsx 1443ms
 ✓  unit  src/settleAndAdvance.test.ts (1 test) 2ms
(node:6328) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/chat/ComposerCommandMenu.test.tsx (1 test) 2ms
 ✓  unit  src/hooks/usePullRequestLinking.test.ts (2 tests) 2ms
 ✓  unit  src/components/chat/composerMenuHighlight.test.ts (1 test) 2ms
 ✓  unit  src/lib/projectScriptKeybindings.test.ts (1 test) 3ms
 ✓  unit  src/components/settings/easDeviceHostsSettings.logic.test.ts (1 test) 3ms
(node:6367) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/lib/color.test.ts (8 tests) 3ms
 ✓  unit  src/components/clerk/authRedirect.test.ts (1 test) 4ms
 ✓  unit  src/components/files/fileLineReveal.test.ts (1 test) 2ms
(node:6375) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/settings/settingsScopeAxis.test.ts (1 test) 5ms
 ✓  unit  src/lib/attachmentUploadState.test.ts (1 test) 4ms
 ✓  unit  src/browser/browserLinkTarget.test.ts (1 test) 2ms
 ✓  unit  src/hooks/useThreadActions.test.ts (1 test) 3ms
 ✓  unit  src/browser/previewRuntimeTabId.test.ts (1 test) 2ms
 ✓  unit  src/components/files/fileContentRevision.test.ts (1 test) 2ms
(node:6399) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/components/settings/EnvironmentIconPicker.test.ts (1 test) 1ms
 ✓  unit  src/lib/projectPaths.test.ts (1 test) 2ms

 Test Files  340 passed (340)
      Tests  4039 passed (4039)
   Start at  03:18:26
   Duration  62.02s (worker 67%, import 18%, transform 12%, tests 2%, setup 1%)


Post job cleanup.
Cache hit occurred on the primary key playwright-chromium-shell-Linux-X64-1.60.0, not saving cache.
Post job cleanup.
##[start-action display=Cache full pnpm store;id=__ac6d6bad-2d36-444e-b83f-75adc48fc608.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef, not saving cache.
##[end-action id=__ac6d6bad-2d36-444e-b83f-75adc48fc608.__actions_cache;outcome=success;conclusion=success;duration_ms=132]
##[start-action display=Cache Vite+;id=__ac6d6bad-2d36-444e-b83f-75adc48fc608.vp_cache]
Post job cleanup.
Cache hit occurred on the primary key vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0, not saving cache.
##[end-action id=__ac6d6bad-2d36-444e-b83f-75adc48fc608.vp_cache;outcome=success;conclusion=success;duration_ms=73]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/92110ea9-f468-443d-992e-a5744ea08d85' 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: 157
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 409
  BLACKSMITH_CHECK_RUN_ID: 120764330451
  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