GitHub check

Whole log, 146 KB
Current runner version: '2.338.1'
Runner name: 'blacksmith-8vcpu-ubuntu-2404-f22bjxe4v7mg66oa'
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: None
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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  BLACKSMITH_CHECK_RUN_ID: 120682074404
  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: 3079)

----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/40031923629/jobs/120682074404
SSH Access (using your GitHub SSH key):
  ssh -p 64014 runner@blacksmith-8vcpu-ubuntu-2404-f22bjxe4v7mg66oa.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-f22bjxe4v7mg66oa
Host: production-152.236.41.181-x8664
Host Agent PID: 935711
Host Agent Git SHA: 1637818df
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-funky-wren-8a784698
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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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/cf015578-9ad2-4198-855a-99d91a767a00' 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-4746d3db-63a9-4e6a-86bc-b6eb490d4e09.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-4746d3db-63a9-4e6a-86bc-b6eb490d4e09.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-4746d3db-63a9-4e6a-86bc-b6eb490d4e09.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-4746d3db-63a9-4e6a-86bc-b6eb490d4e09.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-4746d3db-63a9-4e6a-86bc-b6eb490d4e09.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 +8c2f97b94eb1b5e016e64ec7140008ea8b722268:refs/remotes/pull/22585/merge
From https://github.com/pingdotgg/t3code
 * [new ref]         8c2f97b94eb1b5e016e64ec7140008ea8b722268 -> pull/22585/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/22585/merge
Updating files:   0% (1/6312)
Updating files:   1% (64/6312)
Updating files:   2% (127/6312)
Updating files:   3% (190/6312)
Updating files:   4% (253/6312)
Updating files:   5% (316/6312)
Updating files:   6% (379/6312)
Updating files:   7% (442/6312)
Updating files:   8% (505/6312)
Updating files:   9% (569/6312)
Updating files:  10% (632/6312)
Updating files:  11% (695/6312)
Updating files:  12% (758/6312)
Updating files:  13% (821/6312)
Updating files:  14% (884/6312)
Updating files:  15% (947/6312)
Updating files:  16% (1010/6312)
Updating files:  17% (1074/6312)
Updating files:  18% (1137/6312)
Updating files:  19% (1200/6312)
Updating files:  20% (1263/6312)
Updating files:  21% (1326/6312)
Updating files:  22% (1389/6312)
Updating files:  23% (1452/6312)
Updating files:  24% (1515/6312)
Updating files:  25% (1578/6312)
Updating files:  26% (1642/6312)
Updating files:  26% (1651/6312)
Updating files:  27% (1705/6312)
Updating files:  28% (1768/6312)
Updating files:  29% (1831/6312)
Updating files:  30% (1894/6312)
Updating files:  31% (1957/6312)
Updating files:  32% (2020/6312)
Updating files:  33% (2083/6312)
Updating files:  34% (2147/6312)
Updating files:  35% (2210/6312)
Updating files:  36% (2273/6312)
Updating files:  37% (2336/6312)
Updating files:  38% (2399/6312)
Updating files:  39% (2462/6312)
Updating files:  40% (2525/6312)
Updating files:  41% (2588/6312)
Updating files:  42% (2652/6312)
Updating files:  43% (2715/6312)
Updating files:  44% (2778/6312)
Updating files:  45% (2841/6312)
Updating files:  46% (2904/6312)
Updating files:  47% (2967/6312)
Updating files:  48% (3030/6312)
Updating files:  49% (3093/6312)
Updating files:  50% (3156/6312)
Updating files:  51% (3220/6312)
Updating files:  52% (3283/6312)
Updating files:  53% (3346/6312)
Updating files:  54% (3409/6312)
Updating files:  55% (3472/6312)
Updating files:  56% (3535/6312)
Updating files:  57% (3598/6312)
Updating files:  58% (3661/6312)
Updating files:  59% (3725/6312)
Updating files:  60% (3788/6312)
Updating files:  61% (3851/6312)
Updating files:  62% (3914/6312)
Updating files:  63% (3977/6312)
Updating files:  64% (4040/6312)
Updating files:  65% (4103/6312)
Updating files:  66% (4166/6312)
Updating files:  67% (4230/6312)
Updating files:  68% (4293/6312)
Updating files:  69% (4356/6312)
Updating files:  70% (4419/6312)
Updating files:  71% (4482/6312)
Updating files:  72% (4545/6312)
Updating files:  73% (4608/6312)
Updating files:  74% (4671/6312)
Updating files:  75% (4734/6312)
Updating files:  76% (4798/6312)
Updating files:  77% (4861/6312)
Updating files:  78% (4924/6312)
Updating files:  79% (4987/6312)
Updating files:  80% (5050/6312)
Updating files:  81% (5113/6312)
Updating files:  82% (5176/6312)
Updating files:  83% (5239/6312)
Updating files:  84% (5303/6312)
Updating files:  85% (5366/6312)
Updating files:  86% (5429/6312)
Updating files:  87% (5492/6312)
Updating files:  88% (5555/6312)
Updating files:  89% (5618/6312)
Updating files:  90% (5681/6312)
Updating files:  91% (5744/6312)
Updating files:  92% (5808/6312)
Updating files:  93% (5871/6312)
Updating files:  94% (5934/6312)
Updating files:  95% (5997/6312)
Updating files:  96% (6060/6312)
Updating files:  97% (6123/6312)
Updating files:  98% (6186/6312)
Updating files:  99% (6249/6312)
Updating files: 100% (6312/6312)
Updating files: 100% (6312/6312), done.
Note: switching to 'refs/remotes/pull/22585/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 8c2f97b Merge bfcf418fe2ba79103d39a308f7f4f559e6f7378f into 9a391eb3f55b738113b61768cf2d8263b4f3ac2e
[command]/usr/local/bin/git log -1 --format=%H
8c2f97b94eb1b5e016e64ec7140008ea8b722268
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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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%), 335.7 MBs/sec
Cache Size: ~162 MB (170349591 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/addf0191-2368-4d76-aa82-db8e61cadc37/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=1775]
##[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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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=23]
##[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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.pnpm_store;outcome=success;conclusion=success;duration_ms=28]
##[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-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c
  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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c
Received 490733568 of 994615207 (49.3%), 465.2 MBs/sec
Received 939524096 of 994615207 (94.5%), 446.4 MBs/sec
Received 994615207 of 994615207 (100.0%), 442.8 MBs/sec
Cache Size: ~949 MB (994615207 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/366230d2-5cc0-4f1c-a0fc-35e8dcf40b17/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-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c
##[end-action id=__self.__actions_cache;outcome=success;conclusion=success;duration_ms=9297]
##[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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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 9.2s)
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 10.9s using pnpm v12.14.0
##[end-action id=__self.__run_2;outcome=success;conclusion=success;duration_ms=10977]
â–¸ 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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: playwright-chromium-shell-Linux-X64-1.60.0
Received 106503405 of 106503405 (100.0%), 493.1 MBs/sec
Cache Size: ~102 MB (106503405 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/ac699f90-7dd8-45a2-810e-733c01322afb/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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  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) 306ms
 ✓  unit  src/components/pullRequest/pullRequestDetail.logic.test.ts (70 tests) 47ms
 ✓  browser (chromium)  src/hooks/useSettings.favorites.browser.test.tsx (7 tests) 364ms
(node:3958) 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/scopedSettings.test.ts (26 tests) 22ms
 ✓  unit  src/session-logic.test.ts (48 tests) 71ms
 ✓  browser (chromium)  src/components/desktop/SnapShotCoordinator.browser.test.ts (10 tests) 802ms
 ✓  unit  src/components/chat/MessagesTimeline.logic.test.ts (81 tests) 161ms
(node:3966) 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) 633ms
   ✓ rechecks after project creation and can retry its history without recreating the project 395ms
 ✓  unit  src/components/Sidebar.logic.test.ts (57 tests) 29ms
stdout | src/components/ChatMarkdown.browser.test.tsx > ChatMarkdown streaming > edits the current task text and marker after reusing a renderer
[22:12:05.159] 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/pullRequest/pullRequestList.logic.test.ts (32 tests) 64ms
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
 ✓  unit  src/keybindings.test.ts (38 tests) 31ms
 ✓  browser (chromium)  src/components/ComposerPromptEditorTiptap.input.browser.test.tsx (14 tests) 3819ms
   ✓ bolds with Mod+B only when text is selected 454ms
   ✓ an Arabic line (3)
     ✓ leaves inline code through its start with ArrowRight, which points back 1525ms
 ✓  browser (chromium)  src/components/ChatMarkdown.browser.test.tsx (6 tests) 856ms
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.
stdout | src/components/settings/ProjectSettingsPanel.browser.test.tsx > project settings permissions > renames every member when all have project access without settings access
[22:12:06.726] 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.],
}
(node:4261) 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
[Error: ResizeObserver loop completed with undelivered notifications.]
 ✓  unit  src/modelSelection.test.ts (27 tests) 45ms
(node:4253) 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. {
  debugInfo: {
    numContainers: 19,
    numContainersPooled: 19,
    numNeeded: 21,
    stillNeeded: 4,
  },
}
(node:3940) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/themePalette.test.ts (15 tests) 56ms
 ✓  unit  src/composerDraftStore.test.ts (69 tests) 131ms
stdout | src/components/chat/MessagesTimeline.browser.test.tsx > MessagesTimeline messages > settles when equally long messages have very different rendered heights
[22:12:08.634] 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/terminal/ghostty/surface.test.ts (28 tests) 128ms
(node:4277) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:4270) 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/settings/ProjectSettingsPanel.browser.test.tsx > project settings permissions > uses the current grant while a member's session is refreshing
[22:12:09.869] 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/lib/attachmentUploadQueue.test.ts (12 tests) 36ms
 ✓  unit  src/components/Sidebar.drag.test.ts (42 tests) 43ms
 ✓  browser (chromium)  src/components/chat/MessagesTimeline.browser.test.tsx (13 tests) 4049ms
   ✓ MessagesTimeline messages (4)
     ✓ settles when equally long messages have very different rendered heights 2652ms
 ✓  unit  src/providerInstances.test.ts (28 tests) 13ms
 ✓  unit  src/lib/assistantTextSelection.test.ts (38 tests) 37ms
 ✓  unit  src/composer-logic.test.ts (61 tests) 152ms
(node:4219) 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) 68ms
 ✓  unit  src/openVsxThemes.test.ts (5 tests) 1100ms
   ✓ Open VSX themes (5)
     ✓ downloads a verified VSIX, reads JSONC includes, and pairs contributed variants 1045ms
(node:4326) 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/settings/ProjectSettingsPanel.browser.test.tsx > project settings scope > recovers a stale environment link with checkout undefined
[22:12:13.119] 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/lib/imageCompression.test.ts (19 tests) 321ms
 ✓  unit  src/components/ChatView.logic.test.ts (45 tests) 43ms
 ✓  browser (chromium)  src/components/settings/ProjectSettingsPanel.browser.test.tsx (16 tests) 8083ms
   ✓ project settings permissions (10)
     ✓ renames every member when all have project access without settings access 477ms
     ✓ stops before the next member if its grant is revoked during an earlier update 507ms
     ✓ removes a writable checkout while removal of the mixed group stays denied 574ms
     ✓ rechecks every removal target after confirmation before deleting or clearing drafts 484ms
     ✓ does not save an edit whose grant was revoked mid-edit, and recovers when restored 712ms
   ✓ project settings scope (5)
     ✓ offers every environment while no project is selected 541ms
     ✓ offers only the selected project's checkout environments 347ms
     ✓ keeps an unknown project recoverable from any environment 1653ms
     ✓ recovers a stale environment link with checkout undefined 1104ms
     ✓ recovers a stale environment link with checkout removed-checkout 479ms
   ✓ returns to the project overview after removal, clearing the selection but keeping the environment 451ms
(node:4320) 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/preview/PreviewView.browser.test.tsx > PreviewView > retains the annotation locally when its own environment loses access during capture
[22:12:14.825] 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/CommandPalette.logic.test.ts (20 tests) 21ms
 ✓  unit  src/authBootstrap.test.ts (10 tests) 1010ms
   ✓ resolveInitialServerAuthGateState (10)
     ✓ reuses an in-flight silent bootstrap attempt 830ms
 ✓  browser (chromium)  src/components/ReopenClosedViewShortcut.browser.test.tsx (5 tests) 424ms
(node:4377) 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/ProviderSettingsPanel.environment.browser.test.tsx (3 tests) 1532ms
   ✓ EnvironmentProviderSettings routing (3)
     ✓ updates one provider instance without sending a stale whole map 738ms
     ✓ routes explicit ACP browser authentication consent to the selected environment 580ms
(node:4350) 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/composerProviderState.test.tsx (15 tests) 15ms
 ✓  browser (chromium)  src/components/preview/PreviewView.browser.test.tsx (2 tests) 2069ms
   ✓ PreviewView (2)
     ✓ retains the annotation locally when its own environment loses access during capture 1336ms
     ✓ still sends annotation text when the picked element's crop is malformed 733ms
(node:4368) 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) 100ms
 ✓  browser (chromium)  src/lib/resourceTelemetryState.browser.test.tsx (4 tests) 4494ms
   ✓ resource monitor retry (4)
     ✓ clears the settings and history errors after a successful retry without remounting 1279ms
     ✓ refreshes the changed history window only in the retry environment (switch environment: false) 1320ms
     ✓ refreshes the changed history window only in the retry environment (switch environment: true) 1258ms
     ✓ keeps the failed monitor and history errors visible when retry fails 633ms
(node:4384) 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 (14 tests) 63ms
 ✓  unit  src/previewStateStore.test.ts (15 tests) 28ms
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 {
[22:12:17.708] 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.],
}
  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/components/ChatMarkdown.permissions.browser.test.tsx (5 tests) 650ms
 ✓  unit  src/lib/composerContextRecords.test.ts (13 tests) 84ms
 ✓  unit  src/components/files/fileEditorVirtualization.test.ts (9 tests) 533ms
 ✓  unit  src/themeBoot.test.ts (23 tests) 30ms
(node:4395) 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/diffRendering.test.ts (16 tests) 32ms
 ✓  unit  src/terminal/ghostty/core.test.ts (16 tests) 203ms
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.]
 ✓  unit  src/components/settings/scheduledTasksSettings.logic.test.ts (18 tests) 25ms
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
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
[Error: ResizeObserver loop completed with undelivered notifications.]
[22:12:21.509] 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.]
 ✓  unit  src/hooks/useSettings.test.ts (11 tests) 32ms
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) 28ms
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.]
 ✓  unit  src/hooks/useThreadActions.permissions.test.ts (36 tests) 34ms
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/components/chat/chatCanvasLayout.test.ts (16 tests) 63ms
(node:4449) 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/AddProviderInstanceDialog.environment.browser.test.tsx (4 tests) 3214ms
   ✓ AddProviderInstanceDialog environment routing (4)
     ✓ chooses an unused identity for another account without replacing configured instances 306ms
     ✓ creates a local command in the selected environment without a sign-in step 2348ms
 ✓  unit  src/components/ProviderUpdateLaunchNotification.logic.test.ts (9 tests) 21ms
 ✓  unit  src/browser/browserRecording.test.ts (6 tests) 29ms
 ✓  unit  src/connection/storage.test.ts (6 tests) 45ms
 ✓  unit  src/lib/openPullRequestLink.test.ts (27 tests) 13ms
 ✓  unit  src/components/settings/settingsScopeNavigation.test.ts (11 tests) 76ms
 ✓  unit  src/browserHistoryStore.test.ts (14 tests) 41ms
 ✓  unit  src/composer-editor-mentions.test.ts (25 tests) 52ms
 ✓  unit  src/hooks/useHandleNewThread.test.ts (5 tests) 7ms
 ✓  unit  src/pendingUserInput.test.ts (15 tests) 14ms
 ✓  unit  src/environmentGrouping.test.ts (7 tests) 23ms
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.

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) 107ms
 ✓  unit  src/hooks/useThreadActions.undo.test.ts (13 tests) 55ms
stdout | src/components/GitActionsControl.browser.test.tsx > Git action targets across thread navigation > runs a retained PR toast in the thread that produced it
[22:12:27.968] 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/cloud/useCloudLinkController.browser.test.tsx (7 tests) 594ms
 ✓  unit  src/components/settings/SnapShotSetupDialog.logic.test.ts (21 tests) 9ms
 ✓  unit  src/browser/browserTargetResolver.test.ts (10 tests) 29ms
 ✓  browser (chromium)  src/components/GitActionsControl.browser.test.tsx (1 test) 468ms
   ✓ Git action targets across thread navigation (1)
     ✓ runs a retained PR toast in the thread that produced it 468ms
stdout | src/components/settings/ProviderSetupSection.browser.test.tsx > Antigravity setup > waits for verified auth after submitting a callback to the selected environment
[22:12:28.742] 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:4566) 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) 737ms
   ✓ Antigravity setup (3)
     ✓ waits for verified auth after submitting a callback to the selected environment 446ms
 ✓  unit  src/components/settings/settingsSearch.test.ts (16 tests) 36ms
 ✓  browser (chromium)  src/components/chat/ComposerPendingUserInputPanel.navigation.browser.test.tsx (2 tests) 134ms
 ✓  browser (chromium)  src/components/ThreadNotificationCoordinator.badge.browser.test.tsx (2 tests) 224ms
 ✓  browser (chromium)  src/components/ServerUpdateAction.browser.test.tsx (6 tests) 416ms
(node:4590) 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) 25ms
(node:4597) 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) 11ms
 ✓  unit  src/onboarding/projectImport.logic.test.ts (14 tests) 23ms
(node:4628) 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) 41ms
 ✓  unit  src/components/preview/previewMiniPlayerLayout.test.ts (17 tests) 14ms
 ✓  unit  src/components/BranchToolbar.logic.test.ts (18 tests) 12ms
(node:4604) 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/providerStatus.test.ts (7 tests) 8ms
 ✓  unit  src/onboarding/firstRun.logic.test.ts (17 tests) 12ms
 ✓  unit  src/components/files/projectFilesQueryState.test.tsx (3 tests) 30ms
 ✓  unit  src/components/chat/threadActivityAnnouncement.test.ts (12 tests) 8ms
 ✓  unit  src/components/chat/composerPromptHistory.test.ts (18 tests) 26ms
 ✓  unit  src/lib/contextWindow.test.ts (9 tests) 23ms
(node:4654) 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-clipboard.test.ts (5 tests) 12ms
 ✓  unit  src/onboarding/providerReadiness.logic.test.ts (16 tests) 10ms
 ✓  unit  src/components/chat/composerSubmission.test.ts (8 tests) 24ms
 ✓  unit  src/remoteOpen.test.ts (14 tests) 22ms
 ✓  unit  src/state/sourceControlActions.test.ts (17 tests) 10ms
 ✓  unit  src/components/media/MediaActions.test.tsx (5 tests) 10ms
 ✓  browser (chromium)  src/components/chat/AssistantCitationChip.browser.test.tsx (3 tests) 1002ms
   ✓ citation comment source disappearance (2)
     ✓ preserves an over-length draft at the composer until it can be shortened and saved 341ms
   ✓ citation comment popup position (1)
     ✓ stays on screen when the cited text ends in a code block's hidden overflow 441ms
 ✓  unit  src/threadRoutes.test.ts (11 tests) 16ms
 ✓  unit  src/onboarding/targetEnvironment.logic.test.ts (9 tests) 13ms
 ✓  unit  src/cloud/linkEnvironment.test.ts (1 test) 60ms
(node:4771) 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/SnapShotSettings.logic.test.ts (6 tests) 7ms
 ✓  browser (chromium)  src/components/chat/OpenInPicker.browser.test.tsx (1 test) 89ms
 ✓  unit  src/wslPaths.test.ts (12 tests) 9ms
(node:4749) 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/diffs/AnnotatableCodeView.browser.test.tsx (1 test) 183ms
 ✓  unit  src/components/pullRequest/pullRequestEditing.logic.test.ts (13 tests) 6ms
 ✓  browser (chromium)  src/components/device/DevicePanel.browser.test.tsx (1 test) 117ms
 ✓  unit  src/reviewCommentContext.test.ts (4 tests) 12ms
 ✓  unit  src/components/PullRequestThreadDialog.test.ts (1 test) 6ms
 ✓  unit  src/contextMenuFallback.test.ts (1 test) 5ms
 ✓  unit  src/components/files/fileSaveCoordinator.test.ts (8 tests) 15ms
 ✓  unit  src/components/pullRequest/pullRequestProjectAssignment.logic.test.ts (9 tests) 7ms
 ✓  unit  src/components/settings/customModelEditor.logic.test.ts (5 tests) 14ms
 ✓  browser (chromium)  src/components/files/useFileSaveCoordinator.browser.test.tsx (8 tests) 573ms
 ✓  unit  src/components/files/projectFilesQueryState.test.ts (3 tests) 48ms
 ✓  browser (chromium)  src/browser/ElectronBrowserHost.browser.test.tsx (1 test) 146ms
 ✓  unit  src/reopenClosedView.test.ts (11 tests) 23ms
 ✓  browser (chromium)  src/components/chat/ThreadDetailsPrRow.browser.test.tsx (2 tests) 374ms
 ✓  unit  src/lib/embeddedScripts.test.ts (40 tests) 60ms
 ✓  unit  src/terminalUiStateStore.test.ts (6 tests) 10ms
 ✓  unit  src/components/GitActionsControl.logic.test.ts (11 tests) 7ms
 ✓  unit  src/hooks/useThreadActionMenu.test.ts (6 tests) 6ms
(node:4880) 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/settingsScope.test.ts (13 tests) 10ms
 ✓  unit  src/components/chat/composerThreadImport.test.ts (4 tests) 20ms
(node:4843) 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/softwareKeyboard.test.ts (10 tests) 12ms
 ✓  unit  src/state/threads.test.ts (3 tests) 13ms
 ✓  unit  src/browserFaviconStore.test.ts (5 tests) 17ms
 ✓  unit  src/components/sidebar/updateEverything.logic.test.ts (3 tests) 13ms
 ✓  unit  src/components/chat/modelPickerSearch.test.ts (6 tests) 24ms
 ✓  unit  src/versionSkew.test.ts (11 tests) 31ms
(node:4944) 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) 22ms
 ✓  unit  src/markdown-incremental.test.tsx (18 tests) 1824ms
(node:4929) 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/shell.test.ts (5 tests) 17ms
 ✓  unit  src/components/chat/ContextWindowMeter.logic.test.ts (7 tests) 17ms
(node:4953) 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/server.test.ts (2 tests) 8ms
 ✓  unit  src/components/composerFooterLayout.test.ts (5 tests) 11ms
(node:4969) 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/queries.filesystem.test.ts (3 tests) 12ms
 ✓  unit  src/components/usage/usagePriceTargets.test.ts (3 tests) 6ms
(node:5009) 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) 16ms
 ✓  browser (chromium)  src/components/settings/CaptureShortcutConfig.browser.test.tsx (3 tests) 270ms
 ✓  browser (chromium)  src/components/settings/AcpSessionManagementSection.browser.test.tsx (2 tests) 226ms
 ✓  browser (chromium)  src/components/device/useDeviceControls.browser.test.tsx (3 tests) 141ms
 ✓  browser (chromium)  src/components/chat/ComposerStashMenu.browser.test.tsx (1 test) 923ms
   ✓ leaves dialog, unrelated input and question button shortcuts alone while the stash is open 918ms
(node:4993) 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) 16ms
 ✓  unit  src/components/composerCodeBlockHighlight.test.ts (2 tests) 39ms
(node:5035) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/questionAttachments.test.ts (3 tests) 26ms
 ✓  unit  src/session-logic.runtime-diagnostics.test.ts (4 tests) 18ms
 ✓  unit  src/terminal/ghostty/runtimeAbi.test.ts (2 tests) 125ms
(node:5017) 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) 6ms
 ✓  browser (chromium)  src/components/settings/useProjectScriptSettings.browser.test.tsx (2 tests) 301ms
 ✓  unit  src/bundledDev.test.ts (1 test) 284ms
 ✓  unit  src/state/pullRequests.test.ts (5 tests) 23ms
 ✓  unit  src/components/settings/ProviderSettingsPanel.logic.test.ts (7 tests) 14ms
 ✓  unit  src/components/chat/timelineScrollTarget.test.ts (7 tests) 7ms
 ✓  unit  src/lib/turnDiffTree.test.ts (4 tests) 20ms
 ✓  unit  src/composer-undo-grouping.test.ts (5 tests) 30ms
(node:5059) 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/desktop/DesktopWebLinkCoordinator.browser.test.tsx > holds a launch PR link until project discovery settles, then opens the PR view
[22:12:55.956] 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
[22:12:55.960] 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) 229ms
 ✓  unit  src/components/usage/usagePriceTable.test.ts (7 tests) 6ms
 ✓  unit  src/components/chat/composerSend.logic.test.ts (14 tests) 12ms
 ✓  unit  src/components/pullRequest/pullRequestProjectFilter.logic.test.ts (6 tests) 35ms
 ✓  unit  src/components/preview/openPreviewSession.test.ts (4 tests) 47ms
 ✓  unit  src/components/settings/ConnectionsSettings.logic.test.ts (7 tests) 7ms
 ✓  unit  src/components/chat/timelineScrollAnchoring.test.tsx (6 tests) 4ms
 ✓  unit  src/components/pullRequest/pullRequestFileOrder.logic.test.ts (10 tests) 38ms
 ✓  unit  src/environments/primary/bootstrap.test.ts (5 tests) 79ms
(node:5172) 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/backgroundActivityReporter.test.ts (3 tests) 34ms
 ✓  unit  src/composer-list-continuation.test.ts (18 tests) 9ms
 ✓  unit  src/components/pullRequest/pullRequestFilesViewed.logic.test.ts (10 tests) 11ms
 ✓  unit  src/components/files/FilePreviewPanel.test.ts (13 tests) 20ms
 ✓  browser (chromium)  src/components/chat/useChatShortcuts.browser.test.tsx (2 tests) 589ms
   ✓ leaves the launcher's letters to the launcher, in either case 437ms
 ✓  unit  src/connection/desktopLocal.test.ts (9 tests) 19ms
(node:5213) 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) 6ms
(node:5260) 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) 9ms
 ✓  browser (chromium)  src/components/settings/TelemetryExportSettings.browser.test.tsx (2 tests) 10044ms
   ✓ TelemetryExportSettings (2)
     ✓ does not resend a field the user restored after another client changed it 9632ms
     ✓ reports and tests the endpoint the environment set over an empty setting 411ms
(node:5254) 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) 3ms
 ✓  unit  src/components/files/filePath.test.ts (18 tests) 7ms
 ✓  unit  src/browser/desktopTabLifetime.test.ts (3 tests) 10ms
 ✓  browser (chromium)  src/components/Sidebar.pointer.browser.test.tsx (2 tests) 69ms
(node:5285) 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) 15ms
 ✓  unit  src/components/chat/queuedMessageEdit.test.ts (5 tests) 9ms
 ✓  browser (chromium)  src/components/settings/AcpRegistrySearchStep.browser.test.tsx (2 tests) 1396ms
   ✓ rechecks the grant before preparing an agent 646ms
   ✓ ignores prepare completion after unmount 750ms
 ✓  unit  src/components/settings/deviceHostsSettings.logic.test.ts (6 tests) 6ms
 ✓  unit  src/components/clerk/clerkAppearance.test.ts (10 tests) 23ms
 ✓  unit  src/components/settings/deviceHostConnectionChecks.test.ts (3 tests) 12ms
 ✓  browser (chromium)  src/components/settings/StorageSettings.browser.test.tsx (1 test) 79ms
stdout | src/components/settings/SourceControlWritingSettings.browser.test.tsx > mixed source control instructions > resets mixed template preferences without replacing each environment's instructions
[22:13:05.534] 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) 13ms
(node:5293) 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/useDiscoveredLocalServers.test.ts (9 tests) 17ms
 ✓  unit  src/lib/incrementalHighlighting.test.ts (13 tests) 866ms
 ✓  unit  src/lib/threadContextAttachment.test.ts (2 tests) 12ms
 ✓  browser (chromium)  src/components/settings/SourceControlWritingSettings.browser.test.tsx (1 test) 1976ms
   ✓ mixed source control instructions (1)
     ✓ resets mixed template preferences without replacing each environment's instructions 1975ms
(node:5343) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5313) 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/pullRequest/PullRequestSummaryTab.browser.test.tsx > keeps an unsaved description when collapsed and reopened
[22:13:08.200] 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/threadContextDrag.browser.test.tsx (2 tests) 115ms
(node:5382) 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) 8ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestSummaryTab.browser.test.tsx (1 test) 1497ms
   ✓ keeps an unsaved description when collapsed and reopened 1497ms
 ✓  unit  src/lib/discardComposerDraft.test.ts (2 tests) 17ms
 ✓  unit  src/components/chat/composerAttachmentFiles.test.ts (3 tests) 8ms
(node:5398) 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) 12ms
 ✓  unit  src/components/ThreadTerminalDrawer.test.ts (3 tests) 8ms
(node:5389) 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) 17ms
 ✓  unit  src/projectScripts.test.ts (10 tests) 21ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestCodeTab.browser.test.tsx (1 test) 205ms
 ✓  unit  src/sidebarPendingFileDropStore.test.ts (3 tests) 15ms
 ✓  unit  src/components/chat/composerMentionDrag.test.ts (3 tests) 5ms
 ✓  unit  src/components/RightPanelTabs.test.tsx (4 tests) 13ms
 ✓  unit  src/lib/runtime.test.ts (4 tests) 2556ms
   ✓ web runtime relay telemetry policy (4)
     ✓ applies desktop opt-out before the first relay span 2202ms
 ✓  unit  src/components/chat/composerContextUndo.test.ts (1 test) 16ms
 ✓  unit  src/components/settings/AddProviderInstanceDialog.test.ts (5 tests) 11ms
(node:5469) 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) 16ms
 ✓  unit  src/components/desktopUpdate.logic.test.ts (7 tests) 12ms
 ✓  unit  src/composer-block-shortcuts.test.ts (11 tests) 123ms
 ✓  unit  src/components/pullRequest/pullRequestReviewStore.test.ts (3 tests) 12ms
(node:5445) 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/QueuedRunsControl.browser.test.tsx (1 test) 1143ms
   ✓ previews assistant quotes as readable text and preserves the citation when editing 1142ms
(node:5486) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5479) 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/terminalSessions.test.ts (1 test) 20ms
 ✓  unit  src/cloud/publicConfig.test.ts (12 tests) 10ms
 ✓  unit  src/state/use-orchestration-command.test.ts (2 tests) 7ms
 ✓  unit  src/editorPreferences.test.ts (2 tests) 15ms
 ✓  unit  src/clientPersistenceStorage.test.ts (3 tests) 305ms
 ✓  browser (chromium)  src/components/chat/ThreadAutomationsPanel.permissions.browser.test.tsx (3 tests) 288ms
 ✓  unit  src/components/device/DeviceSetup.test.ts (2 tests) 6ms
 ✓  browser (chromium)  src/components/settings/colorPickers.browser.test.tsx (1 test) 857ms
   ✓ theme color field (1)
     ✓ keeps the selected hue when a grey color is echoed back from theme settings 856ms
 ✓  unit  src/environments/primary/httpLayer.test.ts (2 tests) 40ms
 ✓  unit  src/components/settings/ProjectSettingsPanel.logic.test.ts (3 tests) 16ms
 ✓  unit  src/confirmDialog.test.ts (3 tests) 12ms
 ✓  unit  src/state/paginatedBranches.test.ts (4 tests) 10ms
 ✓  browser (chromium)  src/shortcutModifierState.browser.test.ts (3 tests) 195ms
(node:5574) 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) 41ms
 ✓  unit  src/lib/terminalCloseShortcut.test.ts (2 tests) 11ms
 ✓  browser (chromium)  src/components/projectScriptEditor.browser.test.tsx (1 test) 381ms
   ✓ project action editor save lifecycle (1)
     ✓ does not close a replacement request or release its in-flight save 381ms
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.
 ✓  unit  src/browser/browserSurfaceStore.test.ts (3 tests) 14ms
 ✓  browser (chromium)  src/components/ComposerPromptEditorTiptap.citationDraft.browser.test.tsx (1 test) 2622ms
   ✓ keeps an unsaved citation comment when a question takes the composer 2621ms
 ✓  browser (chromium)  src/components/sidebar/SidebarProviderUpdatePill.browser.test.tsx (2 tests) 163ms
 ✓  unit  src/components/files/fileTreeDragMention.test.ts (3 tests) 10ms
 ✓  browser (chromium)  src/composer-list-split.browser.test.ts (3 tests) 290ms
(node:5584) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5598) 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/pullRequestReactions.logic.test.ts (3 tests) 4ms
 ✓  unit  src/desktopAppActivation.test.ts (2 tests) 14ms
 ✓  unit  src/hooks/showThreadUndoNotice.test.ts (3 tests) 21ms
(node:5645) 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) 11ms
 ✓  browser (chromium)  src/components/pullRequest/PullRequestMarkdownEditor.browser.test.tsx (1 test) 1871ms
   ✓ keeps an edited draft through revocation and saves it after access returns without remounting 1870ms
 ✓  unit  src/components/settings/IntegrationsSettings.logic.test.ts (4 tests) 9ms
 ✓  unit  src/components/settings/browserImportWizard.logic.test.ts (5 tests) 11ms
(node:5638) 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) 4ms
 ✓  unit  src/markdownListIndentation.test.tsx (5 tests) 48ms
 ✓  unit  src/components/chat/MessagesTimeline.active-tools.test.ts (2 tests) 36ms
 ✓  unit  src/components/preview/openTerminalLinkInPreview.test.ts (1 test) 14ms
 ✓  unit  src/lib/previewAnnotation.test.ts (4 tests) 19ms
 ✓  unit  src/components/pullRequest/pullRequestDiff.logic.test.ts (4 tests) 4ms
(node:5683) 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) 29ms
 ✓  unit  src/components/preview/closePreviewSession.test.ts (1 test) 10ms
 ✓  unit  src/workspaceBasenameLookup.test.ts (6 tests) 17ms
 ✓  unit  src/state/npmRelease.test.ts (2 tests) 124ms
 ✓  unit  src/components/chat/pageScrollController.test.ts (3 tests) 4ms
 ✓  unit  src/localApi.test.ts (1 test) 1582ms
   ✓ LocalApi (1)
     ✓ fails closed in a browser when no themed host is available 1581ms
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) 6ms
 ✓  unit  src/components/threadActionMenu.logic.test.ts (3 tests) 6ms
 ✓  unit  src/composer-rich-text.test.ts (5 tests) 8ms
 ✓  unit  src/threadNotifications.test.ts (3 tests) 245ms
 ✓  browser (chromium)  src/components/settings/useSnapShotShortcutRecorder.browser.test.tsx (1 test) 447ms
   ✓ ignores late suppression acknowledgements after cancellation 447ms
 ✓  unit  src/components/settings/GitHubAccountSettings.logic.test.ts (2 tests) 4ms
 ✓  unit  src/components/usage/usagePriceForm.test.ts (11 tests) 6ms
 ✓  unit  src/cloud/connectCliAuth.test.ts (2 tests) 8ms
 ✓  unit  src/hooks/useCopyToClipboard.test.ts (2 tests) 6ms
 ✓  browser (chromium)  src/components/media/MediaVideoPlayer.browser.test.tsx (2 tests) 174ms
 ✓  unit  src/components/settings/ProviderInstanceCard.test.ts (4 tests) 3ms
 ✓  unit  src/composer-text-direction.test.ts (4 tests) 16ms
 ✓  unit  src/lib/chunkReloadGuard.test.ts (3 tests) 4ms
(node:5721) 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/desktopUpdate.test.ts (1 test) 61ms
 ✓  unit  src/providerModels.test.ts (2 tests) 4ms
 ✓  unit  src/components/chat/composerTypingGuard.test.ts (4 tests) 4ms
 ✓  unit  src/state/entities.relationshipShells.test.ts (2 tests) 3ms
 ✓  browser (chromium)  src/components/settings/SecretInput.browser.test.tsx (2 tests) 1741ms
   ✓ SecretInput (2)
     ✓ preserves a configured secret on empty edits and commits a replacement 1311ms
     ✓ keeps an in-progress replacement when settings refresh 429ms
 ✓  unit  src/lib/terminalContext.test.ts (2 tests) 5ms
(node:5847) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓  unit  src/providerSkillSearch.test.ts (10 tests) 9ms
 ✓  unit  src/components/chat/ThreadErrorBanner.test.tsx (3 tests) 6ms
 ✓  unit  src/components/pullRequest/pullRequestDiffError.test.ts (3 tests) 4ms
 ✓  unit  src/components/chat/ExpandedImagePreview.test.ts (5 tests) 8ms
 ✓  browser (chromium)  src/components/UsageToggleShortcut.browser.test.tsx (2 tests) 151ms
(node:5877) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5905) 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) 5ms
 ✓  unit  src/components/usage/usagePagePreferences.test.ts (4 tests) 10ms
 ✓  unit  src/diffPanelStore.test.ts (1 test) 4ms
 ✓  unit  src/lib/elementContext.test.ts (1 test) 3ms
 ✓  unit  src/markdownGithubAlerts.test.tsx (3 tests) 30ms
 ✓  unit  src/components/settings/ProviderSettingsForm.test.ts (3 tests) 6ms
 ✓  unit  src/components/settings/SettingInheritance.test.ts (1 test) 4ms
 ✓  unit  src/components/diffs/diffFileTree.logic.test.ts (3 tests) 3ms
(node:5924) 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/terminalCloseConfirm.test.ts (1 test) 5ms
 ✓  unit  src/components/chat/markdownTextDirection.test.ts (3 tests) 5ms
 ✓  unit  src/components/device/deviceHubApi.test.ts (1 test) 6ms
 ✓  unit  src/cloud/relayClientInstallDialog.test.ts (1 test) 6ms
 ✓  unit  src/cloud/managedAuth.test.ts (1 test) 7ms
 ✓  unit  src/components/files/ProjectFilePicker.logic.test.ts (2 tests) 5ms
 ✓  unit  src/lib/projectScriptTerminal.test.ts (4 tests) 4ms
 ✓  unit  src/components/pullRequest/pullRequestsRouteSearch.test.ts (2 tests) 10ms
 ✓  unit  src/state/serverProviders.logic.test.ts (2 tests) 5ms
 ✓  unit  src/lib/orchestrationV2Timeline.test.ts (2 tests) 4ms
 ✓  unit  src/hooks/useLocalStorage.test.ts (1 test) 18ms
 ✓  unit  src/browser/browserViewportActions.test.ts (1 test) 4ms
 ✓  unit  src/hostedPairing.test.ts (2 tests) 5ms
(node:6007) 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/ResourceTelemetryDiagnostics.logic.test.ts (1 test) 4ms
 ✓  unit  src/state/desktopSshHosts.test.ts (1 test) 4ms
 ✓  unit  src/fileContextMenu.test.ts (3 tests) 5ms
 ✓  unit  src/cloud/dpop.test.ts (1 test) 69ms
 ✓  unit  src/components/composerContextPresentation.test.ts (1 test) 6ms
 ✓  unit  src/components/chat/pendingDraftWork.test.ts (2 tests) 6ms
 ✓  unit  src/components/chat/agentSpawnSummary.test.ts (4 tests) 5ms
(node:6065) 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/usePreviewBridge.test.ts (1 test) 3ms
(node:6103) 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/browserViewportLayout.test.ts (2 tests) 4ms
 ✓  unit  src/portDiscoveryState.test.ts (2 tests) 5ms
 ✓  unit  src/components/usage/usageBreakdown.test.ts (1 test) 3ms
 ✓  unit  src/pierre-icons.test.ts (2 tests) 5ms
 ✓  unit  src/components/clerk/electronPasskeys.test.ts (1 test) 4ms
 ✓  unit  src/components/chat/V2LifecycleRow.logic.test.ts (3 tests) 3ms
 ✓  unit  src/components/chat/assistantCitationCommentDismissal.test.ts (3 tests) 12ms
 ✓  unit  src/hooks/threadUndo.test.ts (2 tests) 8ms
(node:6154) 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/chatThreadActions.test.ts (2 tests) 4ms
 ✓  unit  src/components/usage/UsageProviderChart.test.ts (1 test) 4ms
 ✓  unit  src/projectIconOptions.test.ts (2 tests) 13ms
 ✓  unit  src/previewMiniPlayerStore.test.ts (1 test) 8ms
 ✓  unit  src/browser/browserDefaults.test.ts (1 test) 3ms
 ✓  unit  src/textDirection.test.ts (9 tests) 6ms
 ✓  unit  src/components/files/loadFileAncestors.test.ts (1 test) 4ms
 ✓  unit  src/components/chat/modelPickerKeys.test.ts (2 tests) 3ms
 ✓  unit  src/lib/lruCache.test.ts (3 tests) 5ms
 ✓  unit  src/lib/videoFirstFrame.test.ts (3 tests) 4ms
 ✓  unit  src/components/preview/previewViewportRollback.test.ts (2 tests) 4ms
 ✓  unit  src/components/chat/externalLinkContextMenu.test.ts (11 tests) 4ms
 ✓  unit  src/components/settings/pairingUrls.test.ts (2 tests) 12ms
 ✓  unit  src/reactCompilerCoverage.test.ts (1144 tests) 8384ms
   ✓ React Compiler coverage (1144)
     ✓ compiles apps/web/src/components/chat/ChatComposer.tsx 554ms
     ✓ compiles apps/web/src/components/ChatView.tsx 2344ms
(node:6238) 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) 8ms
 ✓  unit  src/proposedPlan.test.ts (3 tests) 4ms
(node:6276) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:6290) 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) 3ms
 ✓  unit  src/hooks/useDefaultTheme.test.ts (2 tests) 4ms
 ✓  unit  src/settleAndAdvance.test.ts (1 test) 5ms
(node:6312) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:6304) 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) 4ms
 ✓  unit  src/hooks/usePullRequestLinking.test.ts (2 tests) 4ms
 ✓  unit  src/components/chat/composerMenuHighlight.test.ts (1 test) 2ms
(node:6346) 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/projectScriptKeybindings.test.ts (1 test) 4ms
 ✓  unit  src/components/settings/easDeviceHostsSettings.logic.test.ts (1 test) 5ms
(node:6353) 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) 6ms
 ✓  unit  src/components/clerk/authRedirect.test.ts (1 test) 3ms
 ✓  unit  src/browser/browserLinkTarget.test.ts (1 test) 4ms
 ✓  unit  src/components/files/fileLineReveal.test.ts (1 test) 3ms
 ✓  unit  src/lib/attachmentUploadState.test.ts (1 test) 2ms
 ✓  unit  src/browser/previewRuntimeTabId.test.ts (1 test) 3ms
 ✓  unit  src/components/settings/settingsScopeAxis.test.ts (1 test) 3ms
 ✓  unit  src/hooks/useThreadActions.test.ts (1 test) 5ms
 ✓  unit  src/components/files/fileContentRevision.test.ts (1 test) 3ms
(node:6377) 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) 3ms
 ✓  unit  src/lib/projectPaths.test.ts (1 test) 2ms

 Test Files  340 passed (340)
      Tests  4033 passed (4033)
   Start at  22:11:48
   Duration  110.53s (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=__864cbe15-6cfb-4878-9897-7d520cf41501.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c, not saving cache.
##[end-action id=__864cbe15-6cfb-4878-9897-7d520cf41501.__actions_cache;outcome=success;conclusion=success;duration_ms=202]
##[start-action display=Cache Vite+;id=__864cbe15-6cfb-4878-9897-7d520cf41501.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=__864cbe15-6cfb-4878-9897-7d520cf41501.vp_cache;outcome=success;conclusion=success;duration_ms=141]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/37d9b873-66ee-4273-8d09-93ac40e698e1' 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: 197
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 469
  BLACKSMITH_CHECK_RUN_ID: 120682074404
  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