[1m[32m==>[m[1m Building on centiskorch[m
[1m[32m==>[m[1m Checking for remote environment...[m
[1m[32m==>[m[1m Syncing package to remote host...[m
sending incremental file list
./
.SRCINFO
587 100% 0.00kB/s 0:00:00
587 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9)
.nvchecker.toml
55 100% 53.71kB/s 0:00:00
55 100% 53.71kB/s 0:00:00 (xfr#2, to-chk=6/9)
LICENSE
646 100% 630.86kB/s 0:00:00
646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9)
PKGBUILD
1,275 100% 1.22MB/s 0:00:00
1,275 100% 1.22MB/s 0:00:00 (xfr#4, to-chk=4/9)
REUSE.toml
375 100% 366.21kB/s 0:00:00
375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9)
gemini-cli-1:0.26.0-1.log
698 100% 681.64kB/s 0:00:00
698 100% 681.64kB/s 0:00:00 (xfr#6, to-chk=2/9)
LICENSES/
sent 1,866 bytes received 180 bytes 818.40 bytes/sec
total size is 3,146 speedup is 1.54
[1m[32m==>[m[1m Patching arch to riscv64...[m
[1m[32m==>[m[1m Running pkgctl build --arch riscv64 on remote host...[m
[1m[33m==> WARNING:[m[1m invalid architecture: riscv64[m
[1m[32m==>[m[1m Updating pacman database cache[m
[?25l:: Synchronizing package databases...
core downloading...
extra downloading...
multilib downloading...
[?25h[1m[32m==>[m[1m Building gemini-cli[m
[1m[34m ->[m[1m repo: extra[m
[1m[34m ->[m[1m arch: riscv64[m
[1m[34m ->[m[1m worker: felix-7[m
[1m[32m==>[m[1m Building gemini-cli for [extra] (riscv64)[m
]3008;start=11f539a1c34440a2936baa13f1ac7213;user=root;hostname=centiskorch.felixc.at;machineid=1a94f69a1f9e480395692a8eaa8e4813;bootid=037fc67a72b947529d0542dd3b1c315c;pid=753309;pidfdid=105581368;comm=systemd-nspawn;container=arch-nspawn-753309;type=container\]11;?\[22;2t]2;๐ต Container arch-nspawn-753309 on centiskorch.felixc.at\[?25l:: Synchronizing package databases...
core downloading...
extra downloading...
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Package (2) Old Version New Version Net Change Download Size
core/gettext 0.26-1 1.0-1 4.99 MiB 3.27 MiB
core/libunistring 1.3-1 1.4.1-1 0.05 MiB 0.72 MiB
Total Download Size: 3.99 MiB
Total Installed Size: 23.37 MiB
Net Upgrade Size: 5.04 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
gettext-1.0-1-riscv64 downloading...
libunistring-1.4.1-1-riscv64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
upgrading libunistring...
upgrading gettext...
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the info directory file...
[?25h[23;2t[!p]104[?7h[1G[0J]3008;end=11f539a1c34440a2936baa13f1ac7213\[1m[32m==>[m[1m Building in chroot for [extra] (riscv64)...[m
[1m[32m==>[m[1m Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-7]...[m[1mdone[m
[1m[32m==>[m[1m Making package: gemini-cli 1:0.26.0-1 (Fri Jan 30 08:28:30 2026)[m
[1m[32m==>[m[1m Retrieving sources...[m
[1m[34m ->[m[1m Updating gemini-cli git repo...[m
From https://github.com/google-gemini/gemini-cli
- [deleted] (none) -> adh/fix/pr-15006-feedback
- [deleted] (none) -> adibakm/migrate-appevents-to-coreevents
- [deleted] (none) -> adibakm/rewind-command
- [deleted] (none) -> adibakm/rewind-confirmation-dialog
- [deleted] (none) -> adibakm/rewind-hook
- [deleted] (none) -> adibakm/rewind-viewer
- [deleted] (none) -> adibakm/unblock-command-usage-from-mcp-startup
- [deleted] (none) -> apply-remote-admin-controls
- [deleted] (none) -> cb/updatedocs
- [deleted] (none) -> cb/userworkspacesettings
- [deleted] (none) -> deflake_tests
- [deleted] (none) -> gundermanc/hardware-telemetry
- [deleted] (none) -> gundermanc/test-infra
- [deleted] (none) -> input_background
- [deleted] (none) -> jl/subagent-refresh
- [deleted] (none) -> kevin-ramdass/exp
- [deleted] (none) -> kevin-ramdass/expsupport
- [deleted] (none) -> mk-routing
- [deleted] (none) -> ntm/gh.15992
- [deleted] (none) -> ntm/gh.16042
- [deleted] (none) -> ntm/gh.non-interactive-prompt
- [deleted] (none) -> ntm/pr-creator-skill
- [deleted] (none) -> sehoon/agent_parser
- [deleted] (none) -> sehoon/enable_disable_agents
- [deleted] (none) -> settings_md
- [deleted] (none) -> st/feat-activity-logger-core-v2
- [deleted] (none) -> st/shell
- [deleted] (none) -> st/smarter-edit
- [deleted] (none) -> supported-locations
- [deleted] (none) -> tab
- [deleted] (none) -> tomm_paste
- [deleted] (none) -> tomm_paste_test
- [deleted] (none) -> refs/pull/10001/merge
- [deleted] (none) -> refs/pull/10022/merge
- [deleted] (none) -> refs/pull/10028/merge
- [deleted] (none) -> refs/pull/10029/merge
- [deleted] (none) -> refs/pull/10079/merge
- [deleted] (none) -> refs/pull/10089/merge
- [deleted] (none) -> refs/pull/10135/merge
- [deleted] (none) -> refs/pull/10146/merge
- [deleted] (none) -> refs/pull/10152/merge
- [deleted] (none) -> refs/pull/10156/merge
- [deleted] (none) -> refs/pull/10195/merge
- [deleted] (none) -> refs/pull/10213/merge
- [deleted] (none) -> refs/pull/10220/merge
- [deleted] (none) -> refs/pull/10225/merge
- [deleted] (none) -> refs/pull/10226/merge
- [deleted] (none) -> refs/pull/10403/merge
- [deleted] (none) -> refs/pull/10413/merge
- [deleted] (none) -> refs/pull/10465/merge
- [deleted] (none) -> refs/pull/10483/merge
- [deleted] (none) -> refs/pull/10531/merge
- [deleted] (none) -> refs/pull/10554/merge
- [deleted] (none) -> refs/pull/10557/merge
- [deleted] (none) -> refs/pull/10561/merge
- [deleted] (none) -> refs/pull/10603/merge
- [deleted] (none) -> refs/pull/10614/merge
- [deleted] (none) -> refs/pull/10625/merge
- [deleted] (none) -> refs/pull/10648/merge
- [deleted] (none) -> refs/pull/10654/merge
- [deleted] (none) -> refs/pull/10670/merge
- [deleted] (none) -> refs/pull/10706/merge
- [deleted] (none) -> refs/pull/10712/merge
- [deleted] (none) -> refs/pull/10892/merge
- [deleted] (none) -> refs/pull/10917/merge
- [deleted] (none) -> refs/pull/10924/merge
- [deleted] (none) -> refs/pull/10938/merge
- [deleted] (none) -> refs/pull/10962/merge
- [deleted] (none) -> refs/pull/10982/merge
- [deleted] (none) -> refs/pull/10991/merge
- [deleted] (none) -> refs/pull/10993/merge
- [deleted] (none) -> refs/pull/11006/merge
- [deleted] (none) -> refs/pull/11013/merge
- [deleted] (none) -> refs/pull/11030/merge
- [deleted] (none) -> refs/pull/11041/merge
- [deleted] (none) -> refs/pull/11078/merge
- [deleted] (none) -> refs/pull/11088/merge
- [deleted] (none) -> refs/pull/11089/merge
- [deleted] (none) -> refs/pull/11090/merge
- [deleted] (none) -> refs/pull/11099/merge
- [deleted] (none) -> refs/pull/11137/merge
- [deleted] (none) -> refs/pull/11139/merge
- [deleted] (none) -> refs/pull/11141/merge
- [deleted] (none) -> refs/pull/11142/merge
- [deleted] (none) -> refs/pull/11155/merge
- [deleted] (none) -> refs/pull/11177/merge
- [deleted] (none) -> refs/pull/11178/merge
- [deleted] (none) -> refs/pull/11182/merge
- [deleted] (none) -> refs/pull/11207/merge
- [deleted] (none) -> refs/pull/11234/merge
- [deleted] (none) -> refs/pull/11242/merge
- [deleted] (none) -> refs/pull/11245/merge
- [deleted] (none) -> refs/pull/11247/merge
- [deleted] (none) -> refs/pull/11250/merge
- [deleted] (none) -> refs/pull/11314/merge
- [deleted] (none) -> refs/pull/11332/merge
- [deleted] (none) -> refs/pull/11352/merge
- [deleted] (none) -> refs/pull/11357/merge
- [deleted] (none) -> refs/pull/11359/merge
- [deleted] (none) -> refs/pull/11378/merge
- [deleted] (none) -> refs/pull/11379/merge
- [deleted] (none) -> refs/pull/11398/merge
- [deleted] (none) -> refs/pull/11420/merge
- [deleted] (none) -> refs/pull/11421/merge
- [deleted] (none) -> refs/pull/11422/merge
- [deleted] (none) -> refs/pull/11423/merge
- [deleted] (none) -> refs/pull/11424/merge
- [deleted] (none) -> refs/pull/11444/merge
- [deleted] (none) -> refs/pull/11471/merge
- [deleted] (none) -> refs/pull/11548/merge
- [deleted] (none) -> refs/pull/11583/merge
- [deleted] (none) -> refs/pull/11596/merge
- [deleted] (none) -> refs/pull/11604/merge
- [deleted] (none) -> refs/pull/11617/merge
- [deleted] (none) -> refs/pull/11633/merge
- [deleted] (none) -> refs/pull/11680/merge
- [deleted] (none) -> refs/pull/11754/merge
- [deleted] (none) -> refs/pull/11800/merge
- [deleted] (none) -> refs/pull/11817/merge
- [deleted] (none) -> refs/pull/11847/merge
- [deleted] (none) -> refs/pull/11919/merge
- [deleted] (none) -> refs/pull/11936/merge
- [deleted] (none) -> refs/pull/11938/merge
- [deleted] (none) -> refs/pull/11965/merge
- [deleted] (none) -> refs/pull/11974/merge
- [deleted] (none) -> refs/pull/11997/merge
- [deleted] (none) -> refs/pull/12010/merge
- [deleted] (none) -> refs/pull/12029/merge
- [deleted] (none) -> refs/pull/12038/merge
- [deleted] (none) -> refs/pull/12062/merge
- [deleted] (none) -> refs/pull/12074/merge
- [deleted] (none) -> refs/pull/12110/merge
- [deleted] (none) -> refs/pull/12154/merge
- [deleted] (none) -> refs/pull/12161/merge
- [deleted] (none) -> refs/pull/12182/merge
- [deleted] (none) -> refs/pull/12200/merge
- [deleted] (none) -> refs/pull/12210/merge
- [deleted] (none) -> refs/pull/12217/merge
- [deleted] (none) -> refs/pull/12222/merge
- [deleted] (none) -> refs/pull/12245/merge
- [deleted] (none) -> refs/pull/12246/merge
- [deleted] (none) -> refs/pull/12280/merge
- [deleted] (none) -> refs/pull/12340/merge
- [deleted] (none) -> refs/pull/12348/merge
- [deleted] (none) -> refs/pull/12389/merge
- [deleted] (none) -> refs/pull/12444/merge
- [deleted] (none) -> refs/pull/12458/merge
- [deleted] (none) -> refs/pull/12465/merge
- [deleted] (none) -> refs/pull/12475/merge
- [deleted] (none) -> refs/pull/12491/merge
- [deleted] (none) -> refs/pull/12515/merge
- [deleted] (none) -> refs/pull/12521/merge
- [deleted] (none) -> refs/pull/12523/merge
- [deleted] (none) -> refs/pull/12536/merge
- [deleted] (none) -> refs/pull/12537/merge
- [deleted] (none) -> refs/pull/12609/merge
- [deleted] (none) -> refs/pull/12619/merge
- [deleted] (none) -> refs/pull/12637/merge
- [deleted] (none) -> refs/pull/12649/merge
- [deleted] (none) -> refs/pull/12676/merge
- [deleted] (none) -> refs/pull/12690/merge
- [deleted] (none) -> refs/pull/12722/merge
- [deleted] (none) -> refs/pull/12747/merge
- [deleted] (none) -> refs/pull/12749/merge
- [deleted] (none) -> refs/pull/12773/merge
- [deleted] (none) -> refs/pull/12790/merge
- [deleted] (none) -> refs/pull/12801/merge
- [deleted] (none) -> refs/pull/12807/merge
- [deleted] (none) -> refs/pull/12820/merge
- [deleted] (none) -> refs/pull/12829/merge
- [deleted] (none) -> refs/pull/12843/merge
- [deleted] (none) -> refs/pull/12877/merge
- [deleted] (none) -> refs/pull/12879/merge
- [deleted] (none) -> refs/pull/12887/merge
- [deleted] (none) -> refs/pull/12899/merge
- [deleted] (none) -> refs/pull/12930/merge
- [deleted] (none) -> refs/pull/12941/merge
- [deleted] (none) -> refs/pull/12973/merge
- [deleted] (none) -> refs/pull/12985/merge
- [deleted] (none) -> refs/pull/13030/merge
- [deleted] (none) -> refs/pull/13048/merge
- [deleted] (none) -> refs/pull/13078/merge
- [deleted] (none) -> refs/pull/13090/merge
- [deleted] (none) -> refs/pull/13102/merge
- [deleted] (none) -> refs/pull/13193/merge
- [deleted] (none) -> refs/pull/13227/merge
- [deleted] (none) -> refs/pull/13290/merge
- [deleted] (none) -> refs/pull/13315/merge
- [deleted] (none) -> refs/pull/13337/merge
- [deleted] (none) -> refs/pull/13340/merge
- [deleted] (none) -> refs/pull/13358/merge
- [deleted] (none) -> refs/pull/13362/merge
- [deleted] (none) -> refs/pull/13372/merge
- [deleted] (none) -> refs/pull/13378/merge
- [deleted] (none) -> refs/pull/13386/merge
- [deleted] (none) -> refs/pull/13397/merge
- [deleted] (none) -> refs/pull/13403/merge
- [deleted] (none) -> refs/pull/13407/merge
- [deleted] (none) -> refs/pull/13408/merge
- [deleted] (none) -> refs/pull/13439/merge
- [deleted] (none) -> refs/pull/13451/merge
- [deleted] (none) -> refs/pull/13455/merge
- [deleted] (none) -> refs/pull/13461/merge
- [deleted] (none) -> refs/pull/13465/merge
- [deleted] (none) -> refs/pull/13481/merge
- [deleted] (none) -> refs/pull/13482/merge
- [deleted] (none) -> refs/pull/13486/merge
- [deleted] (none) -> refs/pull/13507/merge
- [deleted] (none) -> refs/pull/13514/merge
- [deleted] (none) -> refs/pull/13522/merge
- [deleted] (none) -> refs/pull/13530/merge
- [deleted] (none) -> refs/pull/13532/merge
- [deleted] (none) -> refs/pull/13539/merge
- [deleted] (none) -> refs/pull/13550/merge
- [deleted] (none) -> refs/pull/13581/merge
- [deleted] (none) -> refs/pull/13583/merge
- [deleted] (none) -> refs/pull/13609/merge
- [deleted] (none) -> refs/pull/13616/merge
- [deleted] (none) -> refs/pull/13622/merge
- [deleted] (none) -> refs/pull/13644/merge
- [deleted] (none) -> refs/pull/13650/merge
- [deleted] (none) -> refs/pull/13674/merge
- [deleted] (none) -> refs/pull/13681/merge
- [deleted] (none) -> refs/pull/13684/merge
- [deleted] (none) -> refs/pull/13686/merge
- [deleted] (none) -> refs/pull/13689/merge
- [deleted] (none) -> refs/pull/13692/merge
- [deleted] (none) -> refs/pull/13706/merge
- [deleted] (none) -> refs/pull/13720/merge
- [deleted] (none) -> refs/pull/13735/merge
- [deleted] (none) -> refs/pull/13769/merge
- [deleted] (none) -> refs/pull/13789/merge
- [deleted] (none) -> refs/pull/13797/merge
- [deleted] (none) -> refs/pull/13838/merge
- [deleted] (none) -> refs/pull/13841/merge
- [deleted] (none) -> refs/pull/13855/merge
- [deleted] (none) -> refs/pull/13867/merge
- [deleted] (none) -> refs/pull/13868/merge
- [deleted] (none) -> refs/pull/13872/merge
- [deleted] (none) -> refs/pull/13873/merge
- [deleted] (none) -> refs/pull/13875/merge
- [deleted] (none) -> refs/pull/13881/merge
- [deleted] (none) -> refs/pull/13883/merge
- [deleted] (none) -> refs/pull/13963/merge
- [deleted] (none) -> refs/pull/13981/merge
- [deleted] (none) -> refs/pull/13991/merge
- [deleted] (none) -> refs/pull/14094/merge
- [deleted] (none) -> refs/pull/14096/merge
- [deleted] (none) -> refs/pull/14126/merge
- [deleted] (none) -> refs/pull/14141/merge
- [deleted] (none) -> refs/pull/14142/merge
- [deleted] (none) -> refs/pull/14147/merge
- [deleted] (none) -> refs/pull/14150/merge
- [deleted] (none) -> refs/pull/14175/merge
- [deleted] (none) -> refs/pull/14190/merge
- [deleted] (none) -> refs/pull/14263/merge
- [deleted] (none) -> refs/pull/14267/merge
- [deleted] (none) -> refs/pull/14326/merge
- [deleted] (none) -> refs/pull/14331/merge
- [deleted] (none) -> refs/pull/14332/merge
- [deleted] (none) -> refs/pull/14362/merge
- [deleted] (none) -> refs/pull/14366/merge
- [deleted] (none) -> refs/pull/14372/merge
- [deleted] (none) -> refs/pull/14381/merge
- [deleted] (none) -> refs/pull/14408/merge
- [deleted] (none) -> refs/pull/14432/merge
- [deleted] (none) -> refs/pull/14433/merge
- [deleted] (none) -> refs/pull/14450/merge
- [deleted] (none) -> refs/pull/14456/merge
- [deleted] (none) -> refs/pull/14466/merge
- [deleted] (none) -> refs/pull/14479/merge
- [deleted] (none) -> refs/pull/14480/merge
- [deleted] (none) -> refs/pull/14494/merge
- [deleted] (none) -> refs/pull/14496/merge
- [deleted] (none) -> refs/pull/14499/merge
- [deleted] (none) -> refs/pull/14501/merge
- [deleted] (none) -> refs/pull/14511/merge
- [deleted] (none) -> refs/pull/14600/merge
- [deleted] (none) -> refs/pull/14608/merge
- [deleted] (none) -> refs/pull/14610/merge
- [deleted] (none) -> refs/pull/14611/merge
- [deleted] (none) -> refs/pull/14616/merge
- [deleted] (none) -> refs/pull/14618/merge
- [deleted] (none) -> refs/pull/14640/merge
- [deleted] (none) -> refs/pull/14650/merge
- [deleted] (none) -> refs/pull/14652/merge
- [deleted] (none) -> refs/pull/14661/merge
- [deleted] (none) -> refs/pull/14667/merge
- [deleted] (none) -> refs/pull/14668/merge
- [deleted] (none) -> refs/pull/14675/merge
- [deleted] (none) -> refs/pull/14676/merge
- [deleted] (none) -> refs/pull/14681/merge
- [deleted] (none) -> refs/pull/14685/merge
- [deleted] (none) -> refs/pull/14703/merge
- [deleted] (none) -> refs/pull/14727/merge
- [deleted] (none) -> refs/pull/14748/merge
- [deleted] (none) -> refs/pull/14774/merge
- [deleted] (none) -> refs/pull/14786/merge
- [deleted] (none) -> refs/pull/14809/merge
- [deleted] (none) -> refs/pull/14834/merge
- [deleted] (none) -> refs/pull/14835/merge
- [deleted] (none) -> refs/pull/14852/merge
- [deleted] (none) -> refs/pull/14863/merge
- [deleted] (none) -> refs/pull/14872/merge
- [deleted] (none) -> refs/pull/14875/merge
- [deleted] (none) -> refs/pull/14877/merge
- [deleted] (none) -> refs/pull/14878/merge
- [deleted] (none) -> refs/pull/14880/merge
- [deleted] (none) -> refs/pull/14881/merge
- [deleted] (none) -> refs/pull/14894/merge
- [deleted] (none) -> refs/pull/14895/merge
- [deleted] (none) -> refs/pull/14901/merge
- [deleted] (none) -> refs/pull/14915/merge
- [deleted] (none) -> refs/pull/14933/merge
- [deleted] (none) -> refs/pull/14936/merge
- [deleted] (none) -> refs/pull/14939/merge
- [deleted] (none) -> refs/pull/14953/merge
- [deleted] (none) -> refs/pull/14956/merge
- [deleted] (none) -> refs/pull/14974/merge
- [deleted] (none) -> refs/pull/14982/merge
- [deleted] (none) -> refs/pull/14994/merge
- [deleted] (none) -> refs/pull/14997/merge
- [deleted] (none) -> refs/pull/15027/merge
- [deleted] (none) -> refs/pull/15034/merge
- [deleted] (none) -> refs/pull/15035/merge
- [deleted] (none) -> refs/pull/15047/merge
- [deleted] (none) -> refs/pull/15049/merge
- [deleted] (none) -> refs/pull/15056/merge
- [deleted] (none) -> refs/pull/15057/merge
- [deleted] (none) -> refs/pull/15062/merge
- [deleted] (none) -> refs/pull/15088/merge
- [deleted] (none) -> refs/pull/15113/merge
- [deleted] (none) -> refs/pull/15142/merge
- [deleted] (none) -> refs/pull/15143/merge
- [deleted] (none) -> refs/pull/15149/merge
- [deleted] (none) -> refs/pull/15151/merge
- [deleted] (none) -> refs/pull/15152/merge
- [deleted] (none) -> refs/pull/15175/merge
- [deleted] (none) -> refs/pull/15229/merge
- [deleted] (none) -> refs/pull/15234/merge
- [deleted] (none) -> refs/pull/15254/merge
- [deleted] (none) -> refs/pull/15256/merge
- [deleted] (none) -> refs/pull/15274/merge
- [deleted] (none) -> refs/pull/15285/merge
- [deleted] (none) -> refs/pull/15312/merge
- [deleted] (none) -> refs/pull/15357/merge
- [deleted] (none) -> refs/pull/15365/merge
- [deleted] (none) -> refs/pull/15371/merge
- [deleted] (none) -> refs/pull/15373/merge
- [deleted] (none) -> refs/pull/15380/merge
- [deleted] (none) -> refs/pull/15386/merge
- [deleted] (none) -> refs/pull/15393/merge
- [deleted] (none) -> refs/pull/15394/merge
- [deleted] (none) -> refs/pull/15414/merge
- [deleted] (none) -> refs/pull/15421/merge
- [deleted] (none) -> refs/pull/15432/merge
- [deleted] (none) -> refs/pull/15434/merge
- [deleted] (none) -> refs/pull/15438/merge
- [deleted] (none) -> refs/pull/15448/merge
- [deleted] (none) -> refs/pull/15460/merge
- [deleted] (none) -> refs/pull/15469/merge
- [deleted] (none) -> refs/pull/15491/merge
- [deleted] (none) -> refs/pull/15509/merge
- [deleted] (none) -> refs/pull/15522/merge
- [deleted] (none) -> refs/pull/15527/merge
- [deleted] (none) -> refs/pull/15548/merge
- [deleted] (none) -> refs/pull/15552/merge
- [deleted] (none) -> refs/pull/15573/merge
- [deleted] (none) -> refs/pull/15575/merge
- [deleted] (none) -> refs/pull/15596/merge
- [deleted] (none) -> refs/pull/15620/merge
- [deleted] (none) -> refs/pull/15652/merge
- [deleted] (none) -> refs/pull/15659/merge
- [deleted] (none) -> refs/pull/15664/merge
- [deleted] (none) -> refs/pull/15672/merge
- [deleted] (none) -> refs/pull/15696/merge
- [deleted] (none) -> refs/pull/15710/merge
- [deleted] (none) -> refs/pull/15716/merge
- [deleted] (none) -> refs/pull/15717/merge
- [deleted] (none) -> refs/pull/15718/merge
- [deleted] (none) -> refs/pull/15720/merge
- [deleted] (none) -> refs/pull/15736/merge
- [deleted] (none) -> refs/pull/15737/merge
- [deleted] (none) -> refs/pull/15740/merge
- [deleted] (none) -> refs/pull/15752/merge
- [deleted] (none) -> refs/pull/15756/merge
- [deleted] (none) -> refs/pull/15757/merge
- [deleted] (none) -> refs/pull/15767/merge
- [deleted] (none) -> refs/pull/15771/merge
- [deleted] (none) -> refs/pull/15777/merge
- [deleted] (none) -> refs/pull/15783/merge
- [deleted] (none) -> refs/pull/15784/merge
- [deleted] (none) -> refs/pull/15805/merge
- [deleted] (none) -> refs/pull/15806/merge
- [deleted] (none) -> refs/pull/15815/merge
- [deleted] (none) -> refs/pull/15816/merge
- [deleted] (none) -> refs/pull/15826/merge
- [deleted] (none) -> refs/pull/15829/merge
- [deleted] (none) -> refs/pull/15839/merge
- [deleted] (none) -> refs/pull/15853/merge
- [deleted] (none) -> refs/pull/15855/merge
- [deleted] (none) -> refs/pull/15861/merge
- [deleted] (none) -> refs/pull/15867/merge
- [deleted] (none) -> refs/pull/15878/merge
- [deleted] (none) -> refs/pull/15886/merge
- [deleted] (none) -> refs/pull/15906/merge
- [deleted] (none) -> refs/pull/15919/merge
- [deleted] (none) -> refs/pull/15931/merge
- [deleted] (none) -> refs/pull/15946/merge
- [deleted] (none) -> refs/pull/15948/merge
- [deleted] (none) -> refs/pull/16000/merge
- [deleted] (none) -> refs/pull/16029/merge
- [deleted] (none) -> refs/pull/16039/merge
- [deleted] (none) -> refs/pull/16041/merge
- [deleted] (none) -> refs/pull/16044/merge
- [deleted] (none) -> refs/pull/16045/merge
- [deleted] (none) -> refs/pull/16047/merge
- [deleted] (none) -> refs/pull/16087/merge
- [deleted] (none) -> refs/pull/16093/merge
- [deleted] (none) -> refs/pull/16094/merge
- [deleted] (none) -> refs/pull/16098/merge
- [deleted] (none) -> refs/pull/16106/merge
- [deleted] (none) -> refs/pull/16117/merge
- [deleted] (none) -> refs/pull/16119/merge
- [deleted] (none) -> refs/pull/16133/merge
- [deleted] (none) -> refs/pull/16145/merge
- [deleted] (none) -> refs/pull/16146/merge
- [deleted] (none) -> refs/pull/16152/merge
- [deleted] (none) -> refs/pull/16156/merge
- [deleted] (none) -> refs/pull/16157/merge
- [deleted] (none) -> refs/pull/16161/merge
- [deleted] (none) -> refs/pull/16177/merge
- [deleted] (none) -> refs/pull/16179/merge
- [deleted] (none) -> refs/pull/16181/merge
- [deleted] (none) -> refs/pull/16184/merge
- [deleted] (none) -> refs/pull/16185/merge
- [deleted] (none) -> refs/pull/16199/merge
- [deleted] (none) -> refs/pull/16204/merge
- [deleted] (none) -> refs/pull/16207/merge
- [deleted] (none) -> refs/pull/16221/merge
- [deleted] (none) -> refs/pull/16222/merge
- [deleted] (none) -> refs/pull/16225/merge
- [deleted] (none) -> refs/pull/16229/merge
- [deleted] (none) -> refs/pull/16231/merge
- [deleted] (none) -> refs/pull/16232/merge
- [deleted] (none) -> refs/pull/16235/merge
- [deleted] (none) -> refs/pull/16238/merge
- [deleted] (none) -> refs/pull/16243/merge
- [deleted] (none) -> refs/pull/5115/merge
- [deleted] (none) -> refs/pull/5122/merge
- [deleted] (none) -> refs/pull/5416/merge
- [deleted] (none) -> refs/pull/5538/merge
- [deleted] (none) -> refs/pull/5558/merge
- [deleted] (none) -> refs/pull/5606/merge
- [deleted] (none) -> refs/pull/6508/merge
- [deleted] (none) -> refs/pull/6542/merge
- [deleted] (none) -> refs/pull/6570/merge
- [deleted] (none) -> refs/pull/6593/merge
- [deleted] (none) -> refs/pull/6994/merge
- [deleted] (none) -> refs/pull/7077/merge
- [deleted] (none) -> refs/pull/7259/merge
- [deleted] (none) -> refs/pull/7349/merge
- [deleted] (none) -> refs/pull/7353/merge
- [deleted] (none) -> refs/pull/7357/merge
- [deleted] (none) -> refs/pull/7407/merge
- [deleted] (none) -> refs/pull/7454/merge
- [deleted] (none) -> refs/pull/7468/merge
- [deleted] (none) -> refs/pull/7474/merge
- [deleted] (none) -> refs/pull/7552/merge
- [deleted] (none) -> refs/pull/7556/merge
- [deleted] (none) -> refs/pull/7611/merge
- [deleted] (none) -> refs/pull/7612/merge
- [deleted] (none) -> refs/pull/7626/merge
- [deleted] (none) -> refs/pull/7657/merge
- [deleted] (none) -> refs/pull/7694/merge
- [deleted] (none) -> refs/pull/7708/merge
- [deleted] (none) -> refs/pull/7715/merge
- [deleted] (none) -> refs/pull/7790/merge
- [deleted] (none) -> refs/pull/7821/merge
- [deleted] (none) -> refs/pull/7883/merge
- [deleted] (none) -> refs/pull/7911/merge
- [deleted] (none) -> refs/pull/7918/merge
- [deleted] (none) -> refs/pull/8001/merge
- [deleted] (none) -> refs/pull/8027/merge
- [deleted] (none) -> refs/pull/8045/merge
- [deleted] (none) -> refs/pull/8049/merge
- [deleted] (none) -> refs/pull/8052/merge
- [deleted] (none) -> refs/pull/8060/merge
- [deleted] (none) -> refs/pull/8063/merge
- [deleted] (none) -> refs/pull/8125/merge
- [deleted] (none) -> refs/pull/8147/merge
- [deleted] (none) -> refs/pull/8179/merge
- [deleted] (none) -> refs/pull/8247/merge
- [deleted] (none) -> refs/pull/8252/merge
- [deleted] (none) -> refs/pull/8257/merge
- [deleted] (none) -> refs/pull/8331/merge
- [deleted] (none) -> refs/pull/8333/merge
- [deleted] (none) -> refs/pull/8335/merge
- [deleted] (none) -> refs/pull/8360/merge
- [deleted] (none) -> refs/pull/8361/merge
- [deleted] (none) -> refs/pull/8399/merge
- [deleted] (none) -> refs/pull/8428/merge
- [deleted] (none) -> refs/pull/8470/merge
- [deleted] (none) -> refs/pull/8531/merge
- [deleted] (none) -> refs/pull/8606/merge
- [deleted] (none) -> refs/pull/8619/merge
- [deleted] (none) -> refs/pull/8629/merge
- [deleted] (none) -> refs/pull/8695/merge
- [deleted] (none) -> refs/pull/8743/merge
- [deleted] (none) -> refs/pull/8762/merge
- [deleted] (none) -> refs/pull/8850/merge
- [deleted] (none) -> refs/pull/9000/merge
- [deleted] (none) -> refs/pull/9003/merge
- [deleted] (none) -> refs/pull/9005/merge
- [deleted] (none) -> refs/pull/9006/merge
- [deleted] (none) -> refs/pull/9027/merge
- [deleted] (none) -> refs/pull/9028/merge
- [deleted] (none) -> refs/pull/9069/merge
- [deleted] (none) -> refs/pull/9104/merge
- [deleted] (none) -> refs/pull/9172/merge
- [deleted] (none) -> refs/pull/9191/merge
- [deleted] (none) -> refs/pull/9224/merge
- [deleted] (none) -> refs/pull/9226/merge
- [deleted] (none) -> refs/pull/9227/merge
- [deleted] (none) -> refs/pull/9229/merge
- [deleted] (none) -> refs/pull/9252/merge
- [deleted] (none) -> refs/pull/9380/merge
- [deleted] (none) -> refs/pull/9381/merge
- [deleted] (none) -> refs/pull/9382/merge
- [deleted] (none) -> refs/pull/9383/merge
- [deleted] (none) -> refs/pull/9384/merge
- [deleted] (none) -> refs/pull/9385/merge
- [deleted] (none) -> refs/pull/9386/merge
- [deleted] (none) -> refs/pull/9387/merge
- [deleted] (none) -> refs/pull/9388/merge
- [deleted] (none) -> refs/pull/9392/merge
- [deleted] (none) -> refs/pull/9404/merge
- [deleted] (none) -> refs/pull/9530/merge
- [deleted] (none) -> refs/pull/9596/merge
- [deleted] (none) -> refs/pull/9723/merge
- [deleted] (none) -> refs/pull/9767/merge
- [deleted] (none) -> refs/pull/9779/merge
- [deleted] (none) -> refs/pull/9941/merge
- [deleted] (none) -> refs/pull/9973/merge
- [deleted] (none) -> refs/pull/9977/merge
remote: Enumerating objects: 37588, done.[K
remote: Counting objects: 0% (1/19059)[K
remote: Counting objects: 1% (191/19059)[K
remote: Counting objects: 2% (382/19059)[K
remote: Counting objects: 3% (572/19059)[K
remote: Counting objects: 4% (763/19059)[K
remote: Counting objects: 5% (953/19059)[K
remote: Counting objects: 6% (1144/19059)[K
remote: Counting objects: 7% (1335/19059)[K
remote: Counting objects: 8% (1525/19059)[K
remote: Counting objects: 9% (1716/19059)[K
remote: Counting objects: 10% (1906/19059)[K
remote: Counting objects: 11% (2097/19059)[K
remote: Counting objects: 12% (2288/19059)[K
remote: Counting objects: 13% (2478/19059)[K
remote: Counting objects: 14% (2669/19059)[K
remote: Counting objects: 15% (2859/19059)[K
remote: Counting objects: 16% (3050/19059)[K
remote: Counting objects: 17% (3241/19059)[K
remote: Counting objects: 18% (3431/19059)[K
remote: Counting objects: 19% (3622/19059)[K
remote: Counting objects: 20% (3812/19059)[K
remote: Counting objects: 21% (4003/19059)[K
remote: Counting objects: 22% (4193/19059)[K
remote: Counting objects: 23% (4384/19059)[K
remote: Counting objects: 24% (4575/19059)[K
remote: Counting objects: 25% (4765/19059)[K
remote: Counting objects: 26% (4956/19059)[K
remote: Counting objects: 27% (5146/19059)[K
remote: Counting objects: 28% (5337/19059)[K
remote: Counting objects: 29% (5528/19059)[K
remote: Counting objects: 30% (5718/19059)[K
remote: Counting objects: 31% (5909/19059)[K
remote: Counting objects: 32% (6099/19059)[K
remote: Counting objects: 33% (6290/19059)[K
remote: Counting objects: 34% (6481/19059)[K
remote: Counting objects: 35% (6671/19059)[K
remote: Counting objects: 36% (6862/19059)[K
remote: Counting objects: 37% (7052/19059)[K
remote: Counting objects: 38% (7243/19059)[K
remote: Counting objects: 39% (7434/19059)[K
remote: Counting objects: 40% (7624/19059)[K
remote: Counting objects: 41% (7815/19059)[K
remote: Counting objects: 42% (8005/19059)[K
remote: Counting objects: 43% (8196/19059)[K
remote: Counting objects: 44% (8386/19059)[K
remote: Counting objects: 45% (8577/19059)[K
remote: Counting objects: 46% (8768/19059)[K
remote: Counting objects: 47% (8958/19059)[K
remote: Counting objects: 48% (9149/19059)[K
remote: Counting objects: 49% (9339/19059)[K
remote: Counting objects: 50% (9530/19059)[K
remote: Counting objects: 51% (9721/19059)[K
remote: Counting objects: 52% (9911/19059)[K
remote: Counting objects: 53% (10102/19059)[K
remote: Counting objects: 54% (10292/19059)[K
remote: Counting objects: 55% (10483/19059)[K
remote: Counting objects: 56% (10674/19059)[K
remote: Counting objects: 57% (10864/19059)[K
remote: Counting objects: 58% (11055/19059)[K
remote: Counting objects: 59% (11245/19059)[K
remote: Counting objects: 60% (11436/19059)[K
remote: Counting objects: 61% (11626/19059)[K
remote: Counting objects: 62% (11817/19059)[K
remote: Counting objects: 63% (12008/19059)[K
remote: Counting objects: 64% (12198/19059)[K
remote: Counting objects: 65% (12389/19059)[K
remote: Counting objects: 66% (12579/19059)[K
remote: Counting objects: 67% (12770/19059)[K
remote: Counting objects: 68% (12961/19059)[K
remote: Counting objects: 69% (13151/19059)[K
remote: Counting objects: 70% (13342/19059)[K
remote: Counting objects: 71% (13532/19059)[K
remote: Counting objects: 72% (13723/19059)[K
remote: Counting objects: 73% (13914/19059)[K
remote: Counting objects: 74% (14104/19059)[K
remote: Counting objects: 75% (14295/19059)[K
remote: Counting objects: 76% (14485/19059)[K
remote: Counting objects: 77% (14676/19059)[K
remote: Counting objects: 78% (14867/19059)[K
remote: Counting objects: 79% (15057/19059)[K
remote: Counting objects: 80% (15248/19059)[K
remote: Counting objects: 81% (15438/19059)[K
remote: Counting objects: 82% (15629/19059)[K
remote: Counting objects: 83% (15819/19059)[K
remote: Counting objects: 84% (16010/19059)[K
remote: Counting objects: 85% (16201/19059)[K
remote: Counting objects: 86% (16391/19059)[K
remote: Counting objects: 87% (16582/19059)[K
remote: Counting objects: 88% (16772/19059)[K
remote: Counting objects: 89% (16963/19059)[K
remote: Counting objects: 90% (17154/19059)[K
remote: Counting objects: 91% (17344/19059)[K
remote: Counting objects: 92% (17535/19059)[K
remote: Counting objects: 93% (17725/19059)[K
remote: Counting objects: 94% (17916/19059)[K
remote: Counting objects: 95% (18107/19059)[K
remote: Counting objects: 96% (18297/19059)[K
remote: Counting objects: 97% (18488/19059)[K
remote: Counting objects: 98% (18678/19059)[K
remote: Counting objects: 99% (18869/19059)[K
remote: Counting objects: 100% (19059/19059)[K
remote: Counting objects: 100% (19059/19059), done.[K
remote: Compressing objects: 0% (1/589)[K
remote: Compressing objects: 1% (6/589)[K
remote: Compressing objects: 2% (12/589)[K
remote: Compressing objects: 3% (18/589)[K
remote: Compressing objects: 4% (24/589)[K
remote: Compressing objects: 5% (30/589)[K
remote: Compressing objects: 6% (36/589)[K
remote: Compressing objects: 7% (42/589)[K
remote: Compressing objects: 8% (48/589)[K
remote: Compressing objects: 9% (54/589)[K
remote: Compressing objects: 10% (59/589)[K
remote: Compressing objects: 11% (65/589)[K
remote: Compressing objects: 12% (71/589)[K
remote: Compressing objects: 13% (77/589)[K
remote: Compressing objects: 14% (83/589)[K
remote: Compressing objects: 15% (89/589)[K
remote: Compressing objects: 16% (95/589)[K
remote: Compressing objects: 17% (101/589)[K
remote: Compressing objects: 18% (107/589)[K
remote: Compressing objects: 19% (112/589)[K
remote: Compressing objects: 20% (118/589)[K
remote: Compressing objects: 21% (124/589)[K
remote: Compressing objects: 22% (130/589)[K
remote: Compressing objects: 23% (136/589)[K
remote: Compressing objects: 24% (142/589)[K
remote: Compressing objects: 25% (148/589)[K
remote: Compressing objects: 26% (154/589)[K
remote: Compressing objects: 27% (160/589)[K
remote: Compressing objects: 28% (165/589)[K
remote: Compressing objects: 29% (171/589)[K
remote: Compressing objects: 30% (177/589)[K
remote: Compressing objects: 31% (183/589)[K
remote: Compressing objects: 32% (189/589)[K
remote: Compressing objects: 33% (195/589)[K
remote: Compressing objects: 34% (201/589)[K
remote: Compressing objects: 35% (207/589)[K
remote: Compressing objects: 36% (213/589)[K
remote: Compressing objects: 37% (218/589)[K
remote: Compressing objects: 38% (224/589)[K
remote: Compressing objects: 39% (230/589)[K
remote: Compressing objects: 40% (236/589)[K
remote: Compressing objects: 41% (242/589)[K
remote: Compressing objects: 42% (248/589)[K
remote: Compressing objects: 43% (254/589)[K
remote: Compressing objects: 44% (260/589)[K
remote: Compressing objects: 45% (266/589)[K
remote: Compressing objects: 46% (271/589)[K
remote: Compressing objects: 47% (277/589)[K
remote: Compressing objects: 48% (283/589)[K
remote: Compressing objects: 49% (289/589)[K
remote: Compressing objects: 50% (295/589)[K
remote: Compressing objects: 51% (301/589)[K
remote: Compressing objects: 52% (307/589)[K
remote: Compressing objects: 53% (313/589)[K
remote: Compressing objects: 54% (319/589)[K
remote: Compressing objects: 55% (324/589)[K
remote: Compressing objects: 56% (330/589)[K
remote: Compressing objects: 57% (336/589)[K
remote: Compressing objects: 58% (342/589)[K
remote: Compressing objects: 59% (348/589)[K
remote: Compressing objects: 60% (354/589)[K
remote: Compressing objects: 61% (360/589)[K
remote: Compressing objects: 62% (366/589)[K
remote: Compressing objects: 63% (372/589)[K
remote: Compressing objects: 64% (377/589)[K
remote: Compressing objects: 65% (383/589)[K
remote: Compressing objects: 66% (389/589)[K
remote: Compressing objects: 67% (395/589)[K
remote: Compressing objects: 68% (401/589)[K
remote: Compressing objects: 69% (407/589)[K
remote: Compressing objects: 70% (413/589)[K
remote: Compressing objects: 71% (419/589)[K
remote: Compressing objects: 72% (425/589)[K
remote: Compressing objects: 73% (430/589)[K
remote: Compressing objects: 74% (436/589)[K
remote: Compressing objects: 75% (442/589)[K
remote: Compressing objects: 76% (448/589)[K
remote: Compressing objects: 77% (454/589)[K
remote: Compressing objects: 78% (460/589)[K
remote: Compressing objects: 79% (466/589)[K
remote: Compressing objects: 80% (472/589)[K
remote: Compressing objects: 81% (478/589)[K
remote: Compressing objects: 82% (483/589)[K
remote: Compressing objects: 83% (489/589)[K
remote: Compressing objects: 84% (495/589)[K
remote: Compressing objects: 85% (501/589)[K
remote: Compressing objects: 86% (507/589)[K
remote: Compressing objects: 87% (513/589)[K
remote: Compressing objects: 88% (519/589)[K
remote: Compressing objects: 89% (525/589)[K
remote: Compressing objects: 90% (531/589)[K
remote: Compressing objects: 91% (536/589)[K
remote: Compressing objects: 92% (542/589)[K
remote: Compressing objects: 93% (548/589)[K
remote: Compressing objects: 94% (554/589)[K
remote: Compressing objects: 95% (560/589)[K
remote: Compressing objects: 96% (566/589)[K
remote: Compressing objects: 97% (572/589)[K
remote: Compressing objects: 98% (578/589)[K
remote: Compressing objects: 99% (584/589)[K
remote: Compressing objects: 100% (589/589)[K
remote: Compressing objects: 100% (589/589), done.[K
Receiving objects: 0% (1/37588)
Receiving objects: 1% (376/37588)
Receiving objects: 2% (752/37588), 356.00 KiB | 691.00 KiB/s
Receiving objects: 2% (1070/37588), 884.00 KiB | 827.00 KiB/s
Receiving objects: 3% (1128/37588), 884.00 KiB | 827.00 KiB/s
Receiving objects: 4% (1504/37588), 884.00 KiB | 827.00 KiB/s
Receiving objects: 5% (1880/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 6% (2256/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 7% (2632/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 8% (3008/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 9% (3383/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 10% (3759/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 11% (4135/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 12% (4511/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 13% (4887/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 14% (5263/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 14% (5322/37588), 1.40 MiB | 893.00 KiB/s
Receiving objects: 15% (5639/37588), 2.18 MiB | 1.02 MiB/s
Receiving objects: 16% (6015/37588), 2.18 MiB | 1.02 MiB/s
Receiving objects: 17% (6390/37588), 2.18 MiB | 1.02 MiB/s
Receiving objects: 18% (6766/37588), 2.18 MiB | 1.02 MiB/s
Receiving objects: 19% (7142/37588), 2.18 MiB | 1.02 MiB/s
Receiving objects: 20% (7518/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 21% (7894/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 22% (8270/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 23% (8646/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 24% (9022/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 25% (9397/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 26% (9773/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 27% (10149/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 28% (10525/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 29% (10901/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 30% (11277/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 31% (11653/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 32% (12029/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 33% (12405/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 34% (12780/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 34% (12975/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 35% (13156/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 36% (13532/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 37% (13908/37588), 3.04 MiB | 1.15 MiB/s
Receiving objects: 38% (14284/37588), 3.97 MiB | 1.27 MiB/s
Receiving objects: 39% (14660/37588), 3.97 MiB | 1.27 MiB/s
Receiving objects: 40% (15036/37588), 3.97 MiB | 1.27 MiB/s
Receiving objects: 41% (15412/37588), 3.97 MiB | 1.27 MiB/s
Receiving objects: 42% (15787/37588), 3.97 MiB | 1.27 MiB/s
Receiving objects: 43% (16163/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 44% (16539/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 45% (16915/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 46% (17291/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 47% (17667/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 47% (17859/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 48% (18043/37588), 4.94 MiB | 1.35 MiB/s
Receiving objects: 49% (18419/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 50% (18794/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 51% (19170/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 52% (19546/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 53% (19922/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 54% (20298/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 55% (20674/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 56% (21050/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 57% (21426/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 58% (21802/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 59% (22177/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 60% (22553/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 61% (22929/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 62% (23305/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 63% (23681/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 64% (24057/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 65% (24433/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 66% (24809/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 67% (25184/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 68% (25560/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 69% (25936/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 70% (26312/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 71% (26688/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 72% (27064/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 73% (27440/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 74% (27816/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 75% (28191/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 76% (28567/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 77% (28943/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 78% (29319/37588), 6.29 MiB | 1.51 MiB/s
Receiving objects: 79% (29695/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 80% (30071/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 81% (30447/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 82% (30823/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 83% (31199/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 84% (31574/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 85% (31950/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 85% (32106/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 86% (32326/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 87% (32702/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 88% (33078/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 89% (33454/37588), 7.80 MiB | 1.67 MiB/s
Receiving objects: 90% (33830/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 91% (34206/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 92% (34581/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 93% (34957/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 94% (35333/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 95% (35709/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 96% (36085/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 97% (36461/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 98% (36837/37588), 9.24 MiB | 1.90 MiB/s
Receiving objects: 99% (37213/37588), 11.40 MiB | 2.28 MiB/s
remote: Total 37588 (delta 18847), reused 18476 (delta 18469), pack-reused 18529 (from 3)[K
Receiving objects: 100% (37588/37588), 11.40 MiB | 2.28 MiB/s
Receiving objects: 100% (37588/37588), 12.20 MiB | 2.08 MiB/s, done.
Resolving deltas: 0% (0/30293)
Resolving deltas: 1% (303/30293)
Resolving deltas: 2% (606/30293)
Resolving deltas: 3% (910/30293)
Resolving deltas: 4% (1212/30293)
Resolving deltas: 5% (1515/30293)
Resolving deltas: 6% (1818/30293)
Resolving deltas: 7% (2123/30293)
Resolving deltas: 8% (2424/30293)
Resolving deltas: 9% (2730/30293)
Resolving deltas: 10% (3030/30293)
Resolving deltas: 11% (3334/30293)
Resolving deltas: 12% (3636/30293)
Resolving deltas: 13% (3940/30293)
Resolving deltas: 14% (4243/30293)
Resolving deltas: 15% (4546/30293)
Resolving deltas: 16% (4847/30293)
Resolving deltas: 17% (5150/30293)
Resolving deltas: 18% (5453/30293)
Resolving deltas: 19% (5757/30293)
Resolving deltas: 20% (6061/30293)
Resolving deltas: 21% (6362/30293)
Resolving deltas: 22% (6668/30293)
Resolving deltas: 23% (6969/30293)
Resolving deltas: 24% (7271/30293)
Resolving deltas: 25% (7574/30293)
Resolving deltas: 26% (7877/30293)
Resolving deltas: 27% (8180/30293)
Resolving deltas: 28% (8483/30293)
Resolving deltas: 29% (8785/30293)
Resolving deltas: 30% (9088/30293)
Resolving deltas: 31% (9395/30293)
Resolving deltas: 32% (9694/30293)
Resolving deltas: 33% (9997/30293)
Resolving deltas: 34% (10301/30293)
Resolving deltas: 35% (10603/30293)
Resolving deltas: 36% (10906/30293)
Resolving deltas: 37% (11209/30293)
Resolving deltas: 38% (11512/30293)
Resolving deltas: 39% (11815/30293)
Resolving deltas: 40% (12118/30293)
Resolving deltas: 41% (12421/30293)
Resolving deltas: 42% (12724/30293)
Resolving deltas: 43% (13026/30293)
Resolving deltas: 44% (13329/30293)
Resolving deltas: 45% (13632/30293)
Resolving deltas: 46% (13935/30293)
Resolving deltas: 47% (14238/30293)
Resolving deltas: 48% (14541/30293)
Resolving deltas: 49% (14844/30293)
Resolving deltas: 50% (15147/30293)
Resolving deltas: 51% (15450/30293)
Resolving deltas: 52% (15753/30293)
Resolving deltas: 53% (16056/30293)
Resolving deltas: 54% (16359/30293)
Resolving deltas: 55% (16662/30293)
Resolving deltas: 56% (16965/30293)
Resolving deltas: 57% (17268/30293)
Resolving deltas: 58% (17570/30293)
Resolving deltas: 59% (17873/30293)
Resolving deltas: 60% (18176/30293)
Resolving deltas: 61% (18479/30293)
Resolving deltas: 62% (18782/30293)
Resolving deltas: 63% (19085/30293)
Resolving deltas: 64% (19388/30293)
Resolving deltas: 65% (19691/30293)
Resolving deltas: 66% (19994/30293)
Resolving deltas: 67% (20297/30293)
Resolving deltas: 68% (20600/30293)
Resolving deltas: 69% (20903/30293)
Resolving deltas: 70% (21206/30293)
Resolving deltas: 71% (21509/30293)
Resolving deltas: 72% (21811/30293)
Resolving deltas: 73% (22114/30293)
Resolving deltas: 74% (22417/30293)
Resolving deltas: 75% (22720/30293)
Resolving deltas: 76% (23023/30293)
Resolving deltas: 77% (23326/30293)
Resolving deltas: 78% (23629/30293)
Resolving deltas: 78% (23665/30293)
Resolving deltas: 79% (23932/30293)
Resolving deltas: 80% (24235/30293)
Resolving deltas: 80% (24259/30293)
Resolving deltas: 81% (24538/30293)
Resolving deltas: 82% (24841/30293)
Resolving deltas: 83% (25144/30293)
Resolving deltas: 84% (25447/30293)
Resolving deltas: 85% (25750/30293)
Resolving deltas: 86% (26052/30293)
Resolving deltas: 87% (26355/30293)
Resolving deltas: 88% (26658/30293)
Resolving deltas: 88% (26710/30293)
Resolving deltas: 89% (26961/30293)
Resolving deltas: 90% (27264/30293)
Resolving deltas: 91% (27567/30293)
Resolving deltas: 92% (27870/30293)
Resolving deltas: 93% (28173/30293)
Resolving deltas: 94% (28476/30293)
Resolving deltas: 94% (28556/30293)
Resolving deltas: 95% (28779/30293)
Resolving deltas: 96% (29082/30293)
Resolving deltas: 97% (29385/30293)
Resolving deltas: 97% (29565/30293)
Resolving deltas: 98% (29688/30293)
Resolving deltas: 99% (29991/30293)
Resolving deltas: 100% (30293/30293)
Resolving deltas: 100% (30293/30293), completed with 1739 local objects.
* [new branch] 400-errors -> 400-errors
* [new branch] AskUserQuestionTool -> AskUserQuestionTool
* [new branch] abhi/agents/policy-fix.1 -> abhi/agents/policy-fix.1
* [new branch] abhi/event-driven-tools.0 -> abhi/event-driven-tools.0
* [new branch] abhi/event-driven-tools.a2a -> abhi/event-driven-tools.a2a
* [new branch] abhi/event-tools-cleanup.1 -> abhi/event-tools-cleanup.1
* [new branch] abhi/fxn-pruning.1 -> abhi/fxn-pruning.1
* [new branch] abhi/hooks/remove-legacy-setting -> abhi/hooks/remove-legacy-setting
* [new branch] abhi/transient-mode-hint -> abhi/transient-mode-hint
* [new branch] abhi/yolo-investigation -> abhi/yolo-investigation
* [new branch] abhijit-2592/auto-darkmode -> abhijit-2592/auto-darkmode
* [new branch] adh/fix/policy-service -> adh/fix/policy-service
* [new branch] adibakm/disable-esc-esc-rewind -> adibakm/disable-esc-esc-rewind
* [new branch] adibakm/disable-esc-twice -> adibakm/disable-esc-twice
* [new branch] adibakm/execute-visualize-plan -> adibakm/execute-visualize-plan
* [new branch] adibakm/handle-inconsistency-scheduler -> adibakm/handle-inconsistency-scheduler
* [new branch] adibakm/handle-inconsistency-schedulers -> adibakm/handle-inconsistency-schedulers
* [new branch] adibakm/implement-plan-slash-command -> adibakm/implement-plan-slash-command
* [new branch] adibakm/plan-mode-untrusted-folder -> adibakm/plan-mode-untrusted-folder
1a668926c5..9d1a887236 adibakm/prototype-gca-event -> adibakm/prototype-gca-event
* [new branch] adibakm/restore-esc-esc -> adibakm/restore-esc-esc
* [new branch] adibakm/rewind-telemetry -> adibakm/rewind-telemetry
* [new branch] admin-command-settings -> admin-command-settings
* [new branch] admin-settings-command -> admin-settings-command
* [new branch] admin-update-errs -> admin-update-errs
* [new branch] afweidman/a2a-auth-pr1-infrastructure -> afweidman/a2a-auth-pr1-infrastructure
* [new branch] afweidman/a2a-auth-pr2-apikey-http -> afweidman/a2a-auth-pr2-apikey-http
* [new branch] cascade_issue -> cascade_issue
* [new branch] cb/authenticateextensions -> cb/authenticateextensions
* [new branch] cb/circulardepv24 -> cb/circulardepv24
* [new branch] cb/configcommand -> cb/configcommand
* [new branch] cb/conflictnotif -> cb/conflictnotif
* [new branch] cb/fixinstructions -> cb/fixinstructions
* [new branch] cb/fixsecuritybug -> cb/fixsecuritybug
* [new branch] cb/userscope -> cb/userscope
* [new branch] chore/migrate-maintainer-label -> chore/migrate-maintainer-label
* [new branch] defer -> defer
* [new branch] dependabot/github_actions/actions-dependencies-f820dacf99 -> dependabot/github_actions/actions-dependencies-f820dacf99
* [new branch] dependabot/github_actions/actions/checkout-6 -> dependabot/github_actions/actions/checkout-6
* [new branch] dependabot/github_actions/actions/download-artifact-7.0.0 -> dependabot/github_actions/actions/download-artifact-7.0.0
* [new branch] dependabot/github_actions/actions/github-script-8 -> dependabot/github_actions/actions/github-script-8
* [new branch] dependabot/github_actions/actions/stale-10.1.1 -> dependabot/github_actions/actions/stale-10.1.1
* [new branch] dependabot/github_actions/actions/upload-artifact-6.0.0 -> dependabot/github_actions/actions/upload-artifact-6.0.0
* [new branch] dependabot/github_actions/actions/upload-pages-artifact-4.0.0 -> dependabot/github_actions/actions/upload-pages-artifact-4.0.0
* [new branch] dependabot/github_actions/github/codeql-action-4.31.10 -> dependabot/github_actions/github/codeql-action-4.31.10
* [new branch] dependabot/github_actions/google-github-actions/auth-3.0.0 -> dependabot/github_actions/google-github-actions/auth-3.0.0
* [new branch] dependabot/github_actions/myrotvorets/set-commit-status-action-0e709a89566c3de108b6674b65fb22aca2133247 -> dependabot/github_actions/myrotvorets/set-commit-status-action-0e709a89566c3de108b6674b65fb22aca2133247
* [new branch] dependabot/npm_and_yarn/globals-17.0.0 -> dependabot/npm_and_yarn/globals-17.0.0
* [new branch] dependabot/npm_and_yarn/google-auth-library-10.5.0 -> dependabot/npm_and_yarn/google-auth-library-10.5.0
* [new branch] dependabot/npm_and_yarn/marked-17.0.1 -> dependabot/npm_and_yarn/marked-17.0.1
+ add991abf6...4553388c4d dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.25.2 -> dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.25.2 (forced update)
* [new branch] dependabot/npm_and_yarn/multi-1fa48253bb -> dependabot/npm_and_yarn/multi-1fa48253bb
* [new branch] dependabot/npm_and_yarn/npm-dependencies-c294c98b10 -> dependabot/npm_and_yarn/npm-dependencies-c294c98b10
* [new branch] dependabot/npm_and_yarn/open-11.0.0 -> dependabot/npm_and_yarn/open-11.0.0
* [new branch] dependabot/npm_and_yarn/strip-json-comments-5.0.3 -> dependabot/npm_and_yarn/strip-json-comments-5.0.3
* [new branch] dependabot/npm_and_yarn/types/archiver-7.0.0 -> dependabot/npm_and_yarn/types/archiver-7.0.0
* [new branch] dependabot/npm_and_yarn/types/minimatch-6.0.0 -> dependabot/npm_and_yarn/types/minimatch-6.0.0
* [new branch] dependabot/npm_and_yarn/undici-7.18.2 -> dependabot/npm_and_yarn/undici-7.18.2
* [new branch] dependabot/npm_and_yarn/xterm/headless-6.0.0 -> dependabot/npm_and_yarn/xterm/headless-6.0.0
* [new branch] docs-better-overview -> docs-better-overview
* [new branch] docs-troubleshooting-link -> docs-troubleshooting-link
* [new branch] docs-update-model-refs -> docs-update-model-refs
* [new branch] docs/agent-skills-version-note -> docs/agent-skills-version-note
* [new branch] dyim/add-api-version-env-var -> dyim/add-api-version-env-var
* [new branch] enable-session-retention -> enable-session-retention
* [new branch] feat-agent-fre -> feat-agent-fre
* [new branch] feat/approval-mode-evals -> feat/approval-mode-evals
* [new branch] feat/askuser-context-field -> feat/askuser-context-field
* [new branch] feat/exit-plan-mode -> feat/exit-plan-mode
* [new branch] feat/exit-plan-mode-clean -> feat/exit-plan-mode-clean
* [new branch] feat/exit-plan-mode-tool -> feat/exit-plan-mode-tool
* [new branch] feat/npx-smoke-test -> feat/npx-smoke-test
* [new branch] feat/npx-smoke-test-final -> feat/npx-smoke-test-final
* [new branch] feat/threshold-25 -> feat/threshold-25
* [new branch] feat/threshold-50 -> feat/threshold-50
* [new branch] feat/threshold-75 -> feat/threshold-75
* [new branch] feat/threshold-90 -> feat/threshold-90
* [new branch] feature/flicker-reduction-rework -> feature/flicker-reduction-rework
* [new branch] feature/quota-visibility-16795 -> feature/quota-visibility-16795
* [new branch] feature/ux-dev/shell-output-truncation-from-main -> feature/ux-dev/shell-output-truncation-from-main
* [new branch] fix-non-int -> fix-non-int
* [new branch] fix/auto-mode-cancellation-fallback -> fix/auto-mode-cancellation-fallback
* [new branch] fix/backfill-notification-link -> fix/backfill-notification-link
* [new branch] fix/issue-17385 -> fix/issue-17385
* [new branch] fix/label-workstream-rollup-v3 -> fix/label-workstream-rollup-v3
* [new branch] fix/mcp-tool-registration -> fix/mcp-tool-registration
* [new branch] fix/package-lock-inconsistency -> fix/package-lock-inconsistency
* [new branch] fix/pr-notifier-maintainer-check -> fix/pr-notifier-maintainer-check
* [new branch] fix/pr-notifier-permissions -> fix/pr-notifier-permissions
* [new branch] fix/pr-triage-schedule -> fix/pr-triage-schedule
* [new branch] fix/settings-dialog-spacing -> fix/settings-dialog-spacing
* [new branch] fix/subagent-eval-prompt -> fix/subagent-eval-prompt
7aff589572..ccbce91e8e galzahavi/add/background-commands -> galzahavi/add/background-commands
* [new branch] galzahavi/fix/enforce-enterprise-settings -> galzahavi/fix/enforce-enterprise-settings
* [new branch] galzahavi/fix/folder-trust-access -> galzahavi/fix/folder-trust-access
* [new branch] galzahavi/fix/shell-outside-workpase-execution -> galzahavi/fix/shell-outside-workpase-execution
* [new branch] galzahavi/fix/trustfolder-untrusted-auth -> galzahavi/fix/trustfolder-untrusted-auth
* [new branch] gemini/experimental/subagent-delegation-fix -> gemini/experimental/subagent-delegation-fix
* [new branch] gundermanc/ask -> gundermanc/ask
* [new branch] gundermanc/fix-hooks -> gundermanc/fix-hooks
* [new branch] gundermanc/fix-stop -> gundermanc/fix-stop
* [new branch] gundermanc/frugal-reads -> gundermanc/frugal-reads
* [new branch] gundermanc/generalist-behaviors -> gundermanc/generalist-behaviors
* [new branch] gundermanc/logs -> gundermanc/logs
* [new branch] gundermanc/port-tests -> gundermanc/port-tests
* [new branch] gundermanc/prompt-refinement -> gundermanc/prompt-refinement
* [new branch] gundermanc/reduce-timeout -> gundermanc/reduce-timeout
* [new branch] gundermanc/refresh -> gundermanc/refresh
* [new branch] gundermanc/search-limits -> gundermanc/search-limits
* [new branch] gundermanc/single-test -> gundermanc/single-test
* [new branch] gundermanc/slash-agents -> gundermanc/slash-agents
* [new branch] gundermanc/stable -> gundermanc/stable
* [new branch] gundermanc/subagent-ux -> gundermanc/subagent-ux
+ 50a8089eac...995ab8d67a gundermanc/support-decision-ask -> gundermanc/support-decision-ask (forced update)
* [new branch] gundermanc/use-tools -> gundermanc/use-tools
+ 5fa95d5049...7af7bf926d history_navigation_demo -> history_navigation_demo (forced update)
* [new branch] ide-process-rm -> ide-process-rm
* [new branch] jl/early-validate -> jl/early-validate
* [new branch] jl/short-temp -> jl/short-temp
* [new branch] jl/workaround-missing-responses -> jl/workaround-missing-responses
* [new branch] land_cursor -> land_cursor
41e627a7ee..32cfce16bb main -> main
* [new branch] mk-debug-log-test-fix -> mk-debug-log-test-fix
* [new branch] ntm/allow-session-fix -> ntm/allow-session-fix
* [new branch] ntm/colorizedwords -> ntm/colorizedwords
* [new branch] ntm/extensibility-expert -> ntm/extensibility-expert
* [new branch] ntm/fix-windows-tests -> ntm/fix-windows-tests
* [new branch] ntm/gh.16213 -> ntm/gh.16213
* [new branch] ntm/gh.16213.2 -> ntm/gh.16213.2
* [new branch] ntm/gh.16213.3 -> ntm/gh.16213.3
* [new branch] ntm/gh.16290.more -> ntm/gh.16290.more
* [new branch] ntm/gh.16400 -> ntm/gh.16400
* [new branch] ntm/gh.sysprompt.1 -> ntm/gh.sysprompt.1
* [new branch] ntm/mcp-tool-search -> ntm/mcp-tool-search
* [new branch] ntm/optimize.build -> ntm/optimize.build
* [new branch] ntm/rename-search-tool -> ntm/rename-search-tool
* [new branch] ntm/skill-creator -> ntm/skill-creator
* [new branch] ntm/sys.prompt.2 -> ntm/sys.prompt.2
* [new branch] ntm/sys.prompt.overhaul -> ntm/sys.prompt.overhaul
* [new branch] package-lock-update -> package-lock-update
* [new branch] promote-skills-v0.26.0-preview.4 -> promote-skills-v0.26.0-preview.4
* [new branch] refactor/ask-user-dialog-consolidated -> refactor/ask-user-dialog-consolidated
* [new branch] refactor/askuser-tool-confirmation -> refactor/askuser-tool-confirmation
* [new branch] release/v0.23.0-pr-16252 -> release/v0.23.0-pr-16252
* [new branch] release/v0.24.0-nightly.20260115.c9d6f9b22 -> release/v0.24.0-nightly.20260115.c9d6f9b22
* [new branch] release/v0.24.0-pr-16006 -> release/v0.24.0-pr-16006
* [new branch] release/v0.24.0-preview.1-pr-16252 -> release/v0.24.0-preview.1-pr-16252
* [new branch] release/v0.24.1 -> release/v0.24.1
* [new branch] release/v0.24.2 -> release/v0.24.2
* [new branch] release/v0.24.3 -> release/v0.24.3
* [new branch] release/v0.25.0-nightly.20260109.041463d11 -> release/v0.25.0-nightly.20260109.041463d11
* [new branch] release/v0.25.0-nightly.20260109.c87d1aed4 -> release/v0.25.0-nightly.20260109.c87d1aed4
* [new branch] release/v0.25.0-nightly.20260109.ca4866142 -> release/v0.25.0-nightly.20260109.ca4866142
* [new branch] release/v0.25.0-nightly.20260110.6f7d79818 -> release/v0.25.0-nightly.20260110.6f7d79818
* [new branch] release/v0.25.0-nightly.20260110.b08b0d715 -> release/v0.25.0-nightly.20260110.b08b0d715
* [new branch] release/v0.25.0-nightly.20260110.b54e688c7 -> release/v0.25.0-nightly.20260110.b54e688c7
* [new branch] release/v0.25.0-nightly.20260112.15891721a -> release/v0.25.0-nightly.20260112.15891721a
* [new branch] release/v0.25.0-pr-17308 -> release/v0.25.0-pr-17308
* [new branch] release/v0.25.0-preview.4-pr-17131 -> release/v0.25.0-preview.4-pr-17131
* [new branch] release/v0.25.1-pr-17166 -> release/v0.25.1-pr-17166
* [new branch] release/v0.26.0-nightly.20260115.0663076af -> release/v0.26.0-nightly.20260115.0663076af
* [new branch] release/v0.26.0-nightly.20260115.549c732d7 -> release/v0.26.0-nightly.20260115.549c732d7
* [new branch] release/v0.26.0-nightly.20260115.e58fca68c -> release/v0.26.0-nightly.20260115.e58fca68c
* [new branch] release/v0.26.0-nightly.20260119.20580d754 -> release/v0.26.0-nightly.20260119.20580d754
* [new branch] release/v0.26.0-nightly.20260120.a90bcf749 -> release/v0.26.0-nightly.20260120.a90bcf749
* [new branch] release/v0.26.0-nightly.20260121.211d2c5fd -> release/v0.26.0-nightly.20260121.211d2c5fd
* [new branch] release/v0.26.0-preview.1-pr-17308 -> release/v0.26.0-preview.1-pr-17308
* [new branch] release/v0.26.0-preview.2-pr-17331 -> release/v0.26.0-preview.2-pr-17331
* [new branch] release/v0.26.0-preview.3-pr-17166 -> release/v0.26.0-preview.3-pr-17166
* [new branch] release/v0.26.0-preview.3-pr-17395 -> release/v0.26.0-preview.3-pr-17395
* [new branch] release/v0.27.0-nightly.20260122.61040d0eb -> release/v0.27.0-nightly.20260122.61040d0eb
* [new branch] release/v0.27.0-nightly.20260126.cb772a5b7 -> release/v0.27.0-nightly.20260126.cb772a5b7
* [new branch] release/v0.27.0-nightly.20260127.00f60ef53 -> release/v0.27.0-nightly.20260127.00f60ef53
* [new branch] release/v0.27.0-nightly.20260128.830e21275 -> release/v0.27.0-nightly.20260128.830e21275
* [new branch] release/v0.27.0-preview.1-pr-17810 -> release/v0.27.0-preview.1-pr-17810
* [new branch] release/v0.27.0-preview.2-pr-17826 -> release/v0.27.0-preview.2-pr-17826
* [new branch] release/v0.28.0-nightly.20260129.9bb175a50 -> release/v0.28.0-nightly.20260129.9bb175a50
* [new branch] release/v0.28.0-nightly.20260130.d43d772e6 -> release/v0.28.0-nightly.20260130.d43d772e6
* [new branch] resume_history_display_bloat -> resume_history_display_bloat
* [new branch] router-auto-fix -> router-auto-fix
* [new branch] sehoon/a2a-subagents -> sehoon/a2a-subagents
* [new branch] sehoon/gcli_chrome_extension -> sehoon/gcli_chrome_extension
* [new branch] sehoon/oncall-filter -> sehoon/oncall-filter
* [new branch] sehoon/resolve_cir_dependency -> sehoon/resolve_cir_dependency
* [new branch] sehoon/retries -> sehoon/retries
* [new branch] session-retention -> session-retention
* [new branch] small_logo -> small_logo
* [new branch] st/smarter-truncation -> st/smarter-truncation
* [new branch] streaming-adv -> streaming-adv
* [new branch] update-docs-writer-skill -> update-docs-writer-skill
* [new branch] visual_borders -> visual_borders
* [new branch] writer-extension -> writer-extension
d5c3923875..4b50b52658 refs/pull/10220/head -> refs/pull/10220/head
+ ad6fb60b66...a84d43ce70 refs/pull/11314/head -> refs/pull/11314/head (forced update)
+ 743126c452...521f4537ba refs/pull/11410/merge -> refs/pull/11410/merge (forced update)
+ 696918d557...c6e47cdf60 refs/pull/11420/head -> refs/pull/11420/head (forced update)
+ cd14d7e73d...e7a633de07 refs/pull/11421/head -> refs/pull/11421/head (forced update)
+ 48b8c7258d...a86cfe4384 refs/pull/11422/head -> refs/pull/11422/head (forced update)
+ c4f1e98595...af9c436b57 refs/pull/11423/head -> refs/pull/11423/head (forced update)
+ 947c1cbb8c...34a498ae7a refs/pull/11424/head -> refs/pull/11424/head (forced update)
+ c0795a6125...1230dbdcf8 refs/pull/12038/head -> refs/pull/12038/head (forced update)
377d0cf4ac..f6cb10ab25 refs/pull/12062/head -> refs/pull/12062/head
d439fd9ed1..8af1232de1 refs/pull/12280/head -> refs/pull/12280/head
+ db22907598...4b47c1ebe1 refs/pull/12766/head -> refs/pull/12766/head (forced update)
+ c01679fcbd...d07b5038c4 refs/pull/12766/merge -> refs/pull/12766/merge (forced update)
bc0dbe2765..13da5f46bc refs/pull/12801/head -> refs/pull/12801/head
+ 65ac666c61...2fd2961afe refs/pull/12873/merge -> refs/pull/12873/merge (forced update)
faa8aa8c18..a332201f08 refs/pull/12899/head -> refs/pull/12899/head
e8f0f245b8..878655d24e refs/pull/12941/head -> refs/pull/12941/head
+ 92fbd09bf7...b8f6608d73 refs/pull/13407/head -> refs/pull/13407/head (forced update)
b688b95ee7..5396d3dbc2 refs/pull/13507/head -> refs/pull/13507/head
+ 0df5c31fb0...e4c417fbf0 refs/pull/13539/head -> refs/pull/13539/head (forced update)
5ba4bc3dc2..9c00b7e3a9 refs/pull/13686/head -> refs/pull/13686/head
5c4e84200a..4626d105d0 refs/pull/13692/head -> refs/pull/13692/head
+ ed10bcfecd...721b505c48 refs/pull/13797/head -> refs/pull/13797/head (forced update)
+ af374cecf6...a90191b0ef refs/pull/13981/head -> refs/pull/13981/head (forced update)
+ ece76b7381...326463211d refs/pull/14142/head -> refs/pull/14142/head (forced update)
+ 3438b97210...643f5e97b5 refs/pull/14145/merge -> refs/pull/14145/merge (forced update)
+ 5f77645d07...b2a7f5958c refs/pull/14175/head -> refs/pull/14175/head (forced update)
+ ff8eb30b9f...a2b57468c0 refs/pull/14190/head -> refs/pull/14190/head (forced update)
5769ff49c0..b0fabefb58 refs/pull/14267/head -> refs/pull/14267/head
+ 58d8c78ac2...65711c8759 refs/pull/14332/head -> refs/pull/14332/head (forced update)
+ 06a0870fca...296279593b refs/pull/14408/head -> refs/pull/14408/head (forced update)
b91ffede98..60d7a0638c refs/pull/14450/head -> refs/pull/14450/head
fe16834f79..eb4c1e5ce8 refs/pull/14456/head -> refs/pull/14456/head
+ 57f1049850...4c0581ad9a refs/pull/14466/head -> refs/pull/14466/head (forced update)
c6871e9786..372b6657d3 refs/pull/14479/head -> refs/pull/14479/head
9a0c29d6ba..1fa48bd90a refs/pull/14480/head -> refs/pull/14480/head
+ fc359e50e7...4b7ecaaa02 refs/pull/14496/head -> refs/pull/14496/head (forced update)
+ b95f53601e...17c8d4f1cf refs/pull/14511/head -> refs/pull/14511/head (forced update)
+ 4d81456472...004c1b3eb1 refs/pull/14517/merge -> refs/pull/14517/merge (forced update)
+ 6efa72e150...27d21f9921 refs/pull/14610/head -> refs/pull/14610/head (forced update)
3a2e784d6d..9c9a6d7406 refs/pull/14611/head -> refs/pull/14611/head
ef2aeb8ff6..571db2b41f refs/pull/14616/head -> refs/pull/14616/head
+ 11e71a7359...461c277bf2 refs/pull/14640/head -> refs/pull/14640/head (forced update)
+ c0f111dc47...5b929fdb01 refs/pull/14650/head -> refs/pull/14650/head (forced update)
2ef811f2c2..0630697cea refs/pull/14681/head -> refs/pull/14681/head
b1e6de52b7..32a0c5f281 refs/pull/14685/head -> refs/pull/14685/head
24430fbc10..78af7b3e12 refs/pull/14727/head -> refs/pull/14727/head
+ db19fe9cc8...a28a2f5dea refs/pull/14809/head -> refs/pull/14809/head (forced update)
7aff589572..ccbce91e8e refs/pull/14849/head -> refs/pull/14849/head
+ 987c56eb5d...62094cd402 refs/pull/14849/merge -> refs/pull/14849/merge (forced update)
1a668926c5..9d1a887236 refs/pull/14852/head -> refs/pull/14852/head
+ 80a84c09b6...83a634444a refs/pull/14854/head -> refs/pull/14854/head (forced update)
+ a0bd1c6523...746b9b1b06 refs/pull/14854/merge -> refs/pull/14854/merge (forced update)
d85213d808..e534e12c2b refs/pull/14863/head -> refs/pull/14863/head
+ 7b4cbe41dc...c0c4181500 refs/pull/14915/head -> refs/pull/14915/head (forced update)
f1fe2e9895..301b7d6ae5 refs/pull/14923/head -> refs/pull/14923/head
+ 588e69c44d...88301eb515 refs/pull/14923/merge -> refs/pull/14923/merge (forced update)
66f89fb87c..8e0f02f9ff refs/pull/14927/head -> refs/pull/14927/head
+ 79dd2da776...ba03b9cf64 refs/pull/14927/merge -> refs/pull/14927/merge (forced update)
+ 01710805d7...f3cf2187cc refs/pull/14931/merge -> refs/pull/14931/merge (forced update)
7e5c28a2a8..97f60b8e71 refs/pull/14936/head -> refs/pull/14936/head
+ ec8c174bb1...abe0045310 refs/pull/14950/merge -> refs/pull/14950/merge (forced update)
f6d38341dd..a8acfe903f refs/pull/14953/head -> refs/pull/14953/head
+ d00a27ca4b...f75503faf4 refs/pull/14955/merge -> refs/pull/14955/merge (forced update)
+ d94680fdf5...1c3293c4a7 refs/pull/14994/head -> refs/pull/14994/head (forced update)
ad3101c39d..235cc74721 refs/pull/14997/head -> refs/pull/14997/head
6e2ab2d00c..36fba41af4 refs/pull/15034/head -> refs/pull/15034/head
c5170c4f83..462865df47 refs/pull/15047/head -> refs/pull/15047/head
e0fef8f3bc..70b66191b0 refs/pull/15049/head -> refs/pull/15049/head
574540101b..86bad9ac08 refs/pull/15056/head -> refs/pull/15056/head
+ 18b5340783...0affb47cb5 refs/pull/15060/head -> refs/pull/15060/head (forced update)
+ faee4e8c7f...dc28773d50 refs/pull/15060/merge -> refs/pull/15060/merge (forced update)
e5d4b04343..8eca42c0b4 refs/pull/15142/head -> refs/pull/15142/head
75e7bfadd1..a899a5d9d0 refs/pull/15175/head -> refs/pull/15175/head
+ 72914b54b6...9da801d3e9 refs/pull/15229/head -> refs/pull/15229/head (forced update)
8d8b03160f..d4c707225b refs/pull/15254/head -> refs/pull/15254/head
a71f709fce..305e4b9b92 refs/pull/15312/head -> refs/pull/15312/head
+ d22039ba23...80ff79cd3b refs/pull/15373/head -> refs/pull/15373/head (forced update)
c7ae5ecc28..2762be919b refs/pull/15395/head -> refs/pull/15395/head
+ 9d9a641fea...90b3b40afe refs/pull/15395/merge -> refs/pull/15395/merge (forced update)
de33b00f31..43bdbacabd refs/pull/15482/head -> refs/pull/15482/head
+ 5f67b568fc...b25da40deb refs/pull/15482/merge -> refs/pull/15482/merge (forced update)
40f1b226c0..71fe4d6cd1 refs/pull/15491/head -> refs/pull/15491/head
+ 3b679913d3...0884102c39 refs/pull/15504/merge -> refs/pull/15504/merge (forced update)
8edfc6dda7..4673d59544 refs/pull/15509/head -> refs/pull/15509/head
+ df4bd64b2e...a2e3c3da05 refs/pull/15548/head -> refs/pull/15548/head (forced update)
+ ff06dade49...2cb4f74150 refs/pull/15550/merge -> refs/pull/15550/merge (forced update)
+ 224daf80cb...81753778d8 refs/pull/15561/head -> refs/pull/15561/head (forced update)
+ b5ec60ac56...6553fec0a6 refs/pull/15561/merge -> refs/pull/15561/merge (forced update)
390fde9ec2..6b5348bb8e refs/pull/15565/head -> refs/pull/15565/head
+ 40f9f02284...3de82d2aa7 refs/pull/15565/merge -> refs/pull/15565/merge (forced update)
64959faf56..f395770691 refs/pull/15596/head -> refs/pull/15596/head
+ d77b6cff12...75e80da82c refs/pull/15647/head -> refs/pull/15647/head (forced update)
+ c926421b68...c61368a3a4 refs/pull/15647/merge -> refs/pull/15647/merge (forced update)
+ b5b368300c...f2202a38d0 refs/pull/15659/head -> refs/pull/15659/head (forced update)
b298ea90bf..245c01a894 refs/pull/15664/head -> refs/pull/15664/head
4f6d4686a6..bc76b0de35 refs/pull/15672/head -> refs/pull/15672/head
+ 611b1871b4...a5ce37744e refs/pull/15710/head -> refs/pull/15710/head (forced update)
9542ab4051..236c15967a refs/pull/15716/head -> refs/pull/15716/head
+ 0286db9628...0012e95a50 refs/pull/15717/head -> refs/pull/15717/head (forced update)
+ 0c7200a710...72afc71015 refs/pull/15720/head -> refs/pull/15720/head (forced update)
99cf44a4e3..51455a89cf refs/pull/15737/head -> refs/pull/15737/head
f54851e635..b0c154da93 refs/pull/15756/head -> refs/pull/15756/head
b412dab688..2ea499989a refs/pull/15757/head -> refs/pull/15757/head
6f4eb9bf8a..1a58bf1dd5 refs/pull/15783/head -> refs/pull/15783/head
051562c99d..125a8f693f refs/pull/15791/head -> refs/pull/15791/head
+ 3cd9104ddb...108a0d4690 refs/pull/15791/merge -> refs/pull/15791/merge (forced update)
+ d414c2a8a6...6adf53af3e refs/pull/15800/head -> refs/pull/15800/head (forced update)
+ 22984265f0...a2f3f30751 refs/pull/15800/merge -> refs/pull/15800/merge (forced update)
e00e82d6ad..19e739da87 refs/pull/15805/head -> refs/pull/15805/head
8663e2df11..c5e3099e42 refs/pull/15806/head -> refs/pull/15806/head
ddc0597a3e..cb8c78bb35 refs/pull/15815/head -> refs/pull/15815/head
+ 6f8951ed64...ddddf358dc refs/pull/15819/head -> refs/pull/15819/head (forced update)
+ 4c28112c47...835385e118 refs/pull/15819/merge -> refs/pull/15819/merge (forced update)
b65b77ff8a..ff0163da0d refs/pull/15829/head -> refs/pull/15829/head
b54e7412f1..0dc7a564bc refs/pull/15839/head -> refs/pull/15839/head
+ 03d1bf4796...89ec5cb3a3 refs/pull/15842/head -> refs/pull/15842/head (forced update)
+ 8204cd65fe...1177f940d9 refs/pull/15842/merge -> refs/pull/15842/merge (forced update)
+ b6f5597fff...480a32c6d4 refs/pull/15860/merge -> refs/pull/15860/merge (forced update)
+ 50a8089eac...995ab8d67a refs/pull/15861/head -> refs/pull/15861/head (forced update)
1c23aee1fa..262ef11241 refs/pull/15863/head -> refs/pull/15863/head
+ cd9cf7b60f...e32f2b541c refs/pull/15863/merge -> refs/pull/15863/merge (forced update)
+ 4b5840862d...41ab0453d1 refs/pull/15864/merge -> refs/pull/15864/merge (forced update)
4dc4add2c9..262ef11241 refs/pull/15866/head -> refs/pull/15866/head
+ 225e21318b...d93935a4d8 refs/pull/15866/merge -> refs/pull/15866/merge (forced update)
af7f2bd832..6ca0f2ae08 refs/pull/15886/head -> refs/pull/15886/head
+ bd4969ac5e...8033b7fceb refs/pull/15889/merge -> refs/pull/15889/merge (forced update)
+ f1e678657c...d1d6f4746d refs/pull/15922/merge -> refs/pull/15922/merge (forced update)
6d77e42b27..3b1eebf26b refs/pull/16000/head -> refs/pull/16000/head
+ bb83c21352...369b4c200d refs/pull/16010/merge -> refs/pull/16010/merge (forced update)
d54129c54f..1cfabba58a refs/pull/16041/head -> refs/pull/16041/head
+ baf29d4246...8fdc3efb41 refs/pull/16045/head -> refs/pull/16045/head (forced update)
+ 748dae544d...144d68fbc5 refs/pull/16047/head -> refs/pull/16047/head (forced update)
8305fe456c..262ef11241 refs/pull/16055/head -> refs/pull/16055/head
+ 36bc1159f4...9f244d719c refs/pull/16055/merge -> refs/pull/16055/merge (forced update)
+ add991abf6...4553388c4d refs/pull/16072/head -> refs/pull/16072/head (forced update)
+ e56773021a...dccdd9f176 refs/pull/16072/merge -> refs/pull/16072/merge (forced update)
80815fc2e8..dc6c5d3c18 refs/pull/16087/head -> refs/pull/16087/head
122cfa2b2a..ac4c32f75b refs/pull/16093/head -> refs/pull/16093/head
66566b3d70..a4a88a0420 refs/pull/16094/head -> refs/pull/16094/head
fc69681426..a62dc84f31 refs/pull/16106/head -> refs/pull/16106/head
64a1993b93..d8f258e7f0 refs/pull/16119/head -> refs/pull/16119/head
23618953ea..c578c11588 refs/pull/16131/head -> refs/pull/16131/head
+ 1700df9aa4...09c0f54f97 refs/pull/16131/merge -> refs/pull/16131/merge (forced update)
72a3cd952e..26fd61049f refs/pull/16145/head -> refs/pull/16145/head
ad3c5e217f..33af2dd4e2 refs/pull/16152/head -> refs/pull/16152/head
+ 9c93b5df30...dd6c8eae51 refs/pull/16156/head -> refs/pull/16156/head (forced update)
20631f4442..ffec5fecb6 refs/pull/16177/head -> refs/pull/16177/head
+ 4241d9ea94...f1bae2f6d4 refs/pull/16179/head -> refs/pull/16179/head (forced update)
f6feddea50..7bf10b2b01 refs/pull/16181/head -> refs/pull/16181/head
f4f7ed3a6f..69d0c64ee7 refs/pull/16184/head -> refs/pull/16184/head
+ 767c4f8b34...2eaa99e23e refs/pull/16185/head -> refs/pull/16185/head (forced update)
+ f7bda4bc26...e9d94f6925 refs/pull/16193/merge -> refs/pull/16193/merge (forced update)
+ 375b87c26c...3ee0ac8442 refs/pull/16204/head -> refs/pull/16204/head (forced update)
23216cf8b7..32eeacbef3 refs/pull/16207/head -> refs/pull/16207/head
+ 6e0073e8ff...83ca49d396 refs/pull/16209/head -> refs/pull/16209/head (forced update)
+ 2788126b73...29d6e7409a refs/pull/16209/merge -> refs/pull/16209/merge (forced update)
7fb2a583ae..1eb9e6c016 refs/pull/16222/head -> refs/pull/16222/head
200c3480f4..cb39841e6e refs/pull/16225/head -> refs/pull/16225/head
+ 87b2e0698f...9a3293f035 refs/pull/16231/head -> refs/pull/16231/head (forced update)
0a28fe1ee0..a85dcc97ff refs/pull/16235/head -> refs/pull/16235/head
0d178a3e47..b297210bc6 refs/pull/16243/head -> refs/pull/16243/head
* [new ref] refs/pull/16246/head -> refs/pull/16246/head
* [new ref] refs/pull/16250/head -> refs/pull/16250/head
* [new ref] refs/pull/16251/head -> refs/pull/16251/head
* [new ref] refs/pull/16252/head -> refs/pull/16252/head
* [new ref] refs/pull/16256/head -> refs/pull/16256/head
* [new ref] refs/pull/16257/head -> refs/pull/16257/head
* [new ref] refs/pull/16259/head -> refs/pull/16259/head
* [new ref] refs/pull/16260/head -> refs/pull/16260/head
* [new ref] refs/pull/16267/head -> refs/pull/16267/head
* [new ref] refs/pull/16269/head -> refs/pull/16269/head
* [new ref] refs/pull/16270/head -> refs/pull/16270/head
* [new ref] refs/pull/16274/head -> refs/pull/16274/head
* [new ref] refs/pull/16279/head -> refs/pull/16279/head
* [new ref] refs/pull/16284/head -> refs/pull/16284/head
* [new ref] refs/pull/16285/head -> refs/pull/16285/head
* [new ref] refs/pull/16285/merge -> refs/pull/16285/merge
* [new ref] refs/pull/16291/head -> refs/pull/16291/head
* [new ref] refs/pull/16294/head -> refs/pull/16294/head
* [new ref] refs/pull/16299/head -> refs/pull/16299/head
* [new ref] refs/pull/16300/head -> refs/pull/16300/head
* [new ref] refs/pull/16301/head -> refs/pull/16301/head
* [new ref] refs/pull/16302/head -> refs/pull/16302/head
* [new ref] refs/pull/16302/merge -> refs/pull/16302/merge
* [new ref] refs/pull/16304/head -> refs/pull/16304/head
* [new ref] refs/pull/16305/head -> refs/pull/16305/head
* [new ref] refs/pull/16307/head -> refs/pull/16307/head
* [new ref] refs/pull/16311/head -> refs/pull/16311/head
* [new ref] refs/pull/16314/head -> refs/pull/16314/head
* [new ref] refs/pull/16319/head -> refs/pull/16319/head
* [new ref] refs/pull/16322/head -> refs/pull/16322/head
* [new ref] refs/pull/16324/head -> refs/pull/16324/head
* [new ref] refs/pull/16329/head -> refs/pull/16329/head
* [new ref] refs/pull/16334/head -> refs/pull/16334/head
* [new ref] refs/pull/16337/head -> refs/pull/16337/head
* [new ref] refs/pull/16338/head -> refs/pull/16338/head
* [new ref] refs/pull/16339/head -> refs/pull/16339/head
* [new ref] refs/pull/16345/head -> refs/pull/16345/head
* [new ref] refs/pull/16349/head -> refs/pull/16349/head
* [new ref] refs/pull/16354/head -> refs/pull/16354/head
* [new ref] refs/pull/16355/head -> refs/pull/16355/head
* [new ref] refs/pull/16360/head -> refs/pull/16360/head
* [new ref] refs/pull/16361/head -> refs/pull/16361/head
* [new ref] refs/pull/16362/head -> refs/pull/16362/head
* [new ref] refs/pull/16370/head -> refs/pull/16370/head
* [new ref] refs/pull/16377/head -> refs/pull/16377/head
* [new ref] refs/pull/16378/head -> refs/pull/16378/head
* [new ref] refs/pull/16380/head -> refs/pull/16380/head
* [new ref] refs/pull/16381/head -> refs/pull/16381/head
* [new ref] refs/pull/16385/head -> refs/pull/16385/head
* [new ref] refs/pull/16387/head -> refs/pull/16387/head
* [new ref] refs/pull/16387/merge -> refs/pull/16387/merge
* [new ref] refs/pull/16389/head -> refs/pull/16389/head
* [new ref] refs/pull/16390/head -> refs/pull/16390/head
* [new ref] refs/pull/16392/head -> refs/pull/16392/head
* [new ref] refs/pull/16394/head -> refs/pull/16394/head
* [new ref] refs/pull/16395/head -> refs/pull/16395/head
* [new ref] refs/pull/16398/head -> refs/pull/16398/head
* [new ref] refs/pull/16399/head -> refs/pull/16399/head
* [new ref] refs/pull/16401/head -> refs/pull/16401/head
* [new ref] refs/pull/16404/head -> refs/pull/16404/head
* [new ref] refs/pull/16406/head -> refs/pull/16406/head
* [new ref] refs/pull/16409/head -> refs/pull/16409/head
* [new ref] refs/pull/16413/head -> refs/pull/16413/head
* [new ref] refs/pull/16414/head -> refs/pull/16414/head
* [new ref] refs/pull/16420/head -> refs/pull/16420/head
* [new ref] refs/pull/16421/head -> refs/pull/16421/head
* [new ref] refs/pull/16422/head -> refs/pull/16422/head
* [new ref] refs/pull/16424/head -> refs/pull/16424/head
* [new ref] refs/pull/16426/head -> refs/pull/16426/head
* [new ref] refs/pull/16428/head -> refs/pull/16428/head
* [new ref] refs/pull/16433/head -> refs/pull/16433/head
* [new ref] refs/pull/16434/head -> refs/pull/16434/head
* [new ref] refs/pull/16434/merge -> refs/pull/16434/merge
* [new ref] refs/pull/16436/head -> refs/pull/16436/head
* [new ref] refs/pull/16439/head -> refs/pull/16439/head
* [new ref] refs/pull/16440/head -> refs/pull/16440/head
* [new ref] refs/pull/16441/head -> refs/pull/16441/head
* [new ref] refs/pull/16442/head -> refs/pull/16442/head
* [new ref] refs/pull/16445/head -> refs/pull/16445/head
* [new ref] refs/pull/16449/head -> refs/pull/16449/head
* [new ref] refs/pull/16449/merge -> refs/pull/16449/merge
* [new ref] refs/pull/16452/head -> refs/pull/16452/head
* [new ref] refs/pull/16457/head -> refs/pull/16457/head
* [new ref] refs/pull/16458/head -> refs/pull/16458/head
* [new ref] refs/pull/16459/head -> refs/pull/16459/head
* [new ref] refs/pull/16460/head -> refs/pull/16460/head
* [new ref] refs/pull/16462/head -> refs/pull/16462/head
* [new ref] refs/pull/16463/head -> refs/pull/16463/head
* [new ref] refs/pull/16464/head -> refs/pull/16464/head
* [new ref] refs/pull/16465/head -> refs/pull/16465/head
* [new ref] refs/pull/16466/head -> refs/pull/16466/head
* [new ref] refs/pull/16471/head -> refs/pull/16471/head
* [new ref] refs/pull/16473/head -> refs/pull/16473/head
* [new ref] refs/pull/16476/head -> refs/pull/16476/head
* [new ref] refs/pull/16478/head -> refs/pull/16478/head
* [new ref] refs/pull/16479/head -> refs/pull/16479/head
* [new ref] refs/pull/16480/head -> refs/pull/16480/head
* [new ref] refs/pull/16483/head -> refs/pull/16483/head
* [new ref] refs/pull/16484/head -> refs/pull/16484/head
* [new ref] refs/pull/16485/head -> refs/pull/16485/head
* [new ref] refs/pull/16486/head -> refs/pull/16486/head
* [new ref] refs/pull/16487/head -> refs/pull/16487/head
* [new ref] refs/pull/16489/head -> refs/pull/16489/head
* [new ref] refs/pull/16490/head -> refs/pull/16490/head
* [new ref] refs/pull/16493/head -> refs/pull/16493/head
* [new ref] refs/pull/16495/head -> refs/pull/16495/head
* [new ref] refs/pull/16497/head -> refs/pull/16497/head
* [new ref] refs/pull/16506/head -> refs/pull/16506/head
* [new ref] refs/pull/16508/head -> refs/pull/16508/head
* [new ref] refs/pull/16511/head -> refs/pull/16511/head
* [new ref] refs/pull/16512/head -> refs/pull/16512/head
* [new ref] refs/pull/16514/head -> refs/pull/16514/head
* [new ref] refs/pull/16515/head -> refs/pull/16515/head
* [new ref] refs/pull/16520/head -> refs/pull/16520/head
* [new ref] refs/pull/16527/head -> refs/pull/16527/head
* [new ref] refs/pull/16528/head -> refs/pull/16528/head
* [new ref] refs/pull/16529/head -> refs/pull/16529/head
* [new ref] refs/pull/16531/head -> refs/pull/16531/head
* [new ref] refs/pull/16532/head -> refs/pull/16532/head
* [new ref] refs/pull/16535/head -> refs/pull/16535/head
* [new ref] refs/pull/16535/merge -> refs/pull/16535/merge
* [new ref] refs/pull/16537/head -> refs/pull/16537/head
* [new ref] refs/pull/16541/head -> refs/pull/16541/head
* [new ref] refs/pull/16542/head -> refs/pull/16542/head
* [new ref] refs/pull/16545/head -> refs/pull/16545/head
* [new ref] refs/pull/16546/head -> refs/pull/16546/head
* [new ref] refs/pull/16548/head -> refs/pull/16548/head
* [new ref] refs/pull/16549/head -> refs/pull/16549/head
* [new ref] refs/pull/16551/head -> refs/pull/16551/head
* [new ref] refs/pull/16552/head -> refs/pull/16552/head
* [new ref] refs/pull/16554/head -> refs/pull/16554/head
* [new ref] refs/pull/16556/head -> refs/pull/16556/head
* [new ref] refs/pull/16557/head -> refs/pull/16557/head
* [new ref] refs/pull/16558/head -> refs/pull/16558/head
* [new ref] refs/pull/16561/head -> refs/pull/16561/head
* [new ref] refs/pull/16563/head -> refs/pull/16563/head
* [new ref] refs/pull/16565/head -> refs/pull/16565/head
* [new ref] refs/pull/16570/head -> refs/pull/16570/head
* [new ref] refs/pull/16573/head -> refs/pull/16573/head
* [new ref] refs/pull/16574/head -> refs/pull/16574/head
* [new ref] refs/pull/16575/head -> refs/pull/16575/head
* [new ref] refs/pull/16577/head -> refs/pull/16577/head
* [new ref] refs/pull/16580/head -> refs/pull/16580/head
* [new ref] refs/pull/16581/head -> refs/pull/16581/head
* [new ref] refs/pull/16583/head -> refs/pull/16583/head
* [new ref] refs/pull/16584/head -> refs/pull/16584/head
* [new ref] refs/pull/16585/head -> refs/pull/16585/head
* [new ref] refs/pull/16585/merge -> refs/pull/16585/merge
* [new ref] refs/pull/16587/head -> refs/pull/16587/head
* [new ref] refs/pull/16589/head -> refs/pull/16589/head
* [new ref] refs/pull/16590/head -> refs/pull/16590/head
* [new ref] refs/pull/16593/head -> refs/pull/16593/head
* [new ref] refs/pull/16594/head -> refs/pull/16594/head
* [new ref] refs/pull/16594/merge -> refs/pull/16594/merge
* [new ref] refs/pull/16599/head -> refs/pull/16599/head
* [new ref] refs/pull/16604/head -> refs/pull/16604/head
* [new ref] refs/pull/16609/head -> refs/pull/16609/head
* [new ref] refs/pull/16627/head -> refs/pull/16627/head
* [new ref] refs/pull/16630/head -> refs/pull/16630/head
* [new ref] refs/pull/16637/head -> refs/pull/16637/head
* [new ref] refs/pull/16638/head -> refs/pull/16638/head
* [new ref] refs/pull/16639/head -> refs/pull/16639/head
* [new ref] refs/pull/16640/head -> refs/pull/16640/head
* [new ref] refs/pull/16641/head -> refs/pull/16641/head
* [new ref] refs/pull/16642/head -> refs/pull/16642/head
* [new ref] refs/pull/16643/head -> refs/pull/16643/head
* [new ref] refs/pull/16643/merge -> refs/pull/16643/merge
* [new ref] refs/pull/16646/head -> refs/pull/16646/head
* [new ref] refs/pull/16647/head -> refs/pull/16647/head
* [new ref] refs/pull/16648/head -> refs/pull/16648/head
* [new ref] refs/pull/16649/head -> refs/pull/16649/head
* [new ref] refs/pull/16650/head -> refs/pull/16650/head
* [new ref] refs/pull/16651/head -> refs/pull/16651/head
* [new ref] refs/pull/16652/head -> refs/pull/16652/head
* [new ref] refs/pull/16653/head -> refs/pull/16653/head
* [new ref] refs/pull/16653/merge -> refs/pull/16653/merge
* [new ref] refs/pull/16654/head -> refs/pull/16654/head
* [new ref] refs/pull/16655/head -> refs/pull/16655/head
* [new ref] refs/pull/16655/merge -> refs/pull/16655/merge
* [new ref] refs/pull/16657/head -> refs/pull/16657/head
* [new ref] refs/pull/16659/head -> refs/pull/16659/head
* [new ref] refs/pull/16661/head -> refs/pull/16661/head
* [new ref] refs/pull/16662/head -> refs/pull/16662/head
* [new ref] refs/pull/16664/head -> refs/pull/16664/head
* [new ref] refs/pull/16667/head -> refs/pull/16667/head
* [new ref] refs/pull/16669/head -> refs/pull/16669/head
* [new ref] refs/pull/16670/head -> refs/pull/16670/head
* [new ref] refs/pull/16672/head -> refs/pull/16672/head
* [new ref] refs/pull/16674/head -> refs/pull/16674/head
* [new ref] refs/pull/16674/merge -> refs/pull/16674/merge
* [new ref] refs/pull/16675/head -> refs/pull/16675/head
* [new ref] refs/pull/16675/merge -> refs/pull/16675/merge
* [new ref] refs/pull/16676/head -> refs/pull/16676/head
* [new ref] refs/pull/16676/merge -> refs/pull/16676/merge
* [new ref] refs/pull/16677/head -> refs/pull/16677/head
* [new ref] refs/pull/16677/merge -> refs/pull/16677/merge
* [new ref] refs/pull/16678/head -> refs/pull/16678/head
* [new ref] refs/pull/16678/merge -> refs/pull/16678/merge
* [new ref] refs/pull/16679/head -> refs/pull/16679/head
* [new ref] refs/pull/16679/merge -> refs/pull/16679/merge
* [new ref] refs/pull/16680/head -> refs/pull/16680/head
* [new ref] refs/pull/16680/merge -> refs/pull/16680/merge
* [new ref] refs/pull/16681/head -> refs/pull/16681/head
* [new ref] refs/pull/16681/merge -> refs/pull/16681/merge
* [new ref] refs/pull/16682/head -> refs/pull/16682/head
* [new ref] refs/pull/16682/merge -> refs/pull/16682/merge
* [new ref] refs/pull/16683/head -> refs/pull/16683/head
* [new ref] refs/pull/16683/merge -> refs/pull/16683/merge
* [new ref] refs/pull/16684/head -> refs/pull/16684/head
* [new ref] refs/pull/16684/merge -> refs/pull/16684/merge
* [new ref] refs/pull/16685/head -> refs/pull/16685/head
* [new ref] refs/pull/16685/merge -> refs/pull/16685/merge
* [new ref] refs/pull/16686/head -> refs/pull/16686/head
* [new ref] refs/pull/16686/merge -> refs/pull/16686/merge
* [new ref] refs/pull/16687/head -> refs/pull/16687/head
* [new ref] refs/pull/16687/merge -> refs/pull/16687/merge
* [new ref] refs/pull/16688/head -> refs/pull/16688/head
* [new ref] refs/pull/16688/merge -> refs/pull/16688/merge
* [new ref] refs/pull/16689/head -> refs/pull/16689/head
* [new ref] refs/pull/16689/merge -> refs/pull/16689/merge
* [new ref] refs/pull/16690/head -> refs/pull/16690/head
* [new ref] refs/pull/16690/merge -> refs/pull/16690/merge
* [new ref] refs/pull/16691/head -> refs/pull/16691/head
* [new ref] refs/pull/16691/merge -> refs/pull/16691/merge
* [new ref] refs/pull/16692/head -> refs/pull/16692/head
* [new ref] refs/pull/16692/merge -> refs/pull/16692/merge
* [new ref] refs/pull/16693/head -> refs/pull/16693/head
* [new ref] refs/pull/16693/merge -> refs/pull/16693/merge
* [new ref] refs/pull/16696/head -> refs/pull/16696/head
* [new ref] refs/pull/16700/head -> refs/pull/16700/head
* [new ref] refs/pull/16700/merge -> refs/pull/16700/merge
* [new ref] refs/pull/16702/head -> refs/pull/16702/head
* [new ref] refs/pull/16702/merge -> refs/pull/16702/merge
* [new ref] refs/pull/16705/head -> refs/pull/16705/head
* [new ref] refs/pull/16707/head -> refs/pull/16707/head
* [new ref] refs/pull/16708/head -> refs/pull/16708/head
* [new ref] refs/pull/16709/head -> refs/pull/16709/head
* [new ref] refs/pull/16713/head -> refs/pull/16713/head
* [new ref] refs/pull/16714/head -> refs/pull/16714/head
* [new ref] refs/pull/16715/head -> refs/pull/16715/head
* [new ref] refs/pull/16719/head -> refs/pull/16719/head
* [new ref] refs/pull/16721/head -> refs/pull/16721/head
* [new ref] refs/pull/16727/head -> refs/pull/16727/head
* [new ref] refs/pull/16729/head -> refs/pull/16729/head
* [new ref] refs/pull/16730/head -> refs/pull/16730/head
* [new ref] refs/pull/16731/head -> refs/pull/16731/head
* [new ref] refs/pull/16733/head -> refs/pull/16733/head
* [new ref] refs/pull/16735/head -> refs/pull/16735/head
* [new ref] refs/pull/16736/head -> refs/pull/16736/head
* [new ref] refs/pull/16738/head -> refs/pull/16738/head
* [new ref] refs/pull/16740/head -> refs/pull/16740/head
* [new ref] refs/pull/16742/head -> refs/pull/16742/head
* [new ref] refs/pull/16744/head -> refs/pull/16744/head
* [new ref] refs/pull/16746/head -> refs/pull/16746/head
* [new ref] refs/pull/16751/head -> refs/pull/16751/head
* [new ref] refs/pull/16752/head -> refs/pull/16752/head
* [new ref] refs/pull/16753/head -> refs/pull/16753/head
* [new ref] refs/pull/16755/head -> refs/pull/16755/head
* [new ref] refs/pull/16756/head -> refs/pull/16756/head
* [new ref] refs/pull/16757/head -> refs/pull/16757/head
* [new ref] refs/pull/16759/head -> refs/pull/16759/head
* [new ref] refs/pull/16760/head -> refs/pull/16760/head
* [new ref] refs/pull/16762/head -> refs/pull/16762/head
* [new ref] refs/pull/16763/head -> refs/pull/16763/head
* [new ref] refs/pull/16764/head -> refs/pull/16764/head
* [new ref] refs/pull/16769/head -> refs/pull/16769/head
* [new ref] refs/pull/16770/head -> refs/pull/16770/head
* [new ref] refs/pull/16771/head -> refs/pull/16771/head
* [new ref] refs/pull/16772/head -> refs/pull/16772/head
* [new ref] refs/pull/16773/head -> refs/pull/16773/head
* [new ref] refs/pull/16775/head -> refs/pull/16775/head
* [new ref] refs/pull/16777/head -> refs/pull/16777/head
* [new ref] refs/pull/16778/head -> refs/pull/16778/head
* [new ref] refs/pull/16781/head -> refs/pull/16781/head
* [new ref] refs/pull/16782/head -> refs/pull/16782/head
* [new ref] refs/pull/16783/head -> refs/pull/16783/head
* [new ref] refs/pull/16797/head -> refs/pull/16797/head
* [new ref] refs/pull/16798/head -> refs/pull/16798/head
* [new ref] refs/pull/16800/head -> refs/pull/16800/head
* [new ref] refs/pull/16804/head -> refs/pull/16804/head
* [new ref] refs/pull/16809/head -> refs/pull/16809/head
* [new ref] refs/pull/16810/head -> refs/pull/16810/head
* [new ref] refs/pull/16811/head -> refs/pull/16811/head
* [new ref] refs/pull/16815/head -> refs/pull/16815/head
* [new ref] refs/pull/16816/head -> refs/pull/16816/head
* [new ref] refs/pull/16817/head -> refs/pull/16817/head
* [new ref] refs/pull/16818/head -> refs/pull/16818/head
* [new ref] refs/pull/16821/head -> refs/pull/16821/head
* [new ref] refs/pull/16822/head -> refs/pull/16822/head
* [new ref] refs/pull/16824/head -> refs/pull/16824/head
* [new ref] refs/pull/16825/head -> refs/pull/16825/head
* [new ref] refs/pull/16826/head -> refs/pull/16826/head
* [new ref] refs/pull/16828/head -> refs/pull/16828/head
* [new ref] refs/pull/16829/head -> refs/pull/16829/head
* [new ref] refs/pull/16833/head -> refs/pull/16833/head
* [new ref] refs/pull/16836/head -> refs/pull/16836/head
* [new ref] refs/pull/16840/head -> refs/pull/16840/head
* [new ref] refs/pull/16842/head -> refs/pull/16842/head
* [new ref] refs/pull/16848/head -> refs/pull/16848/head
* [new ref] refs/pull/16849/head -> refs/pull/16849/head
* [new ref] refs/pull/16856/head -> refs/pull/16856/head
* [new ref] refs/pull/16859/head -> refs/pull/16859/head
* [new ref] refs/pull/16863/head -> refs/pull/16863/head
* [new ref] refs/pull/16864/head -> refs/pull/16864/head
* [new ref] refs/pull/16865/head -> refs/pull/16865/head
* [new ref] refs/pull/16866/head -> refs/pull/16866/head
* [new ref] refs/pull/16870/head -> refs/pull/16870/head
* [new ref] refs/pull/16872/head -> refs/pull/16872/head
* [new ref] refs/pull/16873/head -> refs/pull/16873/head
* [new ref] refs/pull/16874/head -> refs/pull/16874/head
* [new ref] refs/pull/16876/head -> refs/pull/16876/head
* [new ref] refs/pull/16878/head -> refs/pull/16878/head
* [new ref] refs/pull/16879/head -> refs/pull/16879/head
* [new ref] refs/pull/16881/head -> refs/pull/16881/head
* [new ref] refs/pull/16881/merge -> refs/pull/16881/merge
* [new ref] refs/pull/16882/head -> refs/pull/16882/head
* [new ref] refs/pull/16883/head -> refs/pull/16883/head
* [new ref] refs/pull/16884/head -> refs/pull/16884/head
* [new ref] refs/pull/16889/head -> refs/pull/16889/head
* [new ref] refs/pull/16892/head -> refs/pull/16892/head
* [new ref] refs/pull/16895/head -> refs/pull/16895/head
* [new ref] refs/pull/16896/head -> refs/pull/16896/head
* [new ref] refs/pull/16900/head -> refs/pull/16900/head
* [new ref] refs/pull/16902/head -> refs/pull/16902/head
* [new ref] refs/pull/16903/head -> refs/pull/16903/head
* [new ref] refs/pull/16907/head -> refs/pull/16907/head
* [new ref] refs/pull/16912/head -> refs/pull/16912/head
* [new ref] refs/pull/16914/head -> refs/pull/16914/head
* [new ref] refs/pull/16915/head -> refs/pull/16915/head
* [new ref] refs/pull/16918/head -> refs/pull/16918/head
* [new ref] refs/pull/16919/head -> refs/pull/16919/head
* [new ref] refs/pull/16920/head -> refs/pull/16920/head
* [new ref] refs/pull/16920/merge -> refs/pull/16920/merge
* [new ref] refs/pull/16921/head -> refs/pull/16921/head
* [new ref] refs/pull/16930/head -> refs/pull/16930/head
* [new ref] refs/pull/16930/merge -> refs/pull/16930/merge
* [new ref] refs/pull/16932/head -> refs/pull/16932/head
* [new ref] refs/pull/16936/head -> refs/pull/16936/head
* [new ref] refs/pull/16937/head -> refs/pull/16937/head
* [new ref] refs/pull/16942/head -> refs/pull/16942/head
* [new ref] refs/pull/16953/head -> refs/pull/16953/head
* [new ref] refs/pull/16954/head -> refs/pull/16954/head
* [new ref] refs/pull/16958/head -> refs/pull/16958/head
* [new ref] refs/pull/16961/head -> refs/pull/16961/head
* [new ref] refs/pull/16964/head -> refs/pull/16964/head
* [new ref] refs/pull/16965/head -> refs/pull/16965/head
* [new ref] refs/pull/16965/merge -> refs/pull/16965/merge
* [new ref] refs/pull/16966/head -> refs/pull/16966/head
* [new ref] refs/pull/16967/head -> refs/pull/16967/head
* [new ref] refs/pull/16969/head -> refs/pull/16969/head
* [new ref] refs/pull/16971/head -> refs/pull/16971/head
* [new ref] refs/pull/16975/head -> refs/pull/16975/head
* [new ref] refs/pull/16977/head -> refs/pull/16977/head
* [new ref] refs/pull/16983/head -> refs/pull/16983/head
* [new ref] refs/pull/16986/head -> refs/pull/16986/head
* [new ref] refs/pull/16988/head -> refs/pull/16988/head
* [new ref] refs/pull/16989/head -> refs/pull/16989/head
* [new ref] refs/pull/16991/head -> refs/pull/16991/head
* [new ref] refs/pull/16991/merge -> refs/pull/16991/merge
* [new ref] refs/pull/16996/head -> refs/pull/16996/head
* [new ref] refs/pull/16996/merge -> refs/pull/16996/merge
* [new ref] refs/pull/16997/head -> refs/pull/16997/head
* [new ref] refs/pull/16998/head -> refs/pull/16998/head
* [new ref] refs/pull/16998/merge -> refs/pull/16998/merge
* [new ref] refs/pull/17000/head -> refs/pull/17000/head
* [new ref] refs/pull/17001/head -> refs/pull/17001/head
* [new ref] refs/pull/17007/head -> refs/pull/17007/head
* [new ref] refs/pull/17009/head -> refs/pull/17009/head
* [new ref] refs/pull/17010/head -> refs/pull/17010/head
* [new ref] refs/pull/17016/head -> refs/pull/17016/head
* [new ref] refs/pull/17018/head -> refs/pull/17018/head
* [new ref] refs/pull/17019/head -> refs/pull/17019/head
* [new ref] refs/pull/17021/head -> refs/pull/17021/head
* [new ref] refs/pull/17025/head -> refs/pull/17025/head
* [new ref] refs/pull/17030/head -> refs/pull/17030/head
* [new ref] refs/pull/17031/head -> refs/pull/17031/head
* [new ref] refs/pull/17032/head -> refs/pull/17032/head
* [new ref] refs/pull/17040/head -> refs/pull/17040/head
* [new ref] refs/pull/17041/head -> refs/pull/17041/head
* [new ref] refs/pull/17042/head -> refs/pull/17042/head
* [new ref] refs/pull/17043/head -> refs/pull/17043/head
* [new ref] refs/pull/17044/head -> refs/pull/17044/head
* [new ref] refs/pull/17045/head -> refs/pull/17045/head
* [new ref] refs/pull/17045/merge -> refs/pull/17045/merge
* [new ref] refs/pull/17046/head -> refs/pull/17046/head
* [new ref] refs/pull/17048/head -> refs/pull/17048/head
* [new ref] refs/pull/17050/head -> refs/pull/17050/head
* [new ref] refs/pull/17051/head -> refs/pull/17051/head
* [new ref] refs/pull/17053/head -> refs/pull/17053/head
* [new ref] refs/pull/17054/head -> refs/pull/17054/head
* [new ref] refs/pull/17055/head -> refs/pull/17055/head
* [new ref] refs/pull/17056/head -> refs/pull/17056/head
* [new ref] refs/pull/17057/head -> refs/pull/17057/head
* [new ref] refs/pull/17058/head -> refs/pull/17058/head
* [new ref] refs/pull/17059/head -> refs/pull/17059/head
* [new ref] refs/pull/17060/head -> refs/pull/17060/head
* [new ref] refs/pull/17061/head -> refs/pull/17061/head
* [new ref] refs/pull/17062/head -> refs/pull/17062/head
* [new ref] refs/pull/17062/merge -> refs/pull/17062/merge
* [new ref] refs/pull/17064/head -> refs/pull/17064/head
* [new ref] refs/pull/17066/head -> refs/pull/17066/head
* [new ref] refs/pull/17073/head -> refs/pull/17073/head
* [new ref] refs/pull/17074/head -> refs/pull/17074/head
* [new ref] refs/pull/17075/head -> refs/pull/17075/head
* [new ref] refs/pull/17076/head -> refs/pull/17076/head
* [new ref] refs/pull/17076/merge -> refs/pull/17076/merge
* [new ref] refs/pull/17077/head -> refs/pull/17077/head
* [new ref] refs/pull/17078/head -> refs/pull/17078/head
* [new ref] refs/pull/17082/head -> refs/pull/17082/head
* [new ref] refs/pull/17086/head -> refs/pull/17086/head
* [new ref] refs/pull/17094/head -> refs/pull/17094/head
* [new ref] refs/pull/17095/head -> refs/pull/17095/head
* [new ref] refs/pull/17097/head -> refs/pull/17097/head
* [new ref] refs/pull/17098/head -> refs/pull/17098/head
* [new ref] refs/pull/17099/head -> refs/pull/17099/head
* [new ref] refs/pull/17100/head -> refs/pull/17100/head
* [new ref] refs/pull/17101/head -> refs/pull/17101/head
* [new ref] refs/pull/17102/head -> refs/pull/17102/head
* [new ref] refs/pull/17105/head -> refs/pull/17105/head
* [new ref] refs/pull/17115/head -> refs/pull/17115/head
* [new ref] refs/pull/17116/head -> refs/pull/17116/head
* [new ref] refs/pull/17119/head -> refs/pull/17119/head
* [new ref] refs/pull/17123/head -> refs/pull/17123/head
* [new ref] refs/pull/17124/head -> refs/pull/17124/head
* [new ref] refs/pull/17127/head -> refs/pull/17127/head
* [new ref] refs/pull/17128/head -> refs/pull/17128/head
* [new ref] refs/pull/17130/head -> refs/pull/17130/head
* [new ref] refs/pull/17131/head -> refs/pull/17131/head
* [new ref] refs/pull/17144/head -> refs/pull/17144/head
* [new ref] refs/pull/17145/head -> refs/pull/17145/head
* [new ref] refs/pull/17146/head -> refs/pull/17146/head
* [new ref] refs/pull/17149/head -> refs/pull/17149/head
* [new ref] refs/pull/17150/head -> refs/pull/17150/head
* [new ref] refs/pull/17151/head -> refs/pull/17151/head
* [new ref] refs/pull/17152/head -> refs/pull/17152/head
* [new ref] refs/pull/17159/head -> refs/pull/17159/head
* [new ref] refs/pull/17160/head -> refs/pull/17160/head
* [new ref] refs/pull/17165/head -> refs/pull/17165/head
* [new ref] refs/pull/17166/head -> refs/pull/17166/head
* [new ref] refs/pull/17167/head -> refs/pull/17167/head
* [new ref] refs/pull/17171/head -> refs/pull/17171/head
* [new ref] refs/pull/17172/head -> refs/pull/17172/head
* [new ref] refs/pull/17173/head -> refs/pull/17173/head
* [new ref] refs/pull/17174/head -> refs/pull/17174/head
* [new ref] refs/pull/17175/head -> refs/pull/17175/head
* [new ref] refs/pull/17177/head -> refs/pull/17177/head
* [new ref] refs/pull/17178/head -> refs/pull/17178/head
* [new ref] refs/pull/17180/head -> refs/pull/17180/head
* [new ref] refs/pull/17181/head -> refs/pull/17181/head
* [new ref] refs/pull/17182/head -> refs/pull/17182/head
* [new ref] refs/pull/17183/head -> refs/pull/17183/head
* [new ref] refs/pull/17184/head -> refs/pull/17184/head
* [new ref] refs/pull/17185/head -> refs/pull/17185/head
* [new ref] refs/pull/17186/head -> refs/pull/17186/head
* [new ref] refs/pull/17187/head -> refs/pull/17187/head
* [new ref] refs/pull/17192/head -> refs/pull/17192/head
* [new ref] refs/pull/17198/head -> refs/pull/17198/head
* [new ref] refs/pull/17198/merge -> refs/pull/17198/merge
* [new ref] refs/pull/17199/head -> refs/pull/17199/head
* [new ref] refs/pull/17204/head -> refs/pull/17204/head
* [new ref] refs/pull/17207/head -> refs/pull/17207/head
* [new ref] refs/pull/17211/head -> refs/pull/17211/head
* [new ref] refs/pull/17212/head -> refs/pull/17212/head
* [new ref] refs/pull/17212/merge -> refs/pull/17212/merge
* [new ref] refs/pull/17213/head -> refs/pull/17213/head
* [new ref] refs/pull/17214/head -> refs/pull/17214/head
* [new ref] refs/pull/17215/head -> refs/pull/17215/head
* [new ref] refs/pull/17217/head -> refs/pull/17217/head
* [new ref] refs/pull/17218/head -> refs/pull/17218/head
* [new ref] refs/pull/17219/head -> refs/pull/17219/head
* [new ref] refs/pull/17221/head -> refs/pull/17221/head
* [new ref] refs/pull/17223/head -> refs/pull/17223/head
* [new ref] refs/pull/17226/head -> refs/pull/17226/head
* [new ref] refs/pull/17227/head -> refs/pull/17227/head
* [new ref] refs/pull/17228/head -> refs/pull/17228/head
* [new ref] refs/pull/17229/head -> refs/pull/17229/head
* [new ref] refs/pull/17230/head -> refs/pull/17230/head
* [new ref] refs/pull/17231/head -> refs/pull/17231/head
* [new ref] refs/pull/17232/head -> refs/pull/17232/head
* [new ref] refs/pull/17234/head -> refs/pull/17234/head
* [new ref] refs/pull/17236/head -> refs/pull/17236/head
* [new ref] refs/pull/17237/head -> refs/pull/17237/head
* [new ref] refs/pull/17239/head -> refs/pull/17239/head
* [new ref] refs/pull/17240/head -> refs/pull/17240/head
* [new ref] refs/pull/17241/head -> refs/pull/17241/head
* [new ref] refs/pull/17242/head -> refs/pull/17242/head
* [new ref] refs/pull/17243/head -> refs/pull/17243/head
* [new ref] refs/pull/17244/head -> refs/pull/17244/head
* [new ref] refs/pull/17245/head -> refs/pull/17245/head
* [new ref] refs/pull/17246/head -> refs/pull/17246/head
* [new ref] refs/pull/17247/head -> refs/pull/17247/head
* [new ref] refs/pull/17249/head -> refs/pull/17249/head
* [new ref] refs/pull/17250/head -> refs/pull/17250/head
* [new ref] refs/pull/17252/head -> refs/pull/17252/head
* [new ref] refs/pull/17253/head -> refs/pull/17253/head
* [new ref] refs/pull/17256/head -> refs/pull/17256/head
* [new ref] refs/pull/17258/head -> refs/pull/17258/head
* [new ref] refs/pull/17259/head -> refs/pull/17259/head
* [new ref] refs/pull/17260/head -> refs/pull/17260/head
* [new ref] refs/pull/17262/head -> refs/pull/17262/head
* [new ref] refs/pull/17263/head -> refs/pull/17263/head
* [new ref] refs/pull/17263/merge -> refs/pull/17263/merge
* [new ref] refs/pull/17264/head -> refs/pull/17264/head
* [new ref] refs/pull/17265/head -> refs/pull/17265/head
* [new ref] refs/pull/17266/head -> refs/pull/17266/head
* [new ref] refs/pull/17268/head -> refs/pull/17268/head
* [new ref] refs/pull/17268/merge -> refs/pull/17268/merge
* [new ref] refs/pull/17269/head -> refs/pull/17269/head
* [new ref] refs/pull/17272/head -> refs/pull/17272/head
* [new ref] refs/pull/17272/merge -> refs/pull/17272/merge
* [new ref] refs/pull/17273/head -> refs/pull/17273/head
* [new ref] refs/pull/17274/head -> refs/pull/17274/head
* [new ref] refs/pull/17276/head -> refs/pull/17276/head
* [new ref] refs/pull/17277/head -> refs/pull/17277/head
* [new ref] refs/pull/17279/head -> refs/pull/17279/head
* [new ref] refs/pull/17280/head -> refs/pull/17280/head
* [new ref] refs/pull/17281/head -> refs/pull/17281/head
* [new ref] refs/pull/17281/merge -> refs/pull/17281/merge
* [new ref] refs/pull/17284/head -> refs/pull/17284/head
* [new ref] refs/pull/17292/head -> refs/pull/17292/head
* [new ref] refs/pull/17293/head -> refs/pull/17293/head
* [new ref] refs/pull/17294/head -> refs/pull/17294/head
* [new ref] refs/pull/17295/head -> refs/pull/17295/head
* [new ref] refs/pull/17304/head -> refs/pull/17304/head
* [new ref] refs/pull/17304/merge -> refs/pull/17304/merge
* [new ref] refs/pull/17305/head -> refs/pull/17305/head
* [new ref] refs/pull/17308/head -> refs/pull/17308/head
* [new ref] refs/pull/17311/head -> refs/pull/17311/head
* [new ref] refs/pull/17316/head -> refs/pull/17316/head
* [new ref] refs/pull/17317/head -> refs/pull/17317/head
* [new ref] refs/pull/17319/head -> refs/pull/17319/head
* [new ref] refs/pull/17320/head -> refs/pull/17320/head
* [new ref] refs/pull/17321/head -> refs/pull/17321/head
* [new ref] refs/pull/17324/head -> refs/pull/17324/head
* [new ref] refs/pull/17325/head -> refs/pull/17325/head
* [new ref] refs/pull/17326/head -> refs/pull/17326/head
* [new ref] refs/pull/17327/head -> refs/pull/17327/head
* [new ref] refs/pull/17329/head -> refs/pull/17329/head
* [new ref] refs/pull/17330/head -> refs/pull/17330/head
* [new ref] refs/pull/17331/head -> refs/pull/17331/head
* [new ref] refs/pull/17332/head -> refs/pull/17332/head
* [new ref] refs/pull/17335/head -> refs/pull/17335/head
* [new ref] refs/pull/17337/head -> refs/pull/17337/head
* [new ref] refs/pull/17341/head -> refs/pull/17341/head
* [new ref] refs/pull/17342/head -> refs/pull/17342/head
* [new ref] refs/pull/17344/head -> refs/pull/17344/head
* [new ref] refs/pull/17345/head -> refs/pull/17345/head
* [new ref] refs/pull/17346/head -> refs/pull/17346/head
* [new ref] refs/pull/17349/head -> refs/pull/17349/head
* [new ref] refs/pull/17350/head -> refs/pull/17350/head
* [new ref] refs/pull/17351/head -> refs/pull/17351/head
* [new ref] refs/pull/17353/head -> refs/pull/17353/head
* [new ref] refs/pull/17354/head -> refs/pull/17354/head
* [new ref] refs/pull/17355/head -> refs/pull/17355/head
* [new ref] refs/pull/17357/head -> refs/pull/17357/head
* [new ref] refs/pull/17358/head -> refs/pull/17358/head
* [new ref] refs/pull/17359/head -> refs/pull/17359/head
* [new ref] refs/pull/17362/head -> refs/pull/17362/head
* [new ref] refs/pull/17369/head -> refs/pull/17369/head
* [new ref] refs/pull/17370/head -> refs/pull/17370/head
* [new ref] refs/pull/17372/head -> refs/pull/17372/head
* [new ref] refs/pull/17375/head -> refs/pull/17375/head
* [new ref] refs/pull/17375/merge -> refs/pull/17375/merge
* [new ref] refs/pull/17388/head -> refs/pull/17388/head
* [new ref] refs/pull/17390/head -> refs/pull/17390/head
* [new ref] refs/pull/17393/head -> refs/pull/17393/head
* [new ref] refs/pull/17393/merge -> refs/pull/17393/merge
* [new ref] refs/pull/17394/head -> refs/pull/17394/head
* [new ref] refs/pull/17394/merge -> refs/pull/17394/merge
* [new ref] refs/pull/17395/head -> refs/pull/17395/head
* [new ref] refs/pull/17396/head -> refs/pull/17396/head
* [new ref] refs/pull/17397/head -> refs/pull/17397/head
* [new ref] refs/pull/17397/merge -> refs/pull/17397/merge
* [new ref] refs/pull/17398/head -> refs/pull/17398/head
* [new ref] refs/pull/17400/head -> refs/pull/17400/head
* [new ref] refs/pull/17401/head -> refs/pull/17401/head
* [new ref] refs/pull/17403/head -> refs/pull/17403/head
* [new ref] refs/pull/17404/head -> refs/pull/17404/head
* [new ref] refs/pull/17405/head -> refs/pull/17405/head
* [new ref] refs/pull/17405/merge -> refs/pull/17405/merge
* [new ref] refs/pull/17411/head -> refs/pull/17411/head
* [new ref] refs/pull/17412/head -> refs/pull/17412/head
* [new ref] refs/pull/17413/head -> refs/pull/17413/head
* [new ref] refs/pull/17414/head -> refs/pull/17414/head
* [new ref] refs/pull/17417/head -> refs/pull/17417/head
* [new ref] refs/pull/17418/head -> refs/pull/17418/head
* [new ref] refs/pull/17419/head -> refs/pull/17419/head
* [new ref] refs/pull/17422/head -> refs/pull/17422/head
* [new ref] refs/pull/17424/head -> refs/pull/17424/head
* [new ref] refs/pull/17427/head -> refs/pull/17427/head
* [new ref] refs/pull/17429/head -> refs/pull/17429/head
* [new ref] refs/pull/17430/head -> refs/pull/17430/head
* [new ref] refs/pull/17431/head -> refs/pull/17431/head
* [new ref] refs/pull/17434/head -> refs/pull/17434/head
* [new ref] refs/pull/17438/head -> refs/pull/17438/head
* [new ref] refs/pull/17438/merge -> refs/pull/17438/merge
* [new ref] refs/pull/17439/head -> refs/pull/17439/head
* [new ref] refs/pull/17439/merge -> refs/pull/17439/merge
* [new ref] refs/pull/17440/head -> refs/pull/17440/head
* [new ref] refs/pull/17443/head -> refs/pull/17443/head
* [new ref] refs/pull/17446/head -> refs/pull/17446/head
* [new ref] refs/pull/17447/head -> refs/pull/17447/head
* [new ref] refs/pull/17449/head -> refs/pull/17449/head
* [new ref] refs/pull/17452/head -> refs/pull/17452/head
* [new ref] refs/pull/17453/head -> refs/pull/17453/head
* [new ref] refs/pull/17454/head -> refs/pull/17454/head
* [new ref] refs/pull/17457/head -> refs/pull/17457/head
* [new ref] refs/pull/17458/head -> refs/pull/17458/head
* [new ref] refs/pull/17459/head -> refs/pull/17459/head
* [new ref] refs/pull/17460/head -> refs/pull/17460/head
* [new ref] refs/pull/17462/head -> refs/pull/17462/head
* [new ref] refs/pull/17463/head -> refs/pull/17463/head
* [new ref] refs/pull/17465/head -> refs/pull/17465/head
* [new ref] refs/pull/17466/head -> refs/pull/17466/head
* [new ref] refs/pull/17468/head -> refs/pull/17468/head
* [new ref] refs/pull/17470/head -> refs/pull/17470/head
* [new ref] refs/pull/17471/head -> refs/pull/17471/head
* [new ref] refs/pull/17473/head -> refs/pull/17473/head
* [new ref] refs/pull/17474/head -> refs/pull/17474/head
* [new ref] refs/pull/17476/head -> refs/pull/17476/head
* [new ref] refs/pull/17478/head -> refs/pull/17478/head
* [new ref] refs/pull/17478/merge -> refs/pull/17478/merge
* [new ref] refs/pull/17481/head -> refs/pull/17481/head
* [new ref] refs/pull/17488/head -> refs/pull/17488/head
* [new ref] refs/pull/17488/merge -> refs/pull/17488/merge
* [new ref] refs/pull/17490/head -> refs/pull/17490/head
* [new ref] refs/pull/17497/head -> refs/pull/17497/head
* [new ref] refs/pull/17499/head -> refs/pull/17499/head
* [new ref] refs/pull/17502/head -> refs/pull/17502/head
* [new ref] refs/pull/17503/head -> refs/pull/17503/head
* [new ref] refs/pull/17503/merge -> refs/pull/17503/merge
* [new ref] refs/pull/17504/head -> refs/pull/17504/head
* [new ref] refs/pull/17507/head -> refs/pull/17507/head
* [new ref] refs/pull/17508/head -> refs/pull/17508/head
* [new ref] refs/pull/17511/head -> refs/pull/17511/head
* [new ref] refs/pull/17514/head -> refs/pull/17514/head
* [new ref] refs/pull/17519/head -> refs/pull/17519/head
* [new ref] refs/pull/17522/head -> refs/pull/17522/head
* [new ref] refs/pull/17524/head -> refs/pull/17524/head
* [new ref] refs/pull/17526/head -> refs/pull/17526/head
* [new ref] refs/pull/17529/head -> refs/pull/17529/head
* [new ref] refs/pull/17530/head -> refs/pull/17530/head
* [new ref] refs/pull/17530/merge -> refs/pull/17530/merge
* [new ref] refs/pull/17531/head -> refs/pull/17531/head
* [new ref] refs/pull/17531/merge -> refs/pull/17531/merge
* [new ref] refs/pull/17538/head -> refs/pull/17538/head
* [new ref] refs/pull/17558/head -> refs/pull/17558/head
* [new ref] refs/pull/17561/head -> refs/pull/17561/head
* [new ref] refs/pull/17563/head -> refs/pull/17563/head
* [new ref] refs/pull/17565/head -> refs/pull/17565/head
* [new ref] refs/pull/17567/head -> refs/pull/17567/head
* [new ref] refs/pull/17569/head -> refs/pull/17569/head
* [new ref] refs/pull/17570/head -> refs/pull/17570/head
* [new ref] refs/pull/17572/head -> refs/pull/17572/head
* [new ref] refs/pull/17573/head -> refs/pull/17573/head
* [new ref] refs/pull/17574/head -> refs/pull/17574/head
* [new ref] refs/pull/17580/head -> refs/pull/17580/head
* [new ref] refs/pull/17581/head -> refs/pull/17581/head
* [new ref] refs/pull/17585/head -> refs/pull/17585/head
* [new ref] refs/pull/17586/head -> refs/pull/17586/head
* [new ref] refs/pull/17586/merge -> refs/pull/17586/merge
* [new ref] refs/pull/17587/head -> refs/pull/17587/head
* [new ref] refs/pull/17590/head -> refs/pull/17590/head
* [new ref] refs/pull/17591/head -> refs/pull/17591/head
* [new ref] refs/pull/17592/head -> refs/pull/17592/head
* [new ref] refs/pull/17593/head -> refs/pull/17593/head
* [new ref] refs/pull/17594/head -> refs/pull/17594/head
* [new ref] refs/pull/17596/head -> refs/pull/17596/head
* [new ref] refs/pull/17596/merge -> refs/pull/17596/merge
* [new ref] refs/pull/17608/head -> refs/pull/17608/head
* [new ref] refs/pull/17609/head -> refs/pull/17609/head
* [new ref] refs/pull/17611/head -> refs/pull/17611/head
* [new ref] refs/pull/17612/head -> refs/pull/17612/head
* [new ref] refs/pull/17613/head -> refs/pull/17613/head
* [new ref] refs/pull/17614/head -> refs/pull/17614/head
* [new ref] refs/pull/17617/head -> refs/pull/17617/head
* [new ref] refs/pull/17618/head -> refs/pull/17618/head
* [new ref] refs/pull/17619/head -> refs/pull/17619/head
* [new ref] refs/pull/17619/merge -> refs/pull/17619/merge
* [new ref] refs/pull/17621/head -> refs/pull/17621/head
* [new ref] refs/pull/17622/head -> refs/pull/17622/head
* [new ref] refs/pull/17624/head -> refs/pull/17624/head
* [new ref] refs/pull/17627/head -> refs/pull/17627/head
* [new ref] refs/pull/17628/head -> refs/pull/17628/head
* [new ref] refs/pull/17630/head -> refs/pull/17630/head
* [new ref] refs/pull/17630/merge -> refs/pull/17630/merge
* [new ref] refs/pull/17634/head -> refs/pull/17634/head
* [new ref] refs/pull/17640/head -> refs/pull/17640/head
* [new ref] refs/pull/17647/head -> refs/pull/17647/head
* [new ref] refs/pull/17650/head -> refs/pull/17650/head
* [new ref] refs/pull/17651/head -> refs/pull/17651/head
* [new ref] refs/pull/17653/head -> refs/pull/17653/head
* [new ref] refs/pull/17656/head -> refs/pull/17656/head
* [new ref] refs/pull/17660/head -> refs/pull/17660/head
* [new ref] refs/pull/17661/head -> refs/pull/17661/head
* [new ref] refs/pull/17663/head -> refs/pull/17663/head
* [new ref] refs/pull/17665/head -> refs/pull/17665/head
* [new ref] refs/pull/17665/merge -> refs/pull/17665/merge
* [new ref] refs/pull/17666/head -> refs/pull/17666/head
* [new ref] refs/pull/17668/head -> refs/pull/17668/head
* [new ref] refs/pull/17669/head -> refs/pull/17669/head
* [new ref] refs/pull/17670/head -> refs/pull/17670/head
* [new ref] refs/pull/17672/head -> refs/pull/17672/head
* [new ref] refs/pull/17672/merge -> refs/pull/17672/merge
* [new ref] refs/pull/17673/head -> refs/pull/17673/head
* [new ref] refs/pull/17674/head -> refs/pull/17674/head
* [new ref] refs/pull/17676/head -> refs/pull/17676/head
* [new ref] refs/pull/17678/head -> refs/pull/17678/head
* [new ref] refs/pull/17680/head -> refs/pull/17680/head
* [new ref] refs/pull/17684/head -> refs/pull/17684/head
* [new ref] refs/pull/17684/merge -> refs/pull/17684/merge
* [new ref] refs/pull/17692/head -> refs/pull/17692/head
* [new ref] refs/pull/17693/head -> refs/pull/17693/head
* [new ref] refs/pull/17694/head -> refs/pull/17694/head
* [new ref] refs/pull/17695/head -> refs/pull/17695/head
* [new ref] refs/pull/17697/head -> refs/pull/17697/head
* [new ref] refs/pull/17698/head -> refs/pull/17698/head
* [new ref] refs/pull/17698/merge -> refs/pull/17698/merge
* [new ref] refs/pull/17699/head -> refs/pull/17699/head
* [new ref] refs/pull/17699/merge -> refs/pull/17699/merge
* [new ref] refs/pull/17700/head -> refs/pull/17700/head
* [new ref] refs/pull/17701/head -> refs/pull/17701/head
* [new ref] refs/pull/17703/head -> refs/pull/17703/head
* [new ref] refs/pull/17704/head -> refs/pull/17704/head
* [new ref] refs/pull/17707/head -> refs/pull/17707/head
* [new ref] refs/pull/17711/head -> refs/pull/17711/head
* [new ref] refs/pull/17712/head -> refs/pull/17712/head
* [new ref] refs/pull/17713/head -> refs/pull/17713/head
* [new ref] refs/pull/17714/head -> refs/pull/17714/head
* [new ref] refs/pull/17717/head -> refs/pull/17717/head
* [new ref] refs/pull/17720/head -> refs/pull/17720/head
* [new ref] refs/pull/17722/head -> refs/pull/17722/head
* [new ref] refs/pull/17725/head -> refs/pull/17725/head
* [new ref] refs/pull/17726/head -> refs/pull/17726/head
* [new ref] refs/pull/17727/head -> refs/pull/17727/head
* [new ref] refs/pull/17734/head -> refs/pull/17734/head
* [new ref] refs/pull/17737/head -> refs/pull/17737/head
* [new ref] refs/pull/17738/head -> refs/pull/17738/head
* [new ref] refs/pull/17740/head -> refs/pull/17740/head
* [new ref] refs/pull/17741/head -> refs/pull/17741/head
* [new ref] refs/pull/17742/head -> refs/pull/17742/head
* [new ref] refs/pull/17742/merge -> refs/pull/17742/merge
* [new ref] refs/pull/17744/head -> refs/pull/17744/head
* [new ref] refs/pull/17746/head -> refs/pull/17746/head
* [new ref] refs/pull/17747/head -> refs/pull/17747/head
* [new ref] refs/pull/17747/merge -> refs/pull/17747/merge
* [new ref] refs/pull/17765/head -> refs/pull/17765/head
* [new ref] refs/pull/17766/head -> refs/pull/17766/head
* [new ref] refs/pull/17771/head -> refs/pull/17771/head
* [new ref] refs/pull/17775/head -> refs/pull/17775/head
* [new ref] refs/pull/17780/head -> refs/pull/17780/head
* [new ref] refs/pull/17781/head -> refs/pull/17781/head
* [new ref] refs/pull/17782/head -> refs/pull/17782/head
* [new ref] refs/pull/17783/head -> refs/pull/17783/head
* [new ref] refs/pull/17785/head -> refs/pull/17785/head
* [new ref] refs/pull/17786/head -> refs/pull/17786/head
* [new ref] refs/pull/17788/head -> refs/pull/17788/head
* [new ref] refs/pull/17789/head -> refs/pull/17789/head
* [new ref] refs/pull/17795/head -> refs/pull/17795/head
* [new ref] refs/pull/17798/head -> refs/pull/17798/head
* [new ref] refs/pull/17799/head -> refs/pull/17799/head
* [new ref] refs/pull/17800/head -> refs/pull/17800/head
* [new ref] refs/pull/17803/head -> refs/pull/17803/head
* [new ref] refs/pull/17806/head -> refs/pull/17806/head
* [new ref] refs/pull/17806/merge -> refs/pull/17806/merge
* [new ref] refs/pull/17810/head -> refs/pull/17810/head
* [new ref] refs/pull/17813/head -> refs/pull/17813/head
* [new ref] refs/pull/17813/merge -> refs/pull/17813/merge
* [new ref] refs/pull/17815/head -> refs/pull/17815/head
* [new ref] refs/pull/17815/merge -> refs/pull/17815/merge
* [new ref] refs/pull/17816/head -> refs/pull/17816/head
* [new ref] refs/pull/17817/head -> refs/pull/17817/head
* [new ref] refs/pull/17817/merge -> refs/pull/17817/merge
* [new ref] refs/pull/17818/head -> refs/pull/17818/head
* [new ref] refs/pull/17820/head -> refs/pull/17820/head
* [new ref] refs/pull/17823/head -> refs/pull/17823/head
* [new ref] refs/pull/17825/head -> refs/pull/17825/head
* [new ref] refs/pull/17826/head -> refs/pull/17826/head
* [new ref] refs/pull/17827/head -> refs/pull/17827/head
* [new ref] refs/pull/17828/head -> refs/pull/17828/head
* [new ref] refs/pull/17829/head -> refs/pull/17829/head
* [new ref] refs/pull/17830/head -> refs/pull/17830/head
* [new ref] refs/pull/17835/head -> refs/pull/17835/head
* [new ref] refs/pull/17835/merge -> refs/pull/17835/merge
* [new ref] refs/pull/17838/head -> refs/pull/17838/head
* [new ref] refs/pull/17838/merge -> refs/pull/17838/merge
* [new ref] refs/pull/17840/head -> refs/pull/17840/head
* [new ref] refs/pull/17842/head -> refs/pull/17842/head
* [new ref] refs/pull/17843/head -> refs/pull/17843/head
* [new ref] refs/pull/17843/merge -> refs/pull/17843/merge
* [new ref] refs/pull/17844/head -> refs/pull/17844/head
* [new ref] refs/pull/17846/head -> refs/pull/17846/head
* [new ref] refs/pull/17849/head -> refs/pull/17849/head
* [new ref] refs/pull/17849/merge -> refs/pull/17849/merge
* [new ref] refs/pull/17852/head -> refs/pull/17852/head
* [new ref] refs/pull/17853/head -> refs/pull/17853/head
* [new ref] refs/pull/17855/head -> refs/pull/17855/head
* [new ref] refs/pull/17860/head -> refs/pull/17860/head
* [new ref] refs/pull/17862/head -> refs/pull/17862/head
* [new ref] refs/pull/17863/head -> refs/pull/17863/head
* [new ref] refs/pull/17864/head -> refs/pull/17864/head
* [new ref] refs/pull/17864/merge -> refs/pull/17864/merge
* [new ref] refs/pull/17865/head -> refs/pull/17865/head
* [new ref] refs/pull/17865/merge -> refs/pull/17865/merge
* [new ref] refs/pull/17867/head -> refs/pull/17867/head
* [new ref] refs/pull/17867/merge -> refs/pull/17867/merge
* [new ref] refs/pull/17868/head -> refs/pull/17868/head
* [new ref] refs/pull/17874/head -> refs/pull/17874/head
* [new ref] refs/pull/17875/head -> refs/pull/17875/head
* [new ref] refs/pull/17879/head -> refs/pull/17879/head
* [new ref] refs/pull/17880/head -> refs/pull/17880/head
* [new ref] refs/pull/17881/head -> refs/pull/17881/head
* [new ref] refs/pull/17881/merge -> refs/pull/17881/merge
* [new ref] refs/pull/17882/head -> refs/pull/17882/head
* [new ref] refs/pull/17883/head -> refs/pull/17883/head
* [new ref] refs/pull/17884/head -> refs/pull/17884/head
* [new ref] refs/pull/17887/head -> refs/pull/17887/head
* [new ref] refs/pull/17888/head -> refs/pull/17888/head
* [new ref] refs/pull/17889/head -> refs/pull/17889/head
* [new ref] refs/pull/17890/head -> refs/pull/17890/head
* [new ref] refs/pull/17893/head -> refs/pull/17893/head
* [new ref] refs/pull/17895/head -> refs/pull/17895/head
* [new ref] refs/pull/17898/head -> refs/pull/17898/head
* [new ref] refs/pull/17901/head -> refs/pull/17901/head
* [new ref] refs/pull/17901/merge -> refs/pull/17901/merge
* [new ref] refs/pull/17902/head -> refs/pull/17902/head
* [new ref] refs/pull/17907/head -> refs/pull/17907/head
* [new ref] refs/pull/17908/head -> refs/pull/17908/head
* [new ref] refs/pull/17911/head -> refs/pull/17911/head
* [new ref] refs/pull/17914/head -> refs/pull/17914/head
* [new ref] refs/pull/17915/head -> refs/pull/17915/head
* [new ref] refs/pull/17915/merge -> refs/pull/17915/merge
* [new ref] refs/pull/17916/head -> refs/pull/17916/head
* [new ref] refs/pull/17916/merge -> refs/pull/17916/merge
* [new ref] refs/pull/17917/head -> refs/pull/17917/head
* [new ref] refs/pull/17918/head -> refs/pull/17918/head
* [new ref] refs/pull/17918/merge -> refs/pull/17918/merge
* [new ref] refs/pull/17919/head -> refs/pull/17919/head
* [new ref] refs/pull/17919/merge -> refs/pull/17919/merge
* [new ref] refs/pull/17920/head -> refs/pull/17920/head
* [new ref] refs/pull/17920/merge -> refs/pull/17920/merge
* [new ref] refs/pull/17921/head -> refs/pull/17921/head
* [new ref] refs/pull/17921/merge -> refs/pull/17921/merge
* [new ref] refs/pull/17924/head -> refs/pull/17924/head
* [new ref] refs/pull/17924/merge -> refs/pull/17924/merge
* [new ref] refs/pull/17926/head -> refs/pull/17926/head
* [new ref] refs/pull/17927/head -> refs/pull/17927/head
* [new ref] refs/pull/17927/merge -> refs/pull/17927/merge
* [new ref] refs/pull/17928/head -> refs/pull/17928/head
* [new ref] refs/pull/17928/merge -> refs/pull/17928/merge
* [new ref] refs/pull/17930/head -> refs/pull/17930/head
* [new ref] refs/pull/17930/merge -> refs/pull/17930/merge
* [new ref] refs/pull/17931/head -> refs/pull/17931/head
* [new ref] refs/pull/17931/merge -> refs/pull/17931/merge
* [new ref] refs/pull/17934/head -> refs/pull/17934/head
* [new ref] refs/pull/17934/merge -> refs/pull/17934/merge
* [new ref] refs/pull/17938/head -> refs/pull/17938/head
* [new ref] refs/pull/17939/head -> refs/pull/17939/head
* [new ref] refs/pull/17939/merge -> refs/pull/17939/merge
* [new ref] refs/pull/17940/head -> refs/pull/17940/head
* [new ref] refs/pull/17940/merge -> refs/pull/17940/merge
* [new ref] refs/pull/17941/head -> refs/pull/17941/head
* [new ref] refs/pull/17942/head -> refs/pull/17942/head
* [new ref] refs/pull/17942/merge -> refs/pull/17942/merge
* [new ref] refs/pull/17951/head -> refs/pull/17951/head
* [new ref] refs/pull/17951/merge -> refs/pull/17951/merge
* [new ref] refs/pull/17954/head -> refs/pull/17954/head
* [new ref] refs/pull/17955/head -> refs/pull/17955/head
* [new ref] refs/pull/17955/merge -> refs/pull/17955/merge
2682522233..634c0500ad refs/pull/8252/head -> refs/pull/8252/head
2925dba8df..380e1ca23d refs/pull/8257/head -> refs/pull/8257/head
ac633c4906..0eec96e2a7 refs/pull/9069/head -> refs/pull/9069/head
010b6c7e78..7d177adc1a refs/pull/9104/head -> refs/pull/9104/head
a39eaf6f3f..2257c16a10 refs/pull/9385/head -> refs/pull/9385/head
+ 2cab269c60...973fb45e9a refs/pull/9767/head -> refs/pull/9767/head (forced update)
* [new ref] origin/keyboard -> origin/keyboard
* [new tag] v0.24.0 -> v0.24.0
* [new tag] v0.24.0-nightly.20260115.c9d6f9b22 -> v0.24.0-nightly.20260115.c9d6f9b22
* [new tag] v0.24.0-preview.1 -> v0.24.0-preview.1
* [new tag] v0.24.0-preview.2 -> v0.24.0-preview.2
* [new tag] v0.24.0-preview.3 -> v0.24.0-preview.3
* [new tag] v0.24.4 -> v0.24.4
* [new tag] v0.24.5 -> v0.24.5
* [new tag] v0.25.0 -> v0.25.0
* [new tag] v0.25.0-nightly.20260112.15891721a -> v0.25.0-nightly.20260112.15891721a
* [new tag] v0.25.0-preview.0 -> v0.25.0-preview.0
* [new tag] v0.25.0-preview.1 -> v0.25.0-preview.1
* [new tag] v0.25.0-preview.2 -> v0.25.0-preview.2
* [new tag] v0.25.0-preview.3 -> v0.25.0-preview.3
* [new tag] v0.25.0-preview.4 -> v0.25.0-preview.4
* [new tag] v0.25.1 -> v0.25.1
* [new tag] v0.25.2 -> v0.25.2
* [new tag] v0.26.0 -> v0.26.0
* [new tag] v0.26.0-nightly.20260115.6cb3ae4e0 -> v0.26.0-nightly.20260115.6cb3ae4e0
* [new tag] v0.26.0-nightly.20260119.20580d754 -> v0.26.0-nightly.20260119.20580d754
* [new tag] v0.26.0-nightly.20260120.a90bcf749 -> v0.26.0-nightly.20260120.a90bcf749
* [new tag] v0.26.0-nightly.20260121.211d2c5fd -> v0.26.0-nightly.20260121.211d2c5fd
* [new tag] v0.26.0-preview.0 -> v0.26.0-preview.0
* [new tag] v0.26.0-preview.1 -> v0.26.0-preview.1
* [new tag] v0.26.0-preview.2 -> v0.26.0-preview.2
* [new tag] v0.26.0-preview.3 -> v0.26.0-preview.3
* [new tag] v0.26.0-preview.4 -> v0.26.0-preview.4
* [new tag] v0.26.0-preview.5 -> v0.26.0-preview.5
* [new tag] v0.27.0-nightly.20260122.61040d0eb -> v0.27.0-nightly.20260122.61040d0eb
* [new tag] v0.27.0-nightly.20260126.cb772a5b7 -> v0.27.0-nightly.20260126.cb772a5b7
* [new tag] v0.27.0-nightly.20260127.00f60ef53 -> v0.27.0-nightly.20260127.00f60ef53
* [new tag] v0.27.0-nightly.20260128.830e21275 -> v0.27.0-nightly.20260128.830e21275
* [new tag] v0.27.0-preview.0 -> v0.27.0-preview.0
* [new tag] v0.27.0-preview.1 -> v0.27.0-preview.1
* [new tag] v0.27.0-preview.2 -> v0.27.0-preview.2
* [new tag] v0.27.0-preview.3 -> v0.27.0-preview.3
* [new tag] v0.28.0-nightly.20260129.9bb175a50 -> v0.28.0-nightly.20260129.9bb175a50
* [new tag] v0.28.0-nightly.20260130.d43d772e6 -> v0.28.0-nightly.20260130.d43d772e6
[1m[32m==>[m[1m Validating source files with b2sums...[m
gemini-cli ... Passed
]3008;start=42d1fee517964c8189e288e8baccef2b;user=root;hostname=centiskorch.felixc.at;machineid=1a94f69a1f9e480395692a8eaa8e4813;bootid=037fc67a72b947529d0542dd3b1c315c;pid=754620;pidfdid=105582679;comm=systemd-nspawn;container=arch-nspawn-754620;type=container\]11;?\[22;2t]2;๐ต Container arch-nspawn-754620 on centiskorch.felixc.at\[1m[32m==>[m[1m Making package: gemini-cli 1:0.26.0-1 (Fri Jan 30 13:29:10 2026)[m
[1m[32m==>[m[1m Checking runtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...
Package (4) New Version Net Change Download Size
extra/c-ares 1.34.6-1 0.51 MiB
extra/libuv 1.51.0-1 0.60 MiB
extra/simdjson 1:4.2.4-1 6.17 MiB
extra/nodejs 25.4.0-1 55.71 MiB 14.30 MiB
Total Download Size: 14.30 MiB
Total Installed Size: 62.98 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
nodejs-25.4.0-1-riscv64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing c-ares...
installing libuv...
installing simdjson...
installing nodejs...
Optional dependencies for nodejs
npm: nodejs package manager
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[?25h[1m[32m==>[m[1m Checking buildtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...
Package (11) New Version Net Change
extra/node-gyp 12.2.0-1 7.84 MiB
extra/nodejs-nopt 7.2.1-1 0.03 MiB
extra/oniguruma 6.9.10-1 0.88 MiB
extra/perl-error 0.17030-3 0.04 MiB
extra/perl-mailtools 2.22-3 0.10 MiB
extra/perl-timedate 2.33-9 0.08 MiB
extra/semver 7.7.3-1 0.09 MiB
extra/zlib-ng 2.3.2-1 0.23 MiB
extra/git 2.52.0-2 28.75 MiB
extra/jq 1.8.1-1 0.46 MiB
extra/npm 11.7.0-1 7.17 MiB
Total Installed Size: 45.68 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing zlib-ng...
installing git...
Optional dependencies for git
git-zsh-completion: upstream zsh completion
tk: gitk and git gui
openssh: ssh transport and crypto
man: show help with `git command --help`
perl-libwww: git svn
perl-term-readkey: git svn and interactive.singlekey setting
perl-io-socket-ssl: git send-email TLS support
perl-authen-sasl: git send-email TLS support
perl-cgi: gitweb (web interface) support
python: git svn & git p4
subversion: git svn
org.freedesktop.secrets: keyring credential helper
libsecret: libsecret credential helper [installed]
less: the default pager for git
installing oniguruma...
installing jq...
installing nodejs-nopt...
installing semver...
installing node-gyp...
Optional dependencies for node-gyp
gcc: to build C++ modules [installed]
make: to build C++ modules [installed]
python: to build C++ modules
installing npm...
Optional dependencies for npm
git: for dependencies using Git URL's [installed]
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
Creating group 'git' with GID 969.
Creating user 'git' (git daemon user) with UID 969 and GID 969.
(2/4) Reloading system manager configuration...
Skipped: Current root is not booted.
(3/4) Arming ConditionNeedsUpdate...
(4/4) Checking for old perl modules...
[?25h[1m[32m==>[m[1m Retrieving sources...[m
[1m[33m==> WARNING:[m[1m Skipping all source file integrity checks.[m
[1m[32m==>[m[1m Extracting sources...[m
[1m[34m ->[m[1m Creating working copy of gemini-cli git repo...[m
Cloning into 'gemini-cli'...
done.
Switched to a new branch 'makepkg'
[1m[32m==>[m[1m Starting prepare()...[m
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
added 1374 packages, and audited 1380 packages in 2m
356 packages are looking for funding
run `npm fund` for details
9 vulnerabilities (1 low, 2 moderate, 6 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 11.7.0 -> 11.8.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.8.0
npm notice To update run: npm install -g npm@11.8.0
npm notice
[1m[32m==>[m[1m Starting build()...[m
> @google/gemini-cli@0.26.0 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @google/gemini-cli@0.26.0 generate
> node scripts/generate-git-commit-info.js
Copied 6 policy files to bundle/policies/
Copied docs to bundle/docs/
Copied built-in skills to bundle/builtin/
Assets copied to bundle/
> @google/gemini-cli@0.26.0 prepare
> husky && npm run bundle
> @google/gemini-cli@0.26.0 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @google/gemini-cli@0.26.0 generate
> node scripts/generate-git-commit-info.js
Copied 6 policy files to bundle/policies/
Copied docs to bundle/docs/
Copied built-in skills to bundle/builtin/
Assets copied to bundle/
npm notice
npm notice ๐ฆ @google/gemini-cli@0.26.0
npm notice Tarball Contents
npm notice 11.4kB LICENSE
npm notice 11.7kB README.md
npm notice 7.9kB bundle/builtin/skill-creator/scripts/init_skill.cjs
npm notice 2.8kB bundle/builtin/skill-creator/scripts/package_skill.cjs
npm notice 3.5kB bundle/builtin/skill-creator/scripts/validate_skill.cjs
npm notice 20.1kB bundle/builtin/skill-creator/SKILL.md
npm notice 3.8kB bundle/docs/architecture.md
npm notice 121.7kB bundle/docs/assets/connected_devtools.png
npm notice 61.2kB bundle/docs/assets/gemini-screenshot.png
npm notice 112.5kB bundle/docs/assets/monitoring-dashboard-logs.png
npm notice 58.9kB bundle/docs/assets/monitoring-dashboard-metrics.png
npm notice 55.8kB bundle/docs/assets/monitoring-dashboard-overview.png
npm notice 389.7kB bundle/docs/assets/release_patch.png
npm notice 129.0kB bundle/docs/assets/theme-ansi-light.png
npm notice 129.8kB bundle/docs/assets/theme-ansi.png
npm notice 131.5kB bundle/docs/assets/theme-atom-one.png
npm notice 129.1kB bundle/docs/assets/theme-ayu-light.png
npm notice 131.3kB bundle/docs/assets/theme-ayu.png
npm notice 265.5kB bundle/docs/assets/theme-custom.png
npm notice 128.3kB bundle/docs/assets/theme-default-light.png
npm notice 130.4kB bundle/docs/assets/theme-default.png
npm notice 131.3kB bundle/docs/assets/theme-dracula.png
npm notice 129.4kB bundle/docs/assets/theme-github-light.png
npm notice 131.5kB bundle/docs/assets/theme-github.png
npm notice 129.3kB bundle/docs/assets/theme-google-light.png
npm notice 128.0kB bundle/docs/assets/theme-xcode-light.png
npm notice 37.3kB bundle/docs/changelogs/index.md
npm notice 9.9kB bundle/docs/changelogs/latest.md
npm notice 13.7kB bundle/docs/changelogs/preview.md
npm notice 94.4kB bundle/docs/changelogs/releases.md
npm notice 105B bundle/docs/cli/authentication.md
npm notice 3.1kB bundle/docs/cli/checkpointing.md
npm notice 17.7kB bundle/docs/cli/commands.md
npm notice 11.6kB bundle/docs/cli/custom-commands.md
npm notice 17.8kB bundle/docs/cli/enterprise.md
npm notice 2.1kB bundle/docs/cli/gemini-ignore.md
npm notice 3.7kB bundle/docs/cli/gemini-md.md
npm notice 6.4kB bundle/docs/cli/generation-settings.md
npm notice 12.2kB bundle/docs/cli/headless.md
npm notice 2.7kB bundle/docs/cli/index.md
npm notice 8.8kB bundle/docs/cli/keyboard-shortcuts.md
npm notice 1.9kB bundle/docs/cli/model-routing.md
npm notice 3.2kB bundle/docs/cli/model.md
npm notice 4.5kB bundle/docs/cli/sandbox.md
npm notice 4.4kB bundle/docs/cli/session-management.md
npm notice 16.3kB bundle/docs/cli/settings.md
npm notice 7.5kB bundle/docs/cli/skills.md
npm notice 3.7kB bundle/docs/cli/system-prompt.md
npm notice 27.4kB bundle/docs/cli/telemetry.md
npm notice 6.1kB bundle/docs/cli/themes.md
npm notice 754B bundle/docs/cli/token-caching.md
npm notice 3.7kB bundle/docs/cli/trusted-folders.md
npm notice 2.7kB bundle/docs/cli/tutorials.md
npm notice 3.6kB bundle/docs/cli/tutorials/skills-getting-started.md
npm notice 1.3kB bundle/docs/cli/uninstall.md
npm notice 4.7kB bundle/docs/core/index.md
npm notice 6.4kB bundle/docs/core/memport.md
npm notice 9.2kB bundle/docs/core/policy-engine.md
npm notice 6.9kB bundle/docs/core/tools-api.md
npm notice 2.8kB bundle/docs/examples/proxy-script.md
npm notice 7.4kB bundle/docs/extensions/extension-releasing.md
npm notice 8.2kB bundle/docs/extensions/getting-started-extensions.md
npm notice 13.3kB bundle/docs/extensions/index.md
npm notice 6.7kB bundle/docs/faq.md
npm notice 12.0kB bundle/docs/get-started/authentication.md
npm notice 39.6kB bundle/docs/get-started/configuration-v1.md
npm notice 59.0kB bundle/docs/get-started/configuration.md
npm notice 6.4kB bundle/docs/get-started/examples.md
npm notice 3.9kB bundle/docs/get-started/gemini-3.md
npm notice 2.1kB bundle/docs/get-started/index.md
npm notice 4.7kB bundle/docs/get-started/installation.md
npm notice 19.3kB bundle/docs/hooks/best-practices.md
npm notice 17.2kB bundle/docs/hooks/index.md
npm notice 15.3kB bundle/docs/hooks/reference.md
npm notice 25.5kB bundle/docs/hooks/writing-hooks.md
npm notice 10.7kB bundle/docs/ide-integration/ide-companion-spec.md
npm notice 8.1kB bundle/docs/ide-integration/index.md
npm notice 6.5kB bundle/docs/index.md
npm notice 5.9kB bundle/docs/integration-tests.md
npm notice 6.4kB bundle/docs/issue-and-pr-automation.md
npm notice 3.7kB bundle/docs/local-development.md
npm notice 3.1kB bundle/docs/mermaid/context.mmd
npm notice 1.6kB bundle/docs/mermaid/render-path.mmd
npm notice 2.5kB bundle/docs/npm.md
npm notice 6.2kB bundle/docs/quota-and-pricing.md
npm notice 5.6kB bundle/docs/release-confidence.md
npm notice 22.9kB bundle/docs/releases.md
npm notice 6.1kB bundle/docs/sidebar.json
npm notice 10.1kB bundle/docs/tools/file-system.md
npm notice 4.8kB bundle/docs/tools/index.md
npm notice 32.9kB bundle/docs/tools/mcp-server.md
npm notice 1.6kB bundle/docs/tools/memory.md
npm notice 7.9kB bundle/docs/tools/shell.md
npm notice 2.1kB bundle/docs/tools/todos.md
npm notice 2.0kB bundle/docs/tools/web-fetch.md
npm notice 1.1kB bundle/docs/tools/web-search.md
npm notice 6.3kB bundle/docs/tos-privacy.md
npm notice 9.6kB bundle/docs/troubleshooting.md
npm notice 23.2MB bundle/gemini.js
npm notice 1.5kB bundle/policies/agent.toml
npm notice 254B bundle/policies/discovered.toml
npm notice 2.1kB bundle/policies/plan.toml
npm notice 1.8kB bundle/policies/read-only.toml
npm notice 2.2kB bundle/policies/write.toml
npm notice 1.5kB bundle/policies/yolo.toml
npm notice 1.0kB bundle/sandbox-macos-permissive-closed.sb
npm notice 890B bundle/sandbox-macos-permissive-open.sb
npm notice 1.3kB bundle/sandbox-macos-permissive-proxied.sb
npm notice 3.3kB bundle/sandbox-macos-restrictive-closed.sb
npm notice 3.4kB bundle/sandbox-macos-restrictive-open.sb
npm notice 3.6kB bundle/sandbox-macos-restrictive-proxied.sb
npm notice 6.4kB package.json
npm notice Bundled Dependencies
npm notice node-pty
npm notice minimist
npm notice tar-fs
npm notice config-chain
npm notice @alcalzone/ansi-tokenize
npm notice @kwsites/file-exists
npm notice @kwsites/promise-deferred
npm notice @lydell/node-pty
npm notice @pnpm/network.ca-file
npm notice @pnpm/npm-conf
npm notice ansi-escapes
npm notice ansi-regex
npm notice auto-bind
npm notice base64-js
npm notice buffer
npm notice cli-boxes
npm notice cli-cursor
npm notice cli-truncate
npm notice code-excerpt
npm notice convert-to-spaces
npm notice debug
npm notice decompress-response
npm notice deep-extend
npm notice detect-libc
npm notice end-of-stream
npm notice environment
npm notice es-toolkit
npm notice expand-template
npm notice fs-constants
npm notice get-east-asian-width
npm notice github-from-package
npm notice ieee754
npm notice indent-string
npm notice inherits
npm notice ini
npm notice ink
npm notice ky
npm notice latest-version
npm notice mimic-fn
npm notice mkdirp-classic
npm notice napi-build-utils
npm notice node-abi
npm notice once
npm notice onetime
npm notice package-json
npm notice patch-console
npm notice prebuild-install
npm notice proto-list
npm notice pump
npm notice rc
npm notice react-reconciler
npm notice readable-stream
npm notice registry-auth-token
npm notice registry-url
npm notice restore-cursor
npm notice safe-buffer
npm notice scheduler
npm notice semver
npm notice simple-concat
npm notice simple-get
npm notice slice-ansi
npm notice stack-utils
npm notice string_decoder
npm notice strip-ansi
npm notice tar-stream
npm notice tunnel-agent
npm notice util-deprecate
npm notice wrap-ansi
npm notice wrappy
npm notice ws
npm notice node-addon-api
npm notice keytar
npm notice yoga-layout
npm notice nan
npm notice mnemonist
npm notice bl
npm notice obliterator
npm notice @pnpm/config.env-replace
npm notice ms
npm notice simple-git
npm notice Tarball Details
npm notice name: @google/gemini-cli
npm notice version: 0.26.0
npm notice filename: google-gemini-cli-0.26.0.tgz
npm notice package size: 8.8 MB
npm notice unpacked size: 37.2 MB
npm notice shasum: a98366681d78bb333e5ea5ea8ee2c4d0c9b0ee1d
npm notice integrity: sha512-FzLTUQdLaRvju[...]UyTwemwOx5IZA==
npm notice bundled deps: 80
npm notice bundled files: 0
npm notice own files: 4489
npm notice total files: 4489
npm notice
google-gemini-cli-0.26.0.tgz
[1m[32m==>[m[1m Starting check()...[m
> @google/gemini-cli@0.26.0 build
> node scripts/build.js
> @google/gemini-cli@0.26.0 generate
> node scripts/generate-git-commit-info.js
> @google/gemini-cli-a2a-server@0.26.0 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli@0.26.0 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli-core@0.26.0 build
> node ../../scripts/build_package.js
Successfully copied files.
Copied documentation to dist/docs
> @google/gemini-cli-test-utils@0.26.0 build
> node ../../scripts/build_package.js
Successfully copied files.
> gemini-cli-vscode-ide-companion@0.26.0 build
> npm run build:dev
> gemini-cli-vscode-ide-companion@0.26.0 build:dev
> npm run check-types && npm run lint && node esbuild.js
> gemini-cli-vscode-ide-companion@0.26.0 check-types
> tsc --noEmit
> gemini-cli-vscode-ide-companion@0.26.0 lint
> eslint src
[watch] build started
[watch] build finished
> @google/gemini-cli@0.26.0 test
> npm run test --workspaces --if-present --exclude=**/BuiltinCommandLoader.test.ts --exclude=**/config.integration.test.ts --exclude=**/mcp-client.test.ts
npm warn Unknown cli config "--exclude". This will stop working in the next major version of npm.
> @google/gemini-cli-a2a-server@0.26.0 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/a2a-server
Coverage enabled with v8
(node:1820) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/config.test.ts (2 tests) 175ms
(node:1831) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1869) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1825) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1837) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1844) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1818) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1817) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1867) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1839) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/command-registry.test.ts (6 tests) 58ms
โ src/commands/extensions.test.ts (8 tests) 52ms
โ src/commands/memory.test.ts (7 tests) 86ms
โ src/config/settings.test.ts (6 tests) 63ms
โ src/http/endpoints.test.ts (5 tests) 561ms
โ Agent Server Endpoints > should create a new task via POST /tasks 310ms
โ src/persistence/gcs.test.ts (12 tests) 327ms
โ src/commands/restore.test.ts (6 tests) 65ms
โ src/agent/task.test.ts (17 tests) 564ms
(node:1818) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/commands/init.test.ts (5 tests) 211ms
โ src/http/app.test.ts (20 tests) 1206ms
โ E2E Tests > should create a new task and stream status updates (text-content) via POST / 384ms
Test Files 11 passed (11)
Tests 94 passed (94)
Start at 13:40:30
Duration 30.82s (transform 15.80s, setup 0ms, collect 210.30s, tests 3.37s, environment 25ms, prepare 13.63s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/a2a-server/junit.xml
% Coverage report from v8
> @google/gemini-cli@0.26.0 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/cli
Coverage enabled with v8
โ src/ui/keyMatchers.test.ts (55 tests) 297ms
(node:3412) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3533) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3708) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3483) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3377) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4066) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3717) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3550) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3425) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3686) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3733) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3794) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3445) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3351) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3780) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3616) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3640) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3628) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3847) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3384) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3822) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3525) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3911) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3365) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4046) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3490) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3396) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3553) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4053) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3436) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3506) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3770) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3607) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3462) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3667) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3514) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3429) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4044) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4055) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3420) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4069) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3866) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3880) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3900) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3352) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3750) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3449) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3582) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3517) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3403) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3468) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3678) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3840) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3358) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3565) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3456) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3371) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3476) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3697) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3359) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3522) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4632) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3405) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/installationInfo.test.ts (17 tests) 177ms
stderr | src/ui/utils/commandUtils.test.ts > commandUtils > getUrlOpenCommand > on unmatched OS > should return xdg-open
Unknown platform: unmatched. Attempting to open URLs with: xdg-open.
โ src/ui/utils/commandUtils.test.ts (30 tests) 499ms
โ src/ui/utils/rewindFileOps.test.ts (9 tests) 159ms
โ src/services/McpPromptLoader.test.ts (31 tests) 279ms
โ src/config/extensions/extensionEnablement.test.ts (48 tests) 405ms
โ src/utils/errors.test.ts (29 tests) 481ms
โ src/utils/sessions.test.ts (17 tests) 339ms
โ src/utils/sandbox.test.ts (7 tests) 314ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-O33fev/node_modules/package.json
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-QraZOF/.env
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-06dnZS/.git/config
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands
Ignored 1 files:
Gemini-ignored: /tmp/folder-structure-test-KQ8xHN/build/output.js
โ src/utils/sessionCleanup.test.ts (70 tests) 1119ms
โ src/utils/handleAutoUpdate.test.ts (19 tests) 269ms
โ src/config/settingsSchema.test.ts (22 tests) 255ms
โ src/utils/settingsUtils.test.ts (73 tests) 373ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files
Ignored 1 files:
Gemini-ignored: /tmp/folder-structure-test-1DOjGX/dist/bundle.js
โ src/utils/sessionUtils.test.ts (20 tests) 335ms
โ src/config/settings-validation.test.ts (25 tests) 183ms
โ src/config/extensions/consent.test.ts (20 tests) 335ms
โ src/config/trustedFolders.test.ts (23 tests) 219ms
โ src/config/extensions/extensionSettings.test.ts (23 tests) 570ms
stderr | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable
[
[32m"Error reading resource resource://server-1/logs: MCP client for server 'server-1' is not available or not connected."[39m
]
โ src/ui/hooks/atCommandProcessor.test.ts (45 tests) 3534ms
โ handleAtCommand > should process a valid text file path 570ms
โ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 333ms
โ src/config/extensions/github.test.ts (33 tests) 538ms
(node:3550) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [EventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/utils/commentJson.test.ts (12 tests) 254ms
โ src/config/settings.test.ts (64 tests) 1566ms
stderr | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should authenticate correctly
Failed to clear cached credentials: Error: ENOENT: no such file or directory, open '/build/.gemini/google_accounts.json'
[90m at open (node:internal/fs/promises:636:25)[39m
[90m at Object.writeFile (node:internal/fs/promises:1239:14)[39m
at UserAccountManager.clearCachedGoogleAccount (/build/gemini-cli/src/gemini-cli/packages/core/src/utils/userAccountManager.ts:142:5)
at clearCachedCredentialFile (/build/gemini-cli/src/gemini-cli/packages/core/src/code_assist/oauth2.ts:656:5)
at GeminiAgent.authenticate [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/zed-integration/zedIntegration.ts:129:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/zed-integration/zedIntegration.test.ts:136:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20 {
errno: [33m-2[39m,
code: [32m'ENOENT'[39m,
syscall: [32m'open'[39m,
path: [32m'/build/.gemini/google_accounts.json'[39m
}
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=run_shell_command, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: allowed-server__tool1, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=allowed-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: allowed-server__another_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=allowed-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: trusted-server__tool1, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: trusted-server__special_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: blocked-server__tool1, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: blocked-server__any_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: unknown-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should create a new session
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should create a new session with mcp servers
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should handle authentication failure gracefully
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
โ src/ui/commands/memoryCommand.test.ts (11 tests) 402ms
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should correctly prioritize specific tool excludes over MCP server wildcards
[PolicyEngine.check] toolCall.name: my-server__safe-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should correctly prioritize specific tool excludes over MCP server wildcards
[PolicyEngine.check] toolCall.name: my-server__dangerous-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__dangerous-tool, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: read_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=read_file, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: list_directory, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=list_directory, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: glob, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=glob, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: custom-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=custom-tool, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: my-server__special-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__special-tool, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: allowed-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=allowed-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: trusted-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/commands/mcp/add.test.ts > mcp add command > should add a stdio server to project settings
MCP server "my-server" added to project settings. (stdio)
(node:4678) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should initialize file system service if client supports it
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should cancel a session
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should delegate prompt to session
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: blocked-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=allow, priority=1.999, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=allow, priority=1.999, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=allow, priority=1.999, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: dangerous-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=dangerous-tool, decision=deny, priority=2.4, argsPattern=none
stdout | src/commands/mcp/add.test.ts > mcp add command > should handle multiple env vars before positional args
MCP server "my-server" added to project settings. (stdio)
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle AUTO_EDIT mode correctly
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=allow, priority=1.015, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle AUTO_EDIT mode correctly
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=allow, priority=1.015, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle AUTO_EDIT mode correctly
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=run_shell_command, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an sse server to user settings
MCP server "sse-server" added to user settings. (sse)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an http server to project settings
MCP server "http-server" added to project settings. (http)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an sse server using --type alias
MCP server "sse-server" added to user settings. (sse)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an http server using --type alias
MCP server "http-server" added to project settings. (http)
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: read_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=read_file, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: google_web_search, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=google_web_search, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: list_directory, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=list_directory, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: blocked-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-tool, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: blocked-server__any, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: specific-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=specific-tool, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: trusted-server__any, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: mcp-server__any, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=mcp-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: glob, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=glob, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle edge case: MCP server with both trust and exclusion
[PolicyEngine.check] toolCall.name: conflicted-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=conflicted-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle edge case: specific tool allowed but server excluded
[PolicyEngine.check] toolCall.name: my-server__special-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle edge case: specific tool allowed but server excluded
[PolicyEngine.check] toolCall.name: my-server__other-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify non-interactive mode transformation
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify non-interactive mode transformation
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=run_shell_command, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/commands/mcp/add.test.ts > mcp add command > should handle MCP server args with -- separator
MCP server "my-server" added to project settings. (stdio)
(node:4699) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4798) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
TEST: calling prompt
TEST: waiting for streamStarted
TEST: asyncStream started
TEST: waiting for read
TEST: streamStarted
TEST: cancelled
TEST: stream closed
TEST: read returned done=true
TEST: releasing lock
TEST: result received {"stopReason":"cancelled"}
stdout | src/commands/mcp/add.test.ts > mcp add command > should handle unknown options as MCP server args
MCP server "test-server" added to project settings. (stdio)
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle empty settings gracefully
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle empty settings gracefully
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle empty settings gracefully
[PolicyEngine.check] toolCall.name: unknown, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stderr | src/zed-integration/zedIntegration.test.ts > Session > should ignore files based on configuration
Path ignored.txt is ignored and will be skipped.
No valid file paths found in @ commands to read.
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a project directory > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
โ src/zed-integration/zedIntegration.test.ts (20 tests) 807ms
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a project directory > should use project scope when --scope=project is used
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a project directory > should use user scope when --scope=user is used
MCP server "test-server" added to user settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a subdirectory of a project > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
โ src/commands/hooks/migrate.test.ts (17 tests) 379ms
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in the home directory > should use user scope when --scope=user is used
MCP server "test-server" added to user settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a subdirectory of home (not a project) > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a subdirectory of home (not a project) > should write to the WORKSPACE scope, not the USER scope
MCP server "my-new-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when outside of home (not a project) > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
โ src/validateNonInterActiveAuth.test.ts (17 tests) 369ms
(node:3717) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
stdout | src/commands/mcp/add.test.ts > mcp add command > when updating an existing server > should update the existing server in the project scope
MCP server "existing-server" is already configured within project settings.
MCP server "existing-server" updated in project settings.
stdout | src/commands/mcp/add.test.ts > mcp add command > when updating an existing server > should update the existing server in the user scope
MCP server "existing-server" is already configured within user settings.
MCP server "existing-server" updated in user settings.
โ src/commands/mcp/add.test.ts (20 tests) 1496ms
โ mcp add command > should add a stdio server to project settings 369ms
(node:4753) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/policy-engine.integration.test.ts (13 tests) 839ms
(node:4897) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4891) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4903) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4884) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/hooksCommand.test.ts (34 tests) 1261ms
(node:4677) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/skillsCommand.test.ts (18 tests) 864ms
(node:5018) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5017) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/services/FileCommandLoader.test.ts (40 tests) 4194ms
โ FileCommandLoader > loads a single command from a file 415ms
โ FileCommandLoader > Extension Command Loading > correctly loads extensionId for extension commands 320ms
(node:4748) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4683) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4752) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:3377) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4885) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:4799) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/commands/extensionsCommand.test.ts > extensionsCommand > link > should show error message for invalid source
Failed to stat path "test-extension-package": invalid path
(node:4931) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/extensionsCommand.test.ts (49 tests) 1091ms
โ src/ui/commands/chatCommand.test.ts (33 tests) 853ms
โ src/ui/utils/terminalCapabilityManager.test.ts (14 tests) 211ms
(node:5120) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:5120) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:5120) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4877) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/services/prompt-processors/shellProcessor.test.ts (34 tests) 839ms
โ src/ui/commands/directoryCommand.test.tsx (18 tests) 269ms
โ src/config/extension.test.ts (76 tests) 3655ms
โ src/nonInteractiveCli.test.ts (35 tests) 1679ms
โ runNonInteractive > should handle cancellation (Ctrl+C) 447ms
(node:5119) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5057) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5199) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5084) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5200) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5106) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5105) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/usePermissionsModifyTrust.test.ts (13 tests) 405ms
โ src/ui/contexts/ScrollProvider.test.tsx (9 tests) 520ms
โ ScrollProvider > Event Handling Status > returns true when scroll event is handled 310ms
โ src/ui/hooks/useAutoAcceptIndicator.test.ts (17 tests) 768ms
โ src/ui/hooks/useQuotaAndFallback.test.ts (18 tests) 811ms
โ useQuotaAndFallback > should register a fallback handler on initialization 300ms
(node:3522) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/ui/hooks/useSelectionList.test.tsx (47 tests) 1150ms
(node:5185) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5186) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5315) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useSessionResume.test.ts (12 tests) 522ms
โ src/ui/contexts/KeypressContext.test.tsx (98 tests) 2206ms
(node:5270) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/auth/AuthDialog.test.tsx > AuthDialog > handleAuthSelect > exits process for Login with Google when browser is suppressed
An update to AuthDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should submit tool responses when all tool calls are completed and ready
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should handle all tool calls being cancelled
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should stop agent execution immediately when a tool call returns STOP_EXECUTION error
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
โ src/ui/hooks/useSlashCompletion.test.ts (25 tests) 1625ms
โ useSlashCompletion > Top-Level Commands > should suggest all top-level commands for the root slash 516ms
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should group multiple cancelled tool call responses into a single history entry
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should not flicker streaming state to Idle between tool completion and submission
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
โ src/ui/hooks/shellCommandProcessor.test.tsx (20 tests) 802ms
(node:5290) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/auth/AuthDialog.test.tsx (24 tests) 3654ms
โ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'in Cloud Shell' 742ms
โ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'with GEMINI_CLI_USE_COMPUTE_ADC' 316ms
(node:3352) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 retry-attempt listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:5376) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > Memory Refresh on save_memory > should call performMemoryRefresh when a save_memory tool call completes successfully
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
โ src/ui/hooks/usePhraseCycler.test.tsx (13 tests) 1413ms
โ usePhraseCycler > should initialize with a witty phrase when not active and not waiting 438ms
(node:5375) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/slashCommandProcessor.test.tsx (34 tests) 2513ms
โ useSlashCommandProcessor > Console Clear Safety > should not call console.clear if alternate buffer is active 427ms
(node:5321) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5314) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should flush pending text rationale before scheduling tool calls to ensure correct history order
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/hooks/vim.test.tsx (87 tests) 4879ms
โ useVim hook > Mode switching > should start in NORMAL mode 313ms
โ src/ui/hooks/useGeminiStream.test.tsx (63 tests) 4245ms
stderr | src/ui/hooks/useCommandCompletion.test.tsx
React has detected a change in the order of Hooks called by TestComponent. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks
Previous render Next render
------------------------------------------------------
1. useMemo useMemo
2. useReducer useReducer
3. useMemo useMemo
4. useMemo useMemo
5. useState useState
6. useEffect useEffect
7. useEffect useEffect
8. useEffect useEffect
9. useCallback useCallback
10. useCallback useCallback
11. useCallback useCallback
12. useCallback useCallback
13. useCallback useCallback
14. useCallback useCallback
15. useCallback useCallback
16. useCallback useCallback
17. useCallback useCallback
18. useCallback useCallback
19. useCallback useCallback
20. useCallback useCallback
21. useCallback useCallback
22. useCallback useCallback
23. useCallback useCallback
24. useCallback useCallback
25. useCallback useCallback
26. useCallback useCallback
27. useCallback useCallback
28. useCallback useCallback
29. useCallback useCallback
30. useCallback useCallback
31. useCallback useCallback
32. useCallback useCallback
33. useCallback useCallback
34. useCallback useCallback
35. useCallback useCallback
36. useCallback useCallback
37. useCallback useCallback
38. useCallback useCallback
39. useCallback useCallback
40. useCallback useCallback
41. useCallback useCallback
42. useCallback useCallback
43. useCallback useCallback
44. useCallback useCallback
45. useCallback useCallback
46. useCallback useCallback
47. useCallback useCallback
48. useCallback useCallback
49. useCallback useCallback
50. useCallback useCallback
51. useCallback useCallback
52. useCallback useCallback
53. useCallback useCallback
54. useCallback useCallback
55. useMemo useMemo
56. useCallback useCallback
57. useCallback useCallback
58. useCallback useCallback
59. useCallback useCallback
60. useCallback useCallback
61. useMemo useMemo
62. useState useState
63. useState useState
64. useState useState
65. useState useState
66. useState useState
67. useState useState
68. useCallback useCallback
69. useCallback useCallback
70. useCallback useCallback
71. useMemo useMemo
72. useEffect useState
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/hooks/useCommandCompletion.test.tsx (27 tests) 1802ms
โ useCommandCompletion > Core Hook Behavior > State Management > should initialize with default state 489ms
โ src/ui/components/StatsDisplay.test.tsx (14 tests) 2583ms
โ > renders only the Performance section in its zero state 688ms
โ > renders a table with two models correctly 302ms
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/utils/envVarResolver.test.ts (16 tests) 129ms
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5389) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useToolScheduler.test.ts (23 tests) 1363ms
โ useReactToolScheduler in YOLO Mode > should skip confirmation and execute tool directly when yoloMode is true 455ms
โ useReactToolScheduler > should handle live output updates 431ms
(node:5435) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5462) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5502) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/services/prompt-processors/injectionParser.test.ts (21 tests) 190ms
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/components/Composer.test.tsx (21 tests) 1802ms
โ Composer > Footer Display Settings > renders Footer by default when hideFooter is false 544ms
โฏ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests | 10 failed) 10893ms
โ BaseSelectionList > Rendering and Structure > should render all items using the renderItem prop 609ms
โ BaseSelectionList > Rendering and Structure > should render the selection indicator (โ or space) and layout 120ms
โ BaseSelectionList > Rendering and Structure > should handle an empty list gracefully 36ms
โ BaseSelectionList > useSelectionList Integration > should pass props correctly to useSelectionList 144ms
โ BaseSelectionList > useSelectionList Integration > should use the activeIndex returned by the hook 135ms
โ BaseSelectionList > Styling and Colors > should apply success color to the selected item 131ms
โ BaseSelectionList > Styling and Colors > should apply primary color to unselected, enabled items 115ms
โ BaseSelectionList > Styling and Colors > should apply secondary color to disabled items (when not selected) 130ms
โ BaseSelectionList > Styling and Colors > should apply success color to disabled items if they are selected 94ms
โ BaseSelectionList > Numbering (showNumbers) > should show numbers by default with correct formatting 108ms
โ BaseSelectionList > Numbering (showNumbers) > should hide numbers when showNumbers is false 94ms
โ BaseSelectionList > Numbering (showNumbers) > should apply correct padding for alignment in long lists 422ms
โ BaseSelectionList > Numbering (showNumbers) > should apply secondary color to numbers if showNumbers is false (internal logic check) 116ms
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially 288ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll down when activeIndex moves beyond the visible window 1255ms
โ expected ' 2. I\n t\n e\n m\n โฆ' to contain 'Item 2'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll up when activeIndex moves before the visible window 1264ms
โ expected ' 3. I\n t\n e\n m\n โฆ' to contain 'Item 3'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should pin the scroll offset to the end if selection starts near the end 1256ms
โ expected ' 8. I\n t\n e\n m\n โฆ' to contain 'Item 10'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes 147ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
โ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item within the visible window 111ms
โ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item when scrolled (high index) 148ms
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length 282ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
โ BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows by default 96ms
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top) 1223ms
โ expected 'โฒ\nโ 1. I\n t\n e\n mโฆ' to contain 'Item 1'
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the middle 1207ms
โ expected 'โฒ\n 4. I\n t\n e\n mโฆ' to contain 'Item 4'
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the end 1200ms
โ expected 'โฒ\n 8. I\n t\n e\n mโฆ' to contain 'Item 8'
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show both arrows dimmed when list fits entirely 141ms
โ expected 'โฒ\nโ 1. I\n t\n e\n m\n โฆ' to contain 'Item A'
(node:3750) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-client-update listeners added to [EventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5547) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5463) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5650) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5591) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5651) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/utils/computeStats.test.ts (12 tests) 108ms
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5503) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/state/extensions.test.ts (15 tests) 113ms
(node:5590) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/utils/highlight.test.ts (21 tests) 155ms
(node:5721) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5694) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5858) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5714) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > enum values > 'toggles to next value'
[DEBUG SettingsDialog] Saving ui.theme immediately with value: baz
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end'
[DEBUG SettingsDialog] Saving ui.theme immediately with value: foo
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > should handle vim mode setting specially
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
(node:5890) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5838) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5775) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx (19 tests | 6 failed) 6269ms
โ > Golden Snapshots > renders single successful tool call 1044ms
โ > Golden Snapshots > renders multiple tool calls with different statuses 582ms
ร > Golden Snapshots > renders tool call awaiting confirmation 543ms
โ Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched
โ > Golden Snapshots > renders shell command with yellow border 214ms
โ > Golden Snapshots > renders mixed tool calls including shell command 429ms
ร > Golden Snapshots > renders with limited terminal height 339ms
โ Snapshot ` > Golden Snapshots > renders with limited terminal height 1` mismatched
โ > Golden Snapshots > renders when not focused 153ms
โ > Golden Snapshots > renders with narrow terminal width 180ms
โ > Golden Snapshots > renders empty tool calls array 32ms
โ > Golden Snapshots > renders header when scrolled 321ms
โ > Golden Snapshots > renders tool call with outputFile 187ms
โ > Golden Snapshots > renders two tool groups where only the last line of the previous group is visible 322ms
โ > Border Color Logic > uses yellow border when tools are pending 155ms
โ > Border Color Logic > uses yellow border for shell commands even when successful 154ms
โ > Border Color Logic > uses gray border when all tools are successful and no shell commands 264ms
ร > Height Calculation > calculates available height correctly with multiple tools with results 340ms
โ Snapshot ` > Height Calculation > calculates available height correctly with multiple tools with results 1` mismatched
ร > Confirmation Handling > shows confirmation dialog for first confirming tool only 329ms
โ Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched
ร > Confirmation Handling > renders confirmation with permanent approval enabled 363ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Allow for all future sessions'
ร > Confirmation Handling > renders confirmation with permanent approval disabled 299ms
โ Snapshot ` > Confirmation Handling > renders confirmation with permanent approval disabled 1` mismatched
(node:5859) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5905) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/services/CommandService.test.ts (11 tests) 204ms
(node:5943) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:5963) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/themes/color-utils.test.ts > Color Utils > resolveColor > should return undefined for invalid colors
[ColorUtils] Could not resolve color "invalidcolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "notacolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "" to an Ink-compatible format.
stderr | src/ui/themes/color-utils.test.ts > Color Utils > Consistency between validation and resolution > should have consistent behavior between isValidColor and resolveColor
[ColorUtils] Could not resolve color "invalidcolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "notacolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "" to an Ink-compatible format.
โ src/ui/themes/color-utils.test.ts (27 tests) 233ms
stdout | src/ui/commands/setupGithubCommand.test.ts > setupGithubCommand > throws an error when download fails
Failed to download required setup files: Error: Invalid response code downloading https://raw.githubusercontent.com/google-github-actions/run-gemini-cli/refs/tags/v1.2.3/examples/workflows/gemini-dispatch/gemini-dispatch.yml: 404 - Not Found
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:131:17
at async Promise.all (index 0)
at downloadFiles [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:158:3[90m)[39m
at async Promise.all (index 0)
at downloadSetupFiles [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:184:5[90m)[39m
at Object.action [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:240:5[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.test.ts:216:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20
stdout | src/ui/commands/setupGithubCommand.test.ts > updateGitignore > handles file system errors gracefully
Failed to update .gitignore: Error: ENOENT: no such file or directory, open '/tmp/update-gitignore-Ow6fjQ/non-existent/.gitignore'
[90m at open (node:internal/fs/promises:636:25)[39m
[90m at Object.writeFile (node:internal/fs/promises:1239:14)[39m
at Module.updateGitignore [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:82:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.test.ts:319:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20 {
errno: [33m-2[39m,
code: [32m'ENOENT'[39m,
syscall: [32m'open'[39m,
path: [32m'/tmp/update-gitignore-Ow6fjQ/non-existent/.gitignore'[39m
}
โ src/ui/commands/setupGithubCommand.test.ts (10 tests) 570ms
โ src/ui/utils/directoryUtils.test.ts (17 tests | 1 skipped) 116ms
โ src/config/extensions/update.test.ts (10 tests) 199ms
โ src/utils/relaunch.test.ts (8 tests) 270ms
โฏ src/ui/components/shared/text-buffer.test.ts (193 tests | 2 failed) 28663ms
โ textBufferReducer > should return the initial state if state is undefined 56ms
โ textBufferReducer > set_text action > should set new text and move cursor to the end 23ms
โ textBufferReducer > set_text action > should not create an undo snapshot if pushToUndo is false 6ms
โ textBufferReducer > insert action > should insert a character 10ms
โ textBufferReducer > insert action > should insert a newline 6ms
โ textBufferReducer > insert action with options > should filter input using inputFilter option 6ms
โ textBufferReducer > insert action with options > should strip newlines when singleLine option is true 6ms
โ textBufferReducer > insert action with options > should apply both inputFilter and singleLine options 6ms
โ textBufferReducer > backspace action > should remove a character 7ms
โ textBufferReducer > backspace action > should join lines if at the beginning of a line 7ms
โ textBufferReducer > undo/redo actions > should undo and redo a change 16ms
โ textBufferReducer > create_undo_snapshot action > should create a snapshot without changing state 8ms
โ textBufferReducer > delete_word_left action > should delete 'simple word' 16ms
โ textBufferReducer > delete_word_left action > should delete 'path segment' 7ms
โ textBufferReducer > delete_word_left action > should delete 'variable_name parts' 11ms
โ textBufferReducer > delete_word_left action > should act like backspace at the beginning of a line 7ms
โ textBufferReducer > delete_word_right action > should delete 'simple word' 8ms
โ textBufferReducer > delete_word_right action > should delete 'variable_name parts' 9ms
โ textBufferReducer > delete_word_right action > should delete path segments progressively 13ms
โ textBufferReducer > delete_word_right action > should act like delete at the end of a line 9ms
โ useTextBuffer > Initialization > should initialize with empty text and cursor at (0,0) by default 235ms
โ useTextBuffer > Initialization > should initialize with provided initialText 21ms
โ useTextBuffer > Initialization > should initialize with initialText and initialCursorOffset 27ms
โ useTextBuffer > Initialization > should wrap visual lines 17ms
โ useTextBuffer > Initialization > should wrap visual lines with multiple spaces 18ms
โ useTextBuffer > Initialization > should wrap visual lines even without spaces 18ms
โ useTextBuffer > Initialization > should initialize with multi-byte unicode characters and correct cursor offset 231ms
โ useTextBuffer > Basic Editing > insert: should insert a character and update cursor 33ms
โ useTextBuffer > Basic Editing > insert: should insert text in the middle of a line 28ms
โ useTextBuffer > Basic Editing > newline: should create a new line and move cursor 32ms
โ useTextBuffer > Basic Editing > backspace: should delete char to the left or merge lines 39ms
โ useTextBuffer > Basic Editing > del: should delete char to the right or merge lines 28ms
โ useTextBuffer > Drag and Drop File Paths > should prepend @ to a valid file path on insert 28ms
โ useTextBuffer > Drag and Drop File Paths > should not prepend @ to an invalid file path on insert 25ms
โ useTextBuffer > Drag and Drop File Paths > should handle quoted paths 30ms
โ useTextBuffer > Drag and Drop File Paths > should not prepend @ to short text that is not a path 15ms
โ useTextBuffer > Drag and Drop File Paths > should prepend @ to multiple valid file paths on insert 24ms
โ useTextBuffer > Drag and Drop File Paths > should handle multiple paths with escaped spaces 21ms
โ useTextBuffer > Drag and Drop File Paths > should only prepend @ to valid paths in multi-path paste 20ms
โ useTextBuffer > Shell Mode Behavior > should not prepend @ to valid file paths when shellModeActive is true 19ms
โ useTextBuffer > Shell Mode Behavior > should not prepend @ to quoted paths when shellModeActive is true 18ms
โ useTextBuffer > Shell Mode Behavior > should behave normally with invalid paths when shellModeActive is true 19ms
โ useTextBuffer > Shell Mode Behavior > should behave normally with short text when shellModeActive is true 17ms
โ useTextBuffer > Cursor Movement > move: left/right should work within and across visual lines (due to wrapping) 40ms
โ useTextBuffer > Cursor Movement > move: up/down should preserve preferred visual column 43ms
โ useTextBuffer > Cursor Movement > move: home/end should go to visual line start/end 38ms
โ useTextBuffer > Visual Layout & Viewport > should wrap long lines correctly into visualLines 17ms
โ useTextBuffer > Visual Layout & Viewport > should update visualScrollRow when visualCursor moves out of viewport 51ms
โ useTextBuffer > Undo/Redo > should undo and redo an insert operation 23ms
โ useTextBuffer > Undo/Redo > should undo and redo a newline operation 26ms
โ useTextBuffer > Unicode Handling > insert: should correctly handle multi-byte unicode characters 19ms
โ useTextBuffer > Unicode Handling > backspace: should correctly delete multi-byte unicode characters 22ms
โ useTextBuffer > Unicode Handling > move: left/right should treat multi-byte chars as single units for visual cursor 29ms
โ useTextBuffer > Unicode Handling > moveToVisualPosition: should correctly handle wide characters (Chinese) 33ms
โ useTextBuffer > handleInput > should insert printable characters 100ms
โ useTextBuffer > handleInput > should handle "Enter" key as newline 19ms
โ useTextBuffer > handleInput > should handle Ctrl+J as newline 17ms
โ useTextBuffer > handleInput > should do nothing for a tab key press 14ms
โ useTextBuffer > handleInput > should do nothing for a shift tab key press 13ms
โ useTextBuffer > handleInput > should handle "Backspace" key 17ms
โ useTextBuffer > handleInput > should handle multiple delete characters in one input 22ms
โ useTextBuffer > handleInput > should handle inserts that contain delete characters 23ms
โ useTextBuffer > handleInput > should handle inserts with a mix of regular and delete characters 20ms
โ useTextBuffer > handleInput > should handle arrow keys for movement 20ms
โ useTextBuffer > handleInput > should strip ANSI escape codes when pasting text 16ms
โ useTextBuffer > handleInput > should handle VSCode terminal Shift+Enter as newline 15ms
โ useTextBuffer > handleInput > should correctly handle repeated pasting of long text 207ms
โ useTextBuffer > replaceRange > should replace a single-line range with single-line text 20ms
โ useTextBuffer > replaceRange > should replace a multi-line range with single-line text 16ms
โ useTextBuffer > replaceRange > should delete a range when replacing with an empty string 17ms
โ useTextBuffer > replaceRange > should handle replacing at the beginning of the text 16ms
โ useTextBuffer > replaceRange > should handle replacing at the end of the text 16ms
โ useTextBuffer > replaceRange > should handle replacing the entire buffer content 15ms
โ useTextBuffer > replaceRange > should correctly replace with unicode characters 15ms
โ useTextBuffer > replaceRange > should handle invalid range by returning false and not changing text 18ms
โ useTextBuffer > replaceRange > replaceRange: multiple lines with a single character 15ms
โ useTextBuffer > replaceRange > should replace a single-line range with multi-line text 15ms
โ useTextBuffer > Input Sanitization > should strip 'ANSI escape codes' from input 14ms
โ useTextBuffer > Input Sanitization > should strip 'control characters' from input 13ms
โ useTextBuffer > Input Sanitization > should strip 'mixed ANSI and control characters' from input 19ms
โ useTextBuffer > Input Sanitization > should strip 'pasted text with ANSI' from input 15ms
โ useTextBuffer > Input Sanitization > should not strip standard characters or newlines 18ms
ร useTextBuffer > Input Sanitization > should sanitize large text (>5000 chars) and strip unsafe characters 7558ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
ร useTextBuffer > Input Sanitization > should sanitize large ANSI text (>5000 chars) and strip escape codes 17759ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ useTextBuffer > Input Sanitization > should not strip popular emojis 28ms
โ useTextBuffer > inputFilter > should filter input based on the provided filter function 20ms
โ useTextBuffer > inputFilter > should handle empty result from filter 16ms
โ useTextBuffer > inputFilter > should filter pasted text 16ms
โ useTextBuffer > inputFilter > should not filter newlines if they are allowed by the filter 19ms
โ useTextBuffer > inputFilter > should filter before newline check in insert 19ms
โ useTextBuffer > stripAnsi > should correctly strip ANSI escape codes 6ms
โ useTextBuffer > stripAnsi > should handle multiple ANSI codes 5ms
โ useTextBuffer > stripAnsi > should not modify text without ANSI codes 5ms
โ useTextBuffer > stripAnsi > should handle empty string 5ms
โ useTextBuffer > Memoization > should keep action references stable across re-renders 20ms
โ useTextBuffer > Memoization > should have memoized actions that operate on the latest state 19ms
โ useTextBuffer > singleLine mode > should not insert a newline character when singleLine is true 21ms
โ useTextBuffer > singleLine mode > should not create a new line when newline() is called and singleLine is true 19ms
โ useTextBuffer > singleLine mode > should not handle "Enter" key as newline when singleLine is true 18ms
โ useTextBuffer > singleLine mode > should not print anything for function keys when singleLine is true 19ms
โ useTextBuffer > singleLine mode > should strip newlines from pasted text when singleLine is true 21ms
โ offsetToLogicalPos > should handle 'offset 0' 3ms
โ offsetToLogicalPos > should handle 'single line start' 2ms
โ offsetToLogicalPos > should handle 'single line middle' 3ms
โ offsetToLogicalPos > should handle 'single line end' 2ms
โ offsetToLogicalPos > should handle 'beyond end clamps' 3ms
โ offsetToLogicalPos > should handle 'empty lines - first char' 2ms
โ offsetToLogicalPos > should handle 'empty lines - end of first' 4ms
โ offsetToLogicalPos > should handle 'empty lines - empty line' 2ms
โ offsetToLogicalPos > should handle 'empty lines - last line start' 2ms
โ offsetToLogicalPos > should handle 'empty lines - last line end' 2ms
โ offsetToLogicalPos > should handle 'newline end - before newline' 2ms
โ offsetToLogicalPos > should handle 'newline end - after newline' 2ms
โ offsetToLogicalPos > should handle 'newline end - beyond' 2ms
โ offsetToLogicalPos > should handle 'newline start - first line' 2ms
โ offsetToLogicalPos > should handle 'newline start - second line' 3ms
โ offsetToLogicalPos > should handle 'newline start - middle of second' 2ms
โ offsetToLogicalPos > should handle 'empty string at 0' 3ms
โ offsetToLogicalPos > should handle 'empty string beyond' 2ms
โ offsetToLogicalPos > should handle 'unicode - start' 2ms
โ offsetToLogicalPos > should handle 'unicode - after first char' 2ms
โ offsetToLogicalPos > should handle 'unicode - end first line' 2ms
โ offsetToLogicalPos > should handle 'unicode - second line start' 2ms
โ offsetToLogicalPos > should handle 'unicode - second line middle' 2ms
โ offsetToLogicalPos > should handle 'unicode - second line end' 2ms
โ offsetToLogicalPos > should handle 'unicode - beyond' 2ms
โ offsetToLogicalPos > should handle 'at newline - end of line' 2ms
โ offsetToLogicalPos > should handle 'at newline - after newline' 2ms
โ offsetToLogicalPos > should handle 'emoji - start' 2ms
โ offsetToLogicalPos > should handle 'emoji - middle' 2ms
โ offsetToLogicalPos > should handle 'emoji - end' 2ms
โ offsetToLogicalPos > multi-line text > should return [ +0, +0 ] for 'start of first line' (offset +0) 2ms
โ offsetToLogicalPos > multi-line text > should return [ +0, 3 ] for 'middle of first line' (offset 3) 2ms
โ offsetToLogicalPos > multi-line text > should return [ +0, 5 ] for 'end of first line' (offset 5) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 1, +0 ] for 'start of second line' (offset 6) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 1, 2 ] for 'middle of second line' (offset 8) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 1, 5 ] for 'end of second line' (offset 11) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 2, +0 ] for 'start of third line' (offset 12) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 2, 1 ] for 'middle of third line' (offset 13) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'end of third line' (offset 15) 2ms
โ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'beyond end' (offset 20) 2ms
โ logicalPosToOffset > should convert row/col position to offset correctly 4ms
โ logicalPosToOffset > should handle empty lines 3ms
โ logicalPosToOffset > should handle single empty line 2ms
โ logicalPosToOffset > should be inverse of offsetToLogicalPos 6ms
โ logicalPosToOffset > should handle out-of-bounds positions 3ms
โ textBufferReducer vim operations > vim_delete_line > should delete a single line including newline in multi-line text 27ms
โ textBufferReducer vim operations > vim_delete_line > should delete multiple lines when count > 1 5ms
โ textBufferReducer vim operations > vim_delete_line > should clear single line content when only one line exists 5ms
โ textBufferReducer vim operations > vim_delete_line > should handle deleting the last line properly 5ms
โ textBufferReducer vim operations > vim_delete_line > should handle deleting all lines and maintain valid state for subsequent paste 8ms
โ Unicode helper functions > findWordEndInLine with Unicode > should handle combining characters 9ms
โ Unicode helper functions > findWordEndInLine with Unicode > should handle precomposed characters with diacritics 3ms
โ Unicode helper functions > findWordEndInLine with Unicode > should return null when no word end found 3ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle right-to-left text 4ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle Chinese characters 3ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should return null at end of line 3ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle combining characters 3ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle precomposed characters with diacritics 2ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return true for ASCII word characters 4ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return false for punctuation 3ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return true for non-Latin scripts 3ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return false for whitespace 3ms
โ Unicode helper functions > cpLen with Unicode > should handle combining characters 3ms
โ Unicode helper functions > cpLen with Unicode > should handle Chinese and Arabic text 3ms
โ Unicode helper functions > useTextBuffer CJK Navigation > should navigate by word in Chinese 45ms
โ Unicode helper functions > useTextBuffer CJK Navigation > should navigate mixed English and Chinese 27ms
โ Transformation Utilities > getTransformedImagePath > should transform a simple image path 7ms
โ Transformation Utilities > getTransformedImagePath > should handle paths with directories 6ms
โ Transformation Utilities > getTransformedImagePath > should truncate long filenames 6ms
โ Transformation Utilities > getTransformedImagePath > should handle different image extensions 9ms
โ Transformation Utilities > getTransformedImagePath > should handle POSIX-style forward-slash paths on any platform 6ms
โ Transformation Utilities > getTransformedImagePath > should handle Windows-style backslash paths on any platform 7ms
โ Transformation Utilities > getTransformedImagePath > should handle escaped spaces in paths 7ms
โ Transformation Utilities > getTransformationsForLine > should find transformations in a line 27ms
โ Transformation Utilities > getTransformationsForLine > should handle no transformations 6ms
โ Transformation Utilities > getTransformationsForLine > should handle empty line 6ms
โ Transformation Utilities > getTransformationsForLine > should keep adjacent image paths as separate transformations 9ms
โ Transformation Utilities > getTransformationsForLine > should handle multiple transformations in a row 7ms
โ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is inside it 7ms
โ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is at start 6ms
โ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is at end 6ms
โ Transformation Utilities > getTransformUnderCursor > should return null when cursor is not on a transformation 6ms
โ Transformation Utilities > getTransformUnderCursor > should handle empty transformations array 5ms
โ Transformation Utilities > calculateTransformedLine > should transform a line with one transformation 9ms
โ Transformation Utilities > calculateTransformedLine > should handle cursor inside transformation 6ms
โ Transformation Utilities > calculateTransformedLine > should handle line with no transformations 10ms
โ Transformation Utilities > calculateTransformedLine > should handle empty line 6ms
โ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via setText' 130ms
โ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via replaceRange' 35ms
โ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when viewport width changes 38ms
โ Transformation Utilities > Layout Caching and Invalidation > should correctly handle cursor expansion/collapse in cached layout 51ms
โ Transformation Utilities > Layout Caching and Invalidation > should reuse cache for unchanged lines during editing 40ms
โ src/ui/components/InputPrompt.test.tsx (122 tests) 16303ms
โ InputPrompt > should call shellHistory.getPreviousCommand on up arrow in shell mode 1049ms
โ src/commands/extensions/uninstall.test.ts (9 tests) 187ms
(node:5983) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/shared/ScrollableList.test.tsx (3 tests | 3 failed) 2461ms
ร ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up 1203ms
โ expected '\n โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Item 1001'
ร ScrollableList Demo Behavior > should display sticky header when scrolled past the item 1182ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain '[Normal] Item 1'
ร ScrollableList Demo Behavior > Keyboard Navigation > should handle scroll keys correctly 61ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0'
(node:6028) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6035) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useMessageQueue.test.tsx (15 tests) 590ms
โ src/config/extensions/extensionUpdates.test.ts (5 tests) 2016ms
โ extensionUpdates > ExtensionManager integration > should warn about missing settings after update 1896ms
โ src/ui/utils/textUtils.test.ts (12 tests) 245ms
โ src/ui/contexts/ScrollProvider.drag.test.tsx (6 tests) 426ms
โ ScrollProvider Drag > drags the scrollbar thumb 315ms
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should configure all settings for an extension
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should verify overwrite if setting is already set
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should note if setting is configured in workspace
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should note if setting is configured in workspace
Note: Setting "Setting 1" is already configured in the workspace scope.
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should skip update if user denies overwrite
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should skip update if user denies overwrite
Note: Setting "Setting 1" is already configured in the workspace scope.
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Configure all extensions > should configure settings for all installed extensions
Configuring settings for "ext1"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Configure all extensions > should configure settings for all installed extensions
Configuring settings for "ext2"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Configure all extensions > should log if no extensions installed
No extensions installed.
โ src/commands/extensions/configure.test.ts (9 tests) 527ms
(node:6100) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6104) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6008) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/rewindCommand.test.tsx (13 tests) 478ms
โ src/ui/components/SessionBrowser.test.tsx (6 tests) 1894ms
โ SessionBrowser component > shows empty state when no sessions exist 535ms
โ SessionBrowser component > renders a list of sessions and marks current session as disabled 337ms
โ SessionBrowser component > enters search mode, filters sessions, and renders match snippets 649ms
โ src/ui/components/LoadingIndicator.test.tsx (16 tests) 1504ms
โ src/ui/commands/agentsCommand.test.ts (12 tests) 435ms
(node:6036) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/restoreCommand.test.ts (13 tests) 690ms
(node:6148) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useExtensionUpdates.test.tsx (4 tests) 846ms
โ useExtensionUpdates > should check for updates and log a message if an update is available 499ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex State Management > should track modified settings correctly
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
(node:6192) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/Footer.test.tsx (21 tests | 3 failed) 1821ms
โ > renders the component 444ms
โ > path display > should display a shortened path on a narrow terminal 72ms
โ > path display > should use wide layout at 80 columns 65ms
โ > displays the branch name when provided 53ms
โ > does not display the branch name when not provided 57ms
โ > displays the model name and context percentage 70ms
โ > displays the model name and abbreviated context percentage 59ms
โ > sandbox and trust info > should display untrusted when isTrustedFolder is false 62ms
โ > sandbox and trust info > should display custom sandbox info when SANDBOX env is set 71ms
โ > sandbox and trust info > should display macOS Seatbelt info when SANDBOX is sandbox-exec 63ms
โ > sandbox and trust info > should display "no sandbox" when SANDBOX is not set and folder is trusted 65ms
โ > sandbox and trust info > should prioritize untrusted message over sandbox info 68ms
ร > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) 167ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) > complete-footer-wide 1` mismatched
โ > footer configuration filtering (golden snapshots) > renders footer with all optional sections hidden (minimal footer) 28ms
ร > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) 50ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) > footer-no-model 1` mismatched
ร > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible) 168ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible) > footer-only-sandbox 1` mismatched
โ > footer configuration filtering (golden snapshots) > hides the context percentage when hideContextPercentage is true 49ms
โ > footer configuration filtering (golden snapshots) > shows the context percentage when hideContextPercentage is false 54ms
โ > footer configuration filtering (golden snapshots) > renders complete footer in narrow terminal (baseline narrow) 46ms
โ fallback mode display > should display Flash model when in fallback mode, not the configured Pro model 44ms
โ fallback mode display > should display Pro model when NOT in fallback mode 47ms
(node:6240) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6172) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useFolderTrust.test.ts (12 tests) 617ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโฆ'
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mfalse[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mfalse[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโฆ'
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mfalse[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
stderr | src/ui/components/ModelDialog.test.tsx > > renders the initial "main" view correctly
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "main" view with preview options when preview features are enabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/config/sandboxConfig.test.ts (27 tests) 230ms
(node:6307) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/config/extensions/github_fetch.test.ts (8 tests) 117ms
(node:6193) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/windowTitle.test.ts (13 tests) 89ms
โฏ src/services/BuiltinCommandLoader.test.ts (13 tests | 2 failed) 10325ms
โ BuiltinCommandLoader > should correctly pass the config object to restore command factory 69ms
โ BuiltinCommandLoader > should filter out null command definitions returned by factories 13ms
โ BuiltinCommandLoader > should handle a null config gracefully when calling factories 13ms
โ BuiltinCommandLoader > should return a list of all loaded commands 13ms
โ BuiltinCommandLoader > should include permissions command when folder trust is enabled 15ms
โ BuiltinCommandLoader > should exclude permissions command when folder trust is disabled 12ms
โ BuiltinCommandLoader > should include policies command when message bus integration is enabled 8ms
โ BuiltinCommandLoader > should include agents command when agents are enabled 8ms
โ BuiltinCommandLoader > should exclude agents command when agents are disabled 9ms
โ BuiltinCommandLoader > chat debug command > should NOT add debug subcommand to chatCommand if not a nightly build 9ms
โ BuiltinCommandLoader > chat debug command > should add debug subcommand to chatCommand if it is a nightly build 7ms
ร BuiltinCommandLoader profile > should not include profile command when isDevelopment is false 5106ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
ร BuiltinCommandLoader profile > should include profile command when isDevelopment is true 5024ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ src/ui/commands/ideCommand.test.ts (8 tests) 379ms
stderr | src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:6328) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "main" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:6241) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6254) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "main" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/components/shared/VirtualizedList.test.tsx (9 tests) 2576ms
โ > with 10px height and 100 items > renders only visible items ('top') 741ms
โ > with 10px height and 100 items > renders only visible items ('scrolled to bottom') 323ms
โ > with 10px height and 100 items > sticks to bottom when new items added 322ms
โฏ src/ui/components/messages/DiffRenderer.test.tsx (26 tests | 4 failed) 10460ms
โ > with useAlternateBuffer = true > should call colorizeCode with correct language for new file with known extension 614ms
โ > with useAlternateBuffer = true > should call colorizeCode with null language for new file with unknown extension 1215ms
โ > with useAlternateBuffer = true > should call colorizeCode with null language for new file if no filename is provided 305ms
โ > with useAlternateBuffer = true > should render diff content for existing file (not calling colorizeCode directly for the whole block) 149ms
โ > with useAlternateBuffer = true > should handle diff with only header and no changes 220ms
โ > with useAlternateBuffer = true > should handle empty diff content 41ms
โ > with useAlternateBuffer = true > should render a gap indicator for skipped lines 180ms
โ > with useAlternateBuffer = true > should not render a gap indicator for small gaps (<= MAX_CONTEXT_LINES_WITHOUT_GAP) 259ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height undefined 251ms
ร > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 1306ms
โ expected '\n\n\n\n\n' to contain 'anotherNew'
ร > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 1321ms
โ expected '\n\n\n\n\n' to contain 'anotherNew'
โ > with useAlternateBuffer = true > should correctly render a diff with a SVN diff format 359ms
โ > with useAlternateBuffer = true > should correctly render a new file with no file extension correctly 205ms
โ > with useAlternateBuffer = false > should call colorizeCode with correct language for new file with known extension 50ms
โ > with useAlternateBuffer = false > should call colorizeCode with null language for new file with unknown extension 77ms
โ > with useAlternateBuffer = false > should call colorizeCode with null language for new file if no filename is provided 69ms
โ > with useAlternateBuffer = false > should render diff content for existing file (not calling colorizeCode directly for the whole block) 74ms
โ > with useAlternateBuffer = false > should handle diff with only header and no changes 41ms
โ > with useAlternateBuffer = false > should handle empty diff content 35ms
โ > with useAlternateBuffer = false > should render a gap indicator for skipped lines 129ms
โ > with useAlternateBuffer = false > should not render a gap indicator for small gaps (<= MAX_CONTEXT_LINES_WITHOUT_GAP) 212ms
โ > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height undefined 325ms
ร > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 1266ms
โ expected '\n\n\n\n\n' to contain 'anotherNew'
ร > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 1313ms
โ expected '\n\n\n\n\n' to contain 'anotherNew'
โ > with useAlternateBuffer = false > should correctly render a diff with a SVN diff format 293ms
โ > with useAlternateBuffer = false > should correctly render a new file with no file extension correctly 128ms
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:6363) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/components/ModelDialog.test.tsx > > toggles persist mode with Tab key
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > toggles persist mode with Tab key
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > closes dialog on escape in "main" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/utils/sessionCleanup.integration.test.ts (5 tests) 268ms
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:6445) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should initialize with Unauthenticated state
Authenticated via "oauth-personal".
stderr | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should initialize with Unauthenticated state
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate if USE_GEMINI and key is found
Authenticated via "gemini-api-key".
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate if USE_GEMINI and env key is found
Authenticated via "gemini-api-key".
Authenticated via "gemini-api-key".
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should NOT show preview options if user has no access
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should prioritize env key over stored key when both are present
Authenticated via "gemini-api-key".
Authenticated via "gemini-api-key".
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate successfully for valid auth type
Authenticated via "oauth-personal".
โ src/ui/auth/useAuth.test.tsx (15 tests) 810ms
โ src/ui/components/ProQuotaDialog.test.tsx (8 tests) 908ms
โ ProQuotaDialog > for flash model failures > should render "Keep trying" and "Stop" options 542ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
โ src/utils/deepMerge.test.ts (17 tests) 117ms
(node:6356) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should NOT show preview options if user has access but preview features are disabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show preview options if user has access AND preview features are enabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show "Gemini 3 is now available" header if user has access but preview features disabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/utils/clipboardUtils.test.ts > clipboardUtils > cleanupOldClipboardImages > should not throw errors
Failed to clean up old clipboard images: Error: ENOENT: no such file or directory, scandir '/path/that/does/not/exist/.gemini-clipboard'
[90m at Proxy.readdir (node:internal/fs/promises:953:18)[39m
at cleanupOldClipboardImages [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/utils/clipboardUtils.ts:195:19[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/utils/clipboardUtils.test.ts:69:7
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20 {
errno: [33m-2[39m,
code: [32m'ENOENT'[39m,
syscall: [32m'scandir'[39m,
path: [32m'/path/that/does/not/exist/.gemini-clipboard'[39m
}
stdout | src/ui/utils/clipboardUtils.test.ts > clipboardUtils > cleanupOldClipboardImages > should complete without errors on valid directory
Failed to clean up old clipboard images: Error: ENOENT: no such file or directory, scandir '.gemini-clipboard'
[90m at Proxy.readdir (node:internal/fs/promises:953:18)[39m
at cleanupOldClipboardImages [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/utils/clipboardUtils.ts:195:19[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/utils/clipboardUtils.test.ts:75:7
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20 {
errno: [33m-2[39m,
code: [32m'ENOENT'[39m,
syscall: [32m'scandir'[39m,
path: [32m'.gemini-clipboard'[39m
}
โ src/ui/hooks/useInputHistoryStore.test.ts (14 tests) 545ms
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show "Gemini 3 is coming soon" header if user has no access
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should NOT show header/subheader if preview options are shown
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โฏ src/ui/components/ModelDialog.test.tsx (15 tests | 7 failed) 7254ms
โ > renders the initial "main" view correctly 755ms
ร > renders "main" view with preview options when preview features are enabled 466ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
ร > switches to "manual" view when "Manual" is selected 981ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > renders "manual" view with preview options when preview features are enabled 952ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-preview'
โ > sets model and closes when a model is selected in "main" view 466ms
ร > sets model and closes when a model is selected in "manual" view 937ms
โ expected "spy" to be called with arguments: [ 'gemini-2.5-pro', true ][90m
Number of calls: [1m0[22m
[39m
ร > toggles persist mode with Tab key 537ms
โ expected "spy" to be called with arguments: [ 'auto-gemini-2.5', false ][90m
Number of calls: [1m0[22m
[39m
โ > closes dialog on escape in "main" view 317ms
ร > goes back to "main" view on escape in "manual" view 694ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
โ > Preview Logic > should NOT show preview options if user has no access 128ms
โ > Preview Logic > should NOT show preview options if user has access but preview features are disabled 148ms
ร > Preview Logic > should show preview options if user has access AND preview features are enabled 189ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
โ > Preview Logic > should show "Gemini 3 is now available" header if user has access but preview features disabled 208ms
โ > Preview Logic > should show "Gemini 3 is coming soon" header if user has no access 238ms
โ > Preview Logic > should NOT show header/subheader if preview options are shown 220ms
โ src/ui/utils/clipboardUtils.test.ts (29 tests) 244ms
โ src/ui/hooks/useShellHistory.test.ts (7 tests) 973ms
โ useShellHistory > should initialize and read the history file from the correct path 315ms
stdout | src/ui/commands/copyCommand.test.ts > copyCommand > should handle clipboard copy error
Clipboard access denied
stdout | src/ui/commands/copyCommand.test.ts > copyCommand > should handle non-Error clipboard errors
String error
โ src/ui/commands/copyCommand.test.ts (11 tests) 427ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > String Settings Editing > should allow editing and committing a string setting
[DEBUG SettingsDialog] Saving general.vimMode immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.vimMode immediately with value: [33mtrue[39m
(node:6499) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Basic Rendering > renders without crashing with minimal props
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Basic Rendering > renders with startup warnings
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > State Initialization > initializes with theme error from initialization result
[SessionSummary] No chats directory found
โ src/ui/components/DebugProfiler.test.tsx (15 tests) 658ms
โฏ src/ui/components/ModelStatsDisplay.test.tsx (7 tests | 5 failed) 9532ms
โ > should render "no API calls" message when there are no active models 595ms
โ > should not display conditional rows if no model has data for them 221ms
ร > should display conditional rows if at least one model has data 2041ms
โ Snapshot ` > should display conditional rows if at least one model has data 1` mismatched
ร > should display stats for multiple models correctly 450ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > should handle large values without wrapping or overlapping 5333ms
โ Snapshot ` > should handle large values without wrapping or overlapping 1` mismatched
ร > should display a single model correctly 329ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > should handle models with long names (gemini-3-*-preview) without layout breaking 543ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-'
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides AppContext with correct values
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides UIStateContext with state management
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides UIActionsContext with action handlers
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides ConfigContext with config object
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with all display options disabled
[SessionSummary] No chats directory found
(node:6571) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 825ms
โ useReverseSearchCompletion > Core Hook Behavior > State Management > should initialize with default state 332ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with memory usage enabled
[SessionSummary] No chats directory found
(node:3371) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 1.0.0
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 2.1.3-beta
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 3.0.0-nightly
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Error Handling > handles undefined settings gracefully
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Session Resumption > handles resumed session data correctly
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Session Resumption > handles resumed session data correctly
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Session Resumption > renders without resumed session data
[SessionSummary] No chats directory found
โ src/ui/components/shared/TextInput.test.tsx (11 tests) 832ms
โ TextInput > renders with an initial value 464ms
(node:6491) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6498) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6512) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6595) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 461ms
โฏ src/ui/components/RewindViewer.test.tsx (12 tests | 7 failed) 13471ms
โ RewindViewer > Rendering > renders 'nothing interesting for empty conversโฆ' 830ms
โ RewindViewer > Rendering > renders 'a single interaction' 182ms
ร RewindViewer > Rendering > renders 'full text for selected item' 1471ms
โ Snapshot `RewindViewer > Rendering > renders 'full text for selected item' 1` mismatched
ร RewindViewer > updates selection and expansion on navigation 3185ms
โ Snapshot `RewindViewer > updates selection and expansion on navigation > initial-state 1` mismatched
โ RewindViewer > Navigation > handles 'down' navigation 410ms
โ RewindViewer > Navigation > handles 'up' navigation 650ms
โ RewindViewer > Navigation > handles cyclic navigation 975ms
ร RewindViewer > Interaction Selection > 'confirms on Enter' 376ms
โ Snapshot `RewindViewer > Interaction Selection > 'confirms on Enter' > confirmation-dialog 1` mismatched
ร RewindViewer > Interaction Selection > 'cancels on Escape' 389ms
โ Snapshot `RewindViewer > Interaction Selection > 'cancels on Escape' > confirmation-dialog 1` mismatched
ร RewindViewer > Content Filtering > 'removes reference markers' 1435ms
โ Snapshot `RewindViewer > Content Filtering > 'removes reference markers' 1` mismatched
ร RewindViewer > Content Filtering > 'strips expanded MCP resource content' 2280ms
โ Snapshot `RewindViewer > Content Filtering > 'strips expanded MCP resource content' 1` mismatched
ร RewindViewer > updates content when conversation changes (background update) 1269ms
โ Snapshot `RewindViewer > updates content when conversation changes (background update) > initial 1` mismatched
โ src/ui/commands/mcpCommand.test.ts (5 tests) 393ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Quota and Fallback Integration > passes a null proQuotaRequest to UIStateContext by default
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Quota and Fallback Integration > passes a valid proQuotaRequest to UIStateContext when provided by the hook
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Quota and Fallback Integration > passes the handleProQuotaChoice function to UIActionsContext
[SessionSummary] No chats directory found
(node:6596) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/messages/CompressionMessage.test.tsx (10 tests) 1409ms
โ > pending state > renders pending message when compression is in progress 610ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Action Required in title after a delay when shell is awaiting focus
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should NOT show Action Required in title if shell is streaming output
[SessionSummary] No chats directory found
โ src/ui/hooks/atCommandProcessor_agents.test.ts (3 tests) 915ms
โ handleAtCommand with Agents > should not treat non-agents as agents 774ms
โ src/ui/hooks/useIdeTrustListener.test.tsx (5 tests) 471ms
โ useIdeTrustListener > should initialize correctly with no trust information 305ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should reset the timer if a new error message is set
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Height Calculation > should prevent terminal height from being less than 1
[SessionSummary] No chats directory found
(node:6791) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should cancel ongoing request on first press
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should quit on second press
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should reset press count after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should do nothing if text buffer is not empty
[SessionSummary] No chats directory found
(node:6770) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should quit on second press if buffer is empty
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should reset press count after a timeout
[SessionSummary] No chats directory found
(node:6797) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Normal Mode' > should NOT toggle mouse off when Ctrl+S is pressed
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Alternate Buffer Mode' > should toggle mouse off when Ctrl+S is pressed
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Alternate Buffer Mode' > should toggle mouse back on when Ctrl+S is pressed again
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Alternate Buffer Mode' > should exit copy mode on any key press
[SessionSummary] No chats directory found
(node:6636) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6635) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Model Dialog Integration > should provide isModelDialogOpen in the UIStateContext
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Model Dialog Integration > should provide model dialog actions in the UIActionsContext
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > subscribes to UserFeedback and drains backlog on mount
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > unsubscribes from UserFeedback on unmount
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > adds history item when UserFeedback event is received
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > updates currentModel when ModelChanged event is received
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > provides activeHooks from useHookDisplayState
[SessionSummary] No chats directory found
(node:6653) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Shell Interaction > should not crash if resizing the pty fails
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Banner Text > should render placeholder banner text for USE_GEMINI auth type
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > onCancelSubmit Behavior > clears the prompt when onCancelSubmit is called with shouldRestorePrompt=false
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > onCancelSubmit Behavior > restores the prompt when onCancelSubmit is called with shouldRestorePrompt=true (or undefined)
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > onCancelSubmit Behavior > input history is independent from conversation history (survives /clear)
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Regression Tests > does not refresh static on startup if banner text is empty
[SessionSummary] No chats directory found
โ src/commands/extensions/disable.test.ts (12 tests) 312ms
(node:6867) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/AppContainer.test.tsx (65 tests) 10229ms
โ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 385ms
โ AppContainer State Management > State Initialization > handles debug mode state 896ms
โ AppContainer State Management > Error Handling > handles config methods that might throw 510ms
โ AppContainer State Management > Session Resumption > initializes chat recording service when config has it 445ms
โ AppContainer State Management > Session Recording Integration > provides chat recording service configuration 323ms
โ AppContainer State Management > Session Recording Integration > handles session recording when messages are added 304ms
โ AppContainer State Management > Session Resume Flow > accepts resumed session data 327ms
โ AppContainer State Management > Session Resume Flow > does not attempt resume when client is not initialized 467ms
โ AppContainer State Management > Token Counting from Session Stats > tracks token counts from session messages 508ms
(node:6705) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6724) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6704) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6703) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useSessionBrowser.test.ts (7 tests) 405ms
โฏ src/ui/components/HistoryItemDisplay.test.tsx (20 tests | 3 failed) 8768ms
โ > renders UserMessage for "user" type 580ms
โ > renders UserMessage for "user" type with slash command 80ms
โ > renders InfoMessage for "info" type with multi-line text (alternateBuffer=true) 214ms
โ > renders InfoMessage for "info" type with multi-line text (alternateBuffer=false) 81ms
โ > renders AgentsStatus for "agents_list" type 220ms
โ > renders StatsDisplay for "stats" type 345ms
โ > renders AboutBox for "about" type 198ms
โ > renders ModelStatsDisplay for "model_stats" type 70ms
โ > renders ToolStatsDisplay for "tool_stats" type 53ms
โ > renders SessionSummaryDisplay for "quit" type 223ms
ร > should escape ANSI codes in text content 240ms
โ expected '\n> H\n e\n l\n l\n o\n ,\n \\nโฆ' to contain 'Hello, \u001b[31mred\u001b[0m world!'
โ > should escape ANSI codes in tool confirmation details 37ms
โ > gemini items (alternateBuffer=true) > should render a truncated gemini item 1311ms
โ > gemini items (alternateBuffer=true) > should render a full gemini item when using availableTerminalHeightGemini 1012ms
โ > gemini items (alternateBuffer=true) > should render a truncated gemini_content item 905ms
โ > gemini items (alternateBuffer=true) > should render a full gemini_content item when using availableTerminalHeightGemini 774ms
โ > gemini items (alternateBuffer=false) > should render a truncated gemini item 318ms
ร > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 978ms
โ Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 1` mismatched
โ > gemini items (alternateBuffer=false) > should render a truncated gemini_content item 260ms
ร > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 845ms
โ Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 1` mismatched
โ src/utils/agentUtils.test.ts (8 tests) 84ms
โ src/ui/components/MultiFolderTrustDialog.test.tsx (8 tests) 1372ms
โ MultiFolderTrustDialog > renders the dialog with the list of folders 601ms
(node:6790) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/sandboxUtils.test.ts (17 tests) 233ms
โ src/commands/extensions/update.test.ts (8 tests) 213ms
โ src/ui/hooks/useInputHistory.test.ts (11 tests) 430ms
(node:7011) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6881) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/SettingsDialog.test.tsx (55 tests | 30 failed) 61084ms
โ SettingsDialog > Initial Rendering > should render the settings dialog with default state 1770ms
ร SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors 591ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Initial Rendering > should render settings list with visual indicators 801ms
โ Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched
ร SettingsDialog > Setting Descriptions > should render descriptions for settings that have them 839ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Settings Navigation > should navigate with 'arrow keys' 866ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)' 784ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Settings Navigation > wraps around when at the top of the list 2443ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Codebase Investigator Max Num Turns'
ร SettingsDialog > Settings Toggling > should toggle setting with Enter key 1867ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Preview Features (e.g., models)'
โ SettingsDialog > Settings Toggling > enum values > 'toggles to next value' 644ms
โ SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end' 563ms
โ SettingsDialog > Settings Toggling > should handle vim mode setting specially 1411ms
โ SettingsDialog > Scope Selection > should switch between scopes 1432ms
ร SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 1849ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 850ms
โ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 1404ms
ร SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 1706ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Settings Persistence > should persist settings across scope changes 1505ms
ร SettingsDialog > Settings Persistence > should show different values for different scopes 655ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 879ms
โ SettingsDialog > Complex State Management > should track modified settings correctly 1001ms
โ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 1105ms
โ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 1018ms
ร SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states 561ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 937ms
โ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 745ms
โ SettingsDialog > Specific Settings Behavior > should clear restart prompt when switching scopes 673ms
ร SettingsDialog > Settings Display Values > should show correct values for inherited settings 573ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Settings Display Values > should show override indicator for overridden settings 585ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโฆ' 934ms
โ SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโฆ' 692ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 1063ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+C' to reset current setting to default 1073ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+L' to reset current setting to default 915ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 975ms
ร SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 1581ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Error Recovery > should handle malformed settings gracefully 723ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Error Recovery > should handle missing setting definitions gracefully 626ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 1550ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 1095ms
โ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 1449ms
โ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 1175ms
โ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 2000ms
ร SettingsDialog > Search Functionality > should display text entered in search 585ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
ร SettingsDialog > Search Functionality > should show search query and filter settings as user types 2255ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'yolo'
ร SettingsDialog > Search Functionality > should exit search settings when Escape is pressed 2226ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vim'
ร SettingsDialog > Search Functionality > should handle backspace to modify search query 2234ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vimm'
ร SettingsDialog > Search Functionality > should display nothing when search yields no results 2524ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'nonexistentsetting'
ร SettingsDialog > Snapshot Tests > should render 'default state' correctly 690ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 600ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 567ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 880ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 629ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 695ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 546ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 711ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched
โ src/ui/hooks/useEditorSettings.test.tsx (10 tests) 413ms
โ src/ui/hooks/useLoadingIndicator.test.tsx (7 tests) 576ms
โ src/ui/hooks/useKeypress.test.tsx (22 tests) 926ms
โ useKeypress > should not listen if isActive is false 342ms
(node:6931) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:6951) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/utils/updateCheck.test.ts (10 tests) 140ms
(node:7012) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7111) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/Notifications.test.tsx (8 tests) 890ms
โ Notifications > renders startup warnings: Warning 1 346ms
(node:7072) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7025) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/messages/ToolMessage.test.tsx (12 tests | 1 failed) 2549ms
โ > renders basic tool information 873ms
โ > ToolStatusIndicator rendering > shows โ for Success status 181ms
โ > ToolStatusIndicator rendering > shows o for Pending status 189ms
โ > ToolStatusIndicator rendering > shows ? for Confirming status 138ms
โ > ToolStatusIndicator rendering > shows - for Canceled status 143ms
โ > ToolStatusIndicator rendering > shows x for Error status 127ms
โ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is Idle 135ms
โ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is WaitingForConfirmation 129ms
โ > ToolStatusIndicator rendering > shows MockRespondingSpinner for Executing status when streamingState is Responding 87ms
โ > renders DiffRenderer for diff results 145ms
ร > renders emphasis correctly 239ms
โ Snapshot ` > renders emphasis correctly 1` mismatched
โ > renders AnsiOutputText for AnsiOutput results 148ms
โ src/ui/hooks/useGitBranchName.test.tsx (7 tests) 463ms
โ src/commands/skills/install.test.ts (6 tests) 132ms
(node:7172) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/commands.test.ts (12 tests) 101ms
(node:7185) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/keyBindings.test.ts (6 tests) 393ms
(node:7118) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7119) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7258) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7277) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/toolMapping.test.ts (15 tests) 171ms
(node:7171) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/deferred.test.ts (9 tests) 109ms
stdout | src/gemini.test.tsx > getNodeMemoryArgs > should log debug info when isDebugMode is true
Current heap size 4096.00 MB
Need to relaunch with more memory: 8192.00 MB
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should handle --'listSessions' flag
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should handle --'deleteSession' flag
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should handle sandbox activation
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
]0;โ Ready (cli) ]0;๐ต โ Ready (cli) \Error resuming session: Session not foundError: The --prompt-interactive flag cannot be used when input is piped from stdin.
Error resuming session: sessionSelector.resolveSession is not a functionstderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should read from stdin in non-interactive mode
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 41 for auth failure during sandbox setup
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 42 for session resume failure
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 42 for no input provided
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
(node:7256) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l โ src/gemini.test.tsx (32 tests | 1 skipped) 1167ms
stdout | src/commands/mcp/remove.test.ts > mcp remove command > unit tests with mocks > should remove a server from project settings
Server "test-server" removed from project settings.
(node:7379) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/mcp/remove.test.ts (6 tests) 676ms
(node:7426) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx (13 tests | 11 failed) 2686ms
โ ToolConfirmationMessage > should not display urls if prompt and url are the same 772ms
ร ToolConfirmationMessage > should display urls if prompt and url are different 342ms
โ Snapshot `ToolConfirmationMessage > should display urls if prompt and url are different 1` mismatched
ร ToolConfirmationMessage > should display multiple commands for exec type when provided 191ms
โ expected '\nAllow execution of 3 commands?\n\nโโฆ' to contain 'echo "hello"'
ร ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 195ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 138ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 167ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 126ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 83ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 91ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 166ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 131ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
โ ToolConfirmationMessage > enablePermanentToolApproval setting > should NOT show "Allow for all future sessions" when setting is false (default) 121ms
ร ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when setting is true 144ms
โ expected '\nApply this change?\n\nโ 1.\n 2.\n โฆ' to contain 'Allow for all future sessions'
(node:7360) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7400) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useHistoryManager.test.ts (9 tests) 409ms
(node:7480) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7419) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/themes/theme.test.ts (14 tests) 102ms
(node:7420) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/hooks/useIncludeDirsTrust.test.tsx > useIncludeDirsTrust > when folder trust is enabled and workspace is trusted > should add trusted dirs, collect untrusted errors, and open dialog for undefined
Creating custom dialog with undecidedDirs: [ [32m'/undefined'[39m ]
โ src/ui/hooks/useIncludeDirsTrust.test.tsx (6 tests) 564ms
โ src/commands/mcp/list.test.ts (4 tests) 164ms
stderr | src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ'
[MSW] Warning: intercepted a request without a matching request handler:
โข GET data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAFNwMIIAgpAwhCBIYgCCkDACIDQjyIhCECIAgpAxAgCCkDGIRCAFKtIANC//////////8Pg4QiA0KBgICAgICAgAhaBEAgAkIBfCECDAELIANCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgCEEgaiQAIAkgAiAGQoCAgICAgICAgH+DhL85AwALmRgDEn8BfAN+IwBBsARrIgwkACAMQQA2AiwCQCABvSIZQgBTBEBBASERQZkJIRMgAZoiAb0hGQwBCyAEQYAQcQRAQQEhEUGcCSETDAELQZ8JQZoJIARBAXEiERshEyARRSEVCwJAIBlCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiARQQNqIgMgBEH//3txECkgACATIBEQJiAAQe0VQdweIAVBIHEiBRtB4RpB4B4gBRsgASABYhtBAxAmIABBICACIAMgBEGAwABzECkgAyACIAIgA0gbIQoMAQsgDEEQaiESAkACfwJAIAEgDEEsahCMASIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIOQeEARw0BDAMLIAVBIHIiDkHhAEYNAiAMKAIsIQlBBiADIANBAEgbDAELIAwgBkEdayIJNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAJQQBOG2oiDSEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIAlBAEwEQCAJIQMgByEGIA0hCAwBCyANIQggCSEDA0BBHSADIANBHU4bIQMCQCAHQQRrIgYgCEkNACADrSEaQgAhGQNAIAYgGUL/////D4MgBjUCACAahnwiG0KAlOvcA4AiGUKA7JSjDH4gG3w+AgAgBkEEayIGIAhPDQALIBmnIgZFDQAgCEEEayIIIAY2AgALA0AgCCAHIgZJBEAgBkEEayIHKAIARQ0BCwsgDCAMKAIsIANrIgM2AiwgBiEHIANBAEoNAAsLIANBAEgEQCALQRlqQQluQQFqIQ8gDkHmAEYhEANAQQlBACADayIDIANBCU4bIQoCQCAGIAhNBEAgCCgCACEHDAELQYCU69wDIAp2IRRBfyAKdEF/cyEWQQAhAyAIIQcDQCAHIAMgBygCACIXIAp2ajYCACAWIBdxIBRsIQMgB0EEaiIHIAZJDQALIAgoAgAhByADRQ0AIAYgAzYCACAGQQRqIQYLIAwgDCgCLCAKaiIDNgIsIA0gCCAHRUECdGoiCCAQGyIHIA9BAnRqIAYgBiAHa0ECdSAPShshBiADQQBIDQALC0EAIQMCQCAGIAhNDQAgDSAIa0ECdUEJbCEDQQohByAIKAIAIgpBCkkNAANAIANBAWohAyAKIAdBCmwiB08NAAsLIAsgA0EAIA5B5gBHG2sgDkHnAEYgC0EAR3FrIgcgBiANa0ECdUEJbEEJa0gEQEEEQaQCIAlBAEgbIAxqIAdBgMgAaiIKQQltIg9BAnRqQdAfayEJQQohByAPQXdsIApqIgpBB0wEQANAIAdBCmwhByAKQQFqIgpBCEcNAAsLAkAgCSgCACIQIBAgB24iDyAHbCIKRiAJQQRqIhQgBkZxDQAgECAKayEQAkAgD0EBcUUEQEQAAAAAAABAQyEBIAdBgJTr3ANHIAggCU9yDQEgCUEEay0AAEEBcUUNAQtEAQAAAAAAQEMhAQtEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gBiAURhtEAAAAAAAA+D8gECAHQQF2IhRGGyAQIBRJGyEYAkAgFQ0AIBMtAABBLUcNACAYmiEYIAGaIQELIAkgCjYCACABIBigIAFhDQAgCSAHIApqIgM2AgAgA0GAlOvcA08EQANAIAlBADYCACAIIAlBBGsiCUsEQCAIQQRrIghBADYCAAsgCSAJKAIAQQFqIgM2AgAgA0H/k+vcA0sNAAsLIA0gCGtBAnVBCWwhA0EKIQcgCCgCACIKQQpJDQADQCADQQFqIQMgCiAHQQpsIgdPDQALCyAJQQRqIgcgBiAGIAdLGyEGCwNAIAYiByAITSIKRQRAIAdBBGsiBigCAEUNAQsLAkAgDkHnAEcEQCAEQQhxIQkMAQsgA0F/c0F/IAtBASALGyIGIANKIANBe0pxIgkbIAZqIQtBf0F+IAkbIAVqIQUgBEEIcSIJDQBBdyEGAkAgCg0AIAdBBGsoAgAiDkUNAEEKIQpBACEGIA5BCnANAANAIAYiCUEBaiEGIA4gCkEKbCIKcEUNAAsgCUF/cyEGCyAHIA1rQQJ1QQlsIQogBUFfcUHGAEYEQEEAIQkgCyAGIApqQQlrIgZBACAGQQBKGyIGIAYgC0obIQsMAQtBACEJIAsgAyAKaiAGakEJayIGQQAgBkEAShsiBiAGIAtKGyELC0F/IQogC0H9////B0H+////ByAJIAtyIhAbSg0BIAsgEEEAR2pBAWohDgJAIAVBX3EiFUHGAEYEQCADIA5B/////wdzSg0DIANBACADQQBKGyEGDAELIBIgAyADQR91IgZzIAZrrSASEEciBmtBAUwEQANAIAZBAWsiBkEwOgAAIBIgBmtBAkgNAAsLIAZBAmsiDyAFOgAAIAZBAWtBLUErIANBAEgbOgAAIBIgD2siBiAOQf////8Hc0oNAgsgBiAOaiIDIBFB/////wdzSg0BIABBICACIAMgEWoiBSAEECkgACATIBEQJiAAQTAgAiAFIARBgIAEcxApAkACQAJAIBVBxgBGBEAgDEEQaiIGQQhyIQMgBkEJciEJIA0gCCAIIA1LGyIKIQgDQCAINQIAIAkQRyEGAkAgCCAKRwRAIAYgDEEQak0NAQNAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsMAQsgBiAJRw0AIAxBMDoAGCADIQYLIAAgBiAJIAZrECYgCEEEaiIIIA1NDQALIBAEQCAAQYwlQQEQJgsgC0EATCAHIAhNcg0BA0AgCDUCACAJEEciBiAMQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwsgACAGQQkgCyALQQlOGxAmIAtBCWshBiAIQQRqIgggB08NAyALQQlKIQMgBiELIAMNAAsMAgsCQCALQQBIDQAgByAIQQRqIAcgCEsbIQogDEEQaiIGQQhyIQMgBkEJciENIAghBwNAIA0gBzUCACANEEciBkYEQCAMQTA6ABggAyEGCwJAIAcgCEcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAAgBkEBECYgBkEBaiEGIAkgC3JFDQAgAEGMJUEBECYLIAAgBiALIA0gBmsiBiAGIAtKGxAmIAsgBmshCyAHQQRqIgcgCk8NASALQQBODQALCyAAQTAgC0ESakESQQAQKSAAIA8gEiAPaxAmDAILIAshBgsgAEEwIAZBCWpBCUEAECkLIABBICACIAUgBEGAwABzECkgBSACIAIgBUgbIQoMAQsgEyAFQRp0QR91QQlxaiELAkAgA0ELSw0AQQwgA2shBkQAAAAAAAAwQCEYA0AgGEQAAAAAAAAwQKIhGCAGQQFrIgYNAAsgCy0AAEEtRgRAIBggAZogGKGgmiEBDAELIAEgGKAgGKEhAQsgEUECciEJIAVBIHEhCCASIAwoAiwiByAHQR91IgZzIAZrrSASEEciBkYEQCAMQTA6AA8gDEEPaiEGCyAGQQJrIg0gBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQYgDEEQaiEHA0AgByIFAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdBkC9qLQAAIAhyOgAAIAYgA0EASnJFIAEgB7ehRAAAAAAAADBAoiIBRAAAAAAAAAAAYXEgBUEBaiIHIAxBEGprQQFHckUEQCAFQS46AAEgBUECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQpB/f///wcgCSASIA1rIgVqIgZrIANIDQAgAEEgIAIgBgJ/AkAgA0UNACAHIAxBEGprIghBAmsgA04NACADQQJqDAELIAcgDEEQamsiCAsiB2oiAyAEECkgACALIAkQJiAAQTAgAiADIARBgIAEcxApIAAgDEEQaiAIECYgAEEwIAcgCGtBAEEAECkgACANIAUQJiAAQSAgAiADIARBgMAAcxApIAMgAiACIANIGyEKCyAMQbAEaiQAIAoLRgEBfyAAKAI8IQMjAEEQayIAJAAgAyABpyABQiCIpyACQf8BcSAAQQhqEBQQjQEhAiAAKQMIIQEgAEEQaiQAQn8gASACGwu+AgEHfyMAQSBrIgMkACADIAAoAhwiBDYCECAAKAIUIQUgAyACNgIcIAMgATYCGCADIAUgBGsiATYCFCABIAJqIQVBAiEGIANBEGohAQJ/A0ACQAJAAkAgACgCPCABIAYgA0EMahAYEI0BRQRAIAUgAygCDCIHRg0BIAdBAE4NAgwDCyAFQX9HDQILIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwDCyABIAcgASgCBCIISyIJQQN0aiIEIAcgCEEAIAkbayIIIAQoAgBqNgIAIAFBDEEEIAkbaiIBIAEoAgAgCGs2AgAgBSAHayEFIAYgCWshBiAEIQEMAQsLIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBkECRg0AGiACIAEoAgRrCyEEIANBIGokACAECwkAIAAoAjwQGQsjAQF/Qcg7KAIAIgAEQANAIAAoAgARCQAgACgCBCIADQALCwu/AgEFfyMAQeAAayICJAAgAiAANgIAIwBBEGsiAyQAIAMgAjYCDCMAQZABayIAJAAgAEGgL0GQARArIgAgAkEQaiIFIgE2AiwgACABNgIUIABB/////wdBfiABayIEIARB/////wdPGyIENgIwIAAgASAEaiIBNgIcIAAgATYCECAAQbsTIAJBAEEAEIsBGiAEBEAgACgCFCIBIAEgACgCEEZrQQA6AAALIABBkAFqJAAgA0EQaiQAAkAgBSIAQQNxBEADQCAALQAARQ0CIABBAWoiAEEDcQ0ACwsDQCAAIgFBBGohACABKAIAIgNBf3MgA0GBgoQIa3FBgIGChHhxRQ0ACwNAIAEiAEEBaiEBIAAtAAANAAsLIAAgBWtBAWoiABBhIgEEfyABIAUgABArBUEACyEAIAJB4ABqJAAgAAvFAQICfwF8IwBBMGsiBiQAIAEoAgghBwJAQbQ7LQAAQQFxBEBBsDsoAgAhAQwBC0EFQZAnEAwhAUG0O0EBOgAAQbA7IAE2AgALIAYgBTYCKCAGIAQ4AiAgBiADNgIYIAYgAjgCEAJ/IAEgB0GXGyAGQQxqIAZBEGoQEiIIRAAAAAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCQARAjCwwAIAAoAghB6BwQZgsJACAAEJIBECMLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEwEB4gAkEwECshACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEdAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALERIACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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
If you still wish to intercept this unhandled request, please create a request handler for it.
Read more: https://mswjs.io/docs/http/intercepting-requests
(node:7529) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/readStdin.test.ts (6 tests) 213ms
stderr | src/config/config.test.ts > loadCliConfig > Proxy configuration > should leave proxy to empty by default
innerError Error: Cannot find module '../build/Debug/pty.node'
Require stack:
- /build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/unixTerminal.js
- /build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/index.js
[90m at Module._resolveFilename (node:internal/modules/cjs/loader:1447:15)[39m
[90m at defaultResolveImpl (node:internal/modules/cjs/loader:1058:19)[39m
[90m at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1063:22)[39m
[90m at Module._load (node:internal/modules/cjs/loader:1233:25)[39m
[90m at TracingChannel.traceSync (node:diagnostics_channel:328:14)[39m
[90m at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)[39m
[90m at Module.require (node:internal/modules/cjs/loader:1547:12)[39m
[90m at require (node:internal/modules/helpers:152:16)[39m
at Object. (/build/gemini-cli/src/gemini-cli/node_modules/[4mnode-pty[24m/src/unixTerminal.ts:20:11)
[90m at Module._compile (node:internal/modules/cjs/loader:1803:14)[39m {
code: [32m'MODULE_NOT_FOUND'[39m,
requireStack: [
[32m'/build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/unixTerminal.js'[39m,
[32m'/build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/index.js'[39m
]
}
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx (7 tests | 1 failed) 2993ms
โ PermissionsModifyTrustDialog > should render the main dialog with current trust level 723ms
โ PermissionsModifyTrustDialog > should display the inherited trust note from parent 222ms
โ PermissionsModifyTrustDialog > should display the inherited trust note from IDE 177ms
ร PermissionsModifyTrustDialog > should render the labels with folder names 1343ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust this folder (dir)'
โ PermissionsModifyTrustDialog > should call onExit when escape is pressed 167ms
โ PermissionsModifyTrustDialog > should commit and restart `r` keypress 177ms
โ PermissionsModifyTrustDialog > should not commit when escape is pressed during restart prompt 169ms
โ src/ui/commands/bugCommand.test.ts (3 tests) 271ms
(node:7508) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/extension-manager-scope.test.ts (3 tests) 208ms
โฏ src/ui/components/shared/MaxSizedBox.test.tsx (12 tests | 3 failed) 4278ms
โ > renders children without truncation when they fit 518ms
โ > hides lines when content exceeds maxHeight 91ms
โ > hides lines at the end when content exceeds maxHeight and overflowDirection is bottom 71ms
โ > shows plural "lines" when more than one line is hidden 59ms
โ > shows singular "line" when exactly one line is hidden 74ms
โ > accounts for additionalHiddenLinesCount 64ms
โ > wraps text that exceeds maxWidth 54ms
โ > does not truncate when maxHeight is undefined 36ms
โ > renders an empty box for empty children 28ms
ร > handles React.Fragment as a child 1118ms
โ expected '\n\n' to contain 'Line 1 from Fragment'
ร > clips a long single text child from the top 1071ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain '... first 21 lines hidden ...'
ร > clips a long single text child from the bottom 1073ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain '... last 21 lines hidden ...'
(node:3351) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
stderr | src/ui/themes/theme-manager.test.ts > ThemeManager > when loading a theme from a file > should not load a theme if the file does not exist
Theme file at "./my-theme.json" is outside your home directory. Only load themes from trusted sources.
stderr | src/ui/themes/theme-manager.test.ts > ThemeManager > when loading a theme from a file > should not load a theme from a file with invalid JSON
Theme file at "./my-theme.json" is outside your home directory. Only load themes from trusted sources.
โ src/ui/themes/theme-manager.test.ts (12 tests) 210ms
(node:7528) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7603) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/extensions/enable.test.ts (7 tests) 213ms
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with yolo approval mode
YOLO mode is enabled. All tool calls will be automatically approved.
โ src/ui/components/StatusDisplay.test.tsx (13 tests) 851ms
(node:7623) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with legacy yolo flag
YOLO mode is enabled. All tool calls will be automatically approved.
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
YOLO mode is enabled. All tool calls will be automatically approved.
(node:7651) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
YOLO mode is enabled. All tool calls will be automatically approved.
โ src/ui/App.test.tsx (11 tests) 1307ms
โ App > should render main content and composer when not quitting 437ms
โ App > should render full history in alternate buffer mode when quittingMessages is set 476ms
โ src/ui/contexts/SessionContext.test.tsx (4 tests) 460ms
โ SessionStatsContext > should provide the correct initial state 325ms
(node:7708) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a http source
Extension "http-extension" installed successfully and enabled.
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a https source
Extension "https-extension" installed successfully and enabled.
(node:7637) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a git source
Extension "git-extension" installed successfully and enabled.
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a sso source
Extension "sso-extension" installed successfully and enabled.
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a local path
Extension "local-extension" installed successfully and enabled.
โ src/commands/extensions/install.test.ts (8 tests) 370ms
โ src/ui/utils/formatters.test.ts (28 tests) 158ms
โ src/commands/extensions/link.test.ts (5 tests) 394ms
(node:7684) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/extension-manager-skills.test.ts (3 tests) 2131ms
โ ExtensionManager skills validation > should emit a warning during install if skills directory is not empty but no skills are loaded 1286ms
โ ExtensionManager skills validation > should emit a warning during load if skills directory is not empty but no skills are loaded 436ms
โ ExtensionManager skills validation > should succeed if skills are correctly loaded 394ms
(node:7780) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 1265ms
โ > should render "no tool calls" message when there are no active tools 657ms
stderr | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO
YOLO mode is enabled. All tool calls will be automatically approved.
โฏ src/ui/components/ThemeDialog.test.tsx (9 tests | 5 failed) 8593ms
โ ThemeDialog Snapshots > should render correctly in theme selection mode 2865ms
ร ThemeDialog Snapshots > should render correctly in scope selector mode 1051ms
โ Snapshot `ThemeDialog Snapshots > should render correctly in scope selector mode 1` mismatched
โ ThemeDialog Snapshots > should call onCancel when ESC is pressed 544ms
โ ThemeDialog Snapshots > should call refreshStatic when a theme is selected 671ms
ร Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set 790ms
โ Snapshot `Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set 1` mismatched
ร Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set 690ms
โ Snapshot `Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set 1` mismatched
ร Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type 751ms
โ Snapshot `Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type 1` mismatched
ร Hint Visibility > should show hint when theme background matches terminal background 685ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '(Matches terminal)'
โ Hint Visibility > should not show hint when theme background does not match terminal background 531ms
stderr | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in non-interactive mode with YOLO
YOLO mode is enabled. All tool calls will be automatically approved.
(node:7709) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7752) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/gemini_cleanup.test.tsx (1 test) 871ms
โ gemini.tsx main function cleanup > should log error when cleanupExpiredSessions fails 853ms
โ src/config/settings_repro.test.ts (1 test) 137ms
โ src/ui/utils/terminalSetup.test.ts (9 tests) 235ms
(node:7799) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useHookDisplayState.test.ts (6 tests) 419ms
(node:7860) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 514ms
โ RadioButtonSelect > Prop forwarding to BaseSelectionList > should forward all props correctly when provided 356ms
(node:7819) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7820) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx (2 tests | 1 failed) 2553ms
โ ToolMessage Sticky Header Regression > verifies that multiple ToolMessages in a ToolGroupMessage in a ScrollableList have sticky headers 1271ms
ร ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers 1267ms
โ expected '\n\n\n\n' to contain 'Shell Command'
stderr | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if positional prompt words are provided with multiple flags
YOLO mode is enabled. All tool calls will be automatically approved.
โ src/ui/contexts/MouseContext.test.tsx (15 tests) 512ms
โ src/ui/utils/MarkdownDisplay.test.tsx (30 tests) 4083ms
โ > renders nothing for empty text 398ms
โ > with 'Windows' line endings > renders a fenced code block without a language 1228ms
(node:7908) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used
YOLO mode is enabled. All tool calls will be automatically approved.
โ src/ui/utils/mouse.test.ts (17 tests) 159ms
stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when -y flag is used
YOLO mode is enabled. All tool calls will be automatically approved.
โ src/ui/components/ValidationDialog.test.tsx (7 tests) 1181ms
โ ValidationDialog > initial render (choosing state) > should render the main message and two options 639ms
(node:7909) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7871) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo
YOLO mode is enabled. All tool calls will be automatically approved.
stderr | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set
YOLO mode is enabled. All tool calls will be automatically approved.
(node:7987) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT
YOLO mode is enabled. All tool calls will be automatically approved.
Approval mode overridden to "default" because the current folder is not trusted.
โ src/utils/dialogScopeUtils.test.ts (4 tests) 72ms
stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT
Approval mode overridden to "default" because the current folder is not trusted.
stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT
YOLO mode is enabled. All tool calls will be automatically approved.
Approval mode overridden to "default" because the current folder is not trusted.
โ src/utils/cleanup.test.ts (8 tests) 137ms
โ src/ui/components/views/McpStatus.test.tsx (13 tests) 1539ms
โ McpStatus > renders correctly with a connected server 546ms
โ src/zed-integration/fileSystemService.test.ts (4 tests) 115ms
(node:7940) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/Header.test.tsx (9 tests) 1380ms
โ > renders the long logo on a wide terminal 528ms
โ src/ui/components/DialogManager.test.tsx (17 tests) 1193ms
โ DialogManager > renders nothing by default 329ms
โ src/ui/IdeIntegrationNudge.test.tsx (6 tests) 3290ms
โ IdeIntegrationNudge > renders correctly with default options 715ms
โ IdeIntegrationNudge > handles "Yes" selection 481ms
โ IdeIntegrationNudge > handles "No" selection 630ms
โ IdeIntegrationNudge > handles "Dismiss" selection 752ms
โ IdeIntegrationNudge > displays correct text and handles selection when extension is pre-installed 412ms
โ src/ui/components/AppHeader.test.tsx (8 tests) 2916ms
โ > should render the banner with default text 1257ms
โ > should render the banner with warning text 320ms
โ > should render the banner when previewFeatures is disabled 339ms
(node:8142) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8069) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/userStartupWarnings.test.ts (7 tests) 145ms
(node:8015) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8035) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8176) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/utils/textOutput.test.ts (10 tests) 132ms
(node:8054) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should call addItem with all version info
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should show the correct sandbox environment variable
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should show sandbox-exec profile when applicable
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should not show ide client when it is not detected
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
โ src/ui/commands/aboutCommand.test.ts (5 tests) 528ms
โ aboutCommand > should have the correct name and description 337ms
โ src/ui/hooks/useConsoleMessages.test.tsx (7 tests) 504ms
โ useConsoleMessages > should initialize with an empty array of console messages 308ms
(node:8223) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8258) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8289) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8175) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/messages/ShellToolMessage.test.tsx (3 tests) 1347ms
โ > interactive shell focus > clicks inside the shell area sets focus to true 899ms
stderr | src/config/config.test.ts > loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true
YOLO mode is disabled by the "disableYolo" setting.
stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true
YOLO mode is disabled by "secureModeEnabled" setting.
โ src/commands/skills/enable.test.ts (4 tests) 82ms
stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true
YOLO mode is disabled by "secureModeEnabled" setting.
(node:8324) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/settings_validation_warning.test.ts (3 tests) 152ms
โ src/config/config.test.ts (162 tests) 34004ms
โ parseArguments > should throw an error when using conflicting prompt flags ('long flags') 392ms
โ loadCliConfig > Proxy configuration > should leave proxy to empty by default 981ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTPS_PROXY] 344ms
โ mergeExcludeTools > should handle overlapping excludeTools between extensions 381ms
โ Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with explicit default approval mode 342ms
โ Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode 1203ms
โ loadCliConfig with allowed-mcp-server-names > should override allowMCPServers with excludeMCPServers if overlapping 307ms
โ screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings true) 421ms
โ loadCliConfig interactive > should not be interactive if positional prompt words are provided with other flags 348ms
โ loadCliConfig interactive > should not be interactive if positional prompt words are provided with extensions flag 362ms
โ loadCliConfig interactive > should handle multiple positional words correctly 399ms
โ loadCliConfig interactive > should handle multiple positional words with flags 309ms
โ loadCliConfig interactive > should handle empty positional arguments 388ms
โ loadCliConfig approval mode > should set AUTO_EDIT approval mode when --approval-mode=auto_edit 355ms
โ loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set 496ms
โ loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT 325ms
โ loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when true 1451ms
โ Output format > should prioritize the format from argv 415ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings 529ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_TARGET over settings 310ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_LOG_PROMPTS over settings 334ms
โ Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='1' as true 364ms
โฏ src/ui/components/messages/Todo.test.tsx (14 tests | 3 failed) 1232ms
โ (showFullTodos: true) > renders null when no todos are in the history 233ms
โ (showFullTodos: true) > renders null when todo list is empty 13ms
โ (showFullTodos: true) > renders when todos exist but none are in progress 370ms
โ (showFullTodos: true) > renders when todos exist and one is in progress 75ms
โ (showFullTodos: true) > renders a todo list with long descriptions that wrap when full view is on 102ms
โ (showFullTodos: true) > renders the most recent todo list when multiple write_todos calls are in history 67ms
โ (showFullTodos: true) > renders full list when all todos are inactive 66ms
โ (showFullTodos: false) > renders null when no todos are in the history 9ms
โ (showFullTodos: false) > renders null when todo list is empty 10ms
โ (showFullTodos: false) > renders when todos exist but none are in progress 27ms
ร (showFullTodos: false) > renders when todos exist and one is in progress 135ms
โ Snapshot ` (showFullTodos: false) > renders when todos exist and one is in progress 1` mismatched
ร (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on 50ms
โ Snapshot ` (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on 1` mismatched
ร (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history 45ms
โ Snapshot ` (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history 1` mismatched
โ (showFullTodos: false) > renders full list when all todos are inactive 10ms
โ src/ui/components/messages/ToolResultDisplay.test.tsx (8 tests) 1804ms
โ ToolResultDisplay > renders string result as markdown by default 502ms
โ ToolResultDisplay > truncates very long string results 1089ms
(node:8331) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8231) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8396) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/EditorSettingsDialog.test.tsx (5 tests) 1537ms
โ EditorSettingsDialog > renders correctly 686ms
โ EditorSettingsDialog > switches focus between editor and scope sections on Tab 422ms
โ src/ui/components/views/ExtensionsList.test.tsx (11 tests) 1019ms
โ > should render "No extensions installed." if there are no extensions 450ms
(node:8325) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/extension-manager-agents.test.ts (2 tests) 1600ms
โ ExtensionManager agents loading > should load agents from an extension 1208ms
โ ExtensionManager agents loading > should log errors but continue if an agent fails to load 377ms
stderr | DebugLogger.error (/build/gemini-cli/src/gemini-cli/packages/core/src/utils/debugLogger.ts:60:13)
{"stack":"Error: PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED 127.0.0.1:4317)\n at PeriodicExportingMetricReader._doRun (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:144:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at PeriodicExportingMetricReader._runOnce (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:103:7)\n at PeriodicExportingMetricReader.onForceFlush (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:160:5)\n at PeriodicExportingMetricReader.onShutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:168:5)\n at PeriodicExportingMetricReader.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/MetricReader.ts:261:7)\n at MetricCollector.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/state/MetricCollector.ts:86:5)\n at async Promise.all (index 0)\n at MeterProvider.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/MeterProvider.ts:98:5)\n at async Promise.all (index 2)","message":"PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED 127.0.0.1:4317)","name":"Error"}
(node:8481) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/config/config.integration.test.ts (14 tests | 4 failed) 45277ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should load default file filtering seโฆ' 127ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should load custom file filtering setโฆ' 17ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should respect file filtering settingโฆ' 13ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should handle empty fileFiltering objโฆ' 11ms
โ Configuration Integration Tests > Real-world Configuration Scenarios > 'should handle a security-focused confโฆ' 13ms
โ Configuration Integration Tests > Real-world Configuration Scenarios > 'should handle a CI/CD environment conโฆ' 12ms
โ Configuration Integration Tests > Checkpointing Configuration > should enable checkpointing when the setting is true 14ms
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ' 10023ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=yolo corโฆ' 10048ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=default โฆ' 10013ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse legacy --yolo flag correโฆ' 10011ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should handle no approval mode argumeโฆ' 4616ms
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should reject invalid approval mode vโฆ' 206ms
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should reject conflicting --yolo and โฆ' 100ms
(node:8397) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/extensions/list.test.ts (5 tests) 153ms
(node:8423) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/persistentState.test.ts (5 tests) 150ms
โ src/ui/commands/authCommand.test.ts (9 tests) 361ms
โ src/ui/hooks/useFlickerDetector.test.ts (6 tests) 374ms
โฏ src/ui/components/FolderTrustDialog.test.tsx (9 tests | 4 failed) 2621ms
โ FolderTrustDialog > should render the dialog with title and description 708ms
โ FolderTrustDialog > should display exit message and call process.exit and not call onSelect when escape is pressed 349ms
โ FolderTrustDialog > should display restart message when isRestarting is true 126ms
โ FolderTrustDialog > should call relaunchApp when isRestarting is true 203ms
ร FolderTrustDialog > should not call relaunchApp if unmounted before timeout 408ms
โ expected "spy" to not be called at all, but actually been called 1 times[90m
Received:
[1m 1st spy call:
[22m Array []
[39m[90m
Number of calls: [1m1[22m
[39m
โ FolderTrustDialog > should not call process.exit when "r" is pressed and isRestarting is false 119ms
ร FolderTrustDialog > directory display > should correctly display the folder name for a nested directory 270ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust folder (project)'
ร FolderTrustDialog > directory display > should correctly display the parent folder name for a nested directory 242ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder (user)'
ร FolderTrustDialog > directory display > should correctly display an empty parent folder name for a directory directly under root 180ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder ()'
(node:8457) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/skills/uninstall.test.ts (5 tests) 102ms
โ src/ui/commands/compressCommand.test.ts (5 tests) 270ms
(node:8595) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8492) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/readStdin_safety.test.ts (2 tests) 77ms
(node:7012) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 resize listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx (5 tests | 1 failed) 2693ms
โ AlternateBufferQuittingDisplay > renders with active and pending tool messages 1477ms
โ AlternateBufferQuittingDisplay > renders with empty history and no pending items 192ms
โ AlternateBufferQuittingDisplay > renders with history but no pending items 303ms
โ AlternateBufferQuittingDisplay > renders with pending items but no history 269ms
ร AlternateBufferQuittingDisplay > renders with user and gemini messages 433ms
โ Snapshot `AlternateBufferQuittingDisplay > renders with user and gemini messages > with_user_gemini_messages 1` mismatched
โ src/ui/hooks/useFocus.test.tsx (6 tests) 342ms
(node:8525) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/utils/gitUtils.test.ts > isGitHubRepository > returns false if the git command fails
Failed to get git remote: Error: oops
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:29:13
at mockCall (file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/spy[24m/dist/index.js:96:15)
at execSync (file:///build/gemini-cli/src/gemini-cli/node_modules/[4mtinyspy[24m/dist/index.js:47:80)
at Module.isGitHubRepository [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.ts:18:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:31:12
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:155:11
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:26
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:1863:10)
(node:8659) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/utils/gitUtils.test.ts > getLatestRelease > throws an error if the fetch fails
Failed to determine latest run-gemini-cli release: nope
stdout | src/utils/gitUtils.test.ts > getLatestRelease > throws an error if the fetch does not return a json body
Failed to determine latest run-gemini-cli release: Error: Response did not include tag_name field
at Module.getLatestGitHubRelease [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.ts:83:13[90m)[39m
[90m at processTicksAndRejections (node:internal/process/task_queues:104:5)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:135:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20
โ src/utils/gitUtils.test.ts (12 tests) 210ms
(node:8573) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/shared/ExpandableText.test.tsx (7 tests) 755ms
โ ExpandableText > renders plain label when no match (short label) 402ms
โ src/ui/components/shared/EnumSelector.test.tsx (9 tests) 1090ms
โ > renders with string options and matches snapshot 626ms
โ src/ui/hooks/useBanner.test.ts (6 tests) 311ms
(node:8594) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8753) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8681) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8716) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/core/initializer.test.ts (5 tests) 154ms
(node:8892) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/utils/markdownUtilities.test.ts (7 tests) 69ms
(node:8760) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/privacy/CloudFreePrivacyNotice.test.tsx (9 tests) 1078ms
โ CloudFreePrivacyNotice > renders correctly in 'loading state' 426ms
(node:8793) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/skills/disable.test.ts (4 tests) 84ms
(node:8800) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8801) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8873) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8807) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8981) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/commands/extensions/validate.test.ts > handleValidate > should validate an extension from a local dir
Extension local-ext-name has been successfully validated.
stderr | src/commands/extensions/validate.test.ts > handleValidate > should warn if version is not formatted with semver
Validation warnings:
- Warning: Version '1' does not appear to be standard semver (e.g., 1.0.0).
stdout | src/commands/extensions/validate.test.ts > handleValidate > should warn if version is not formatted with semver
Extension valid-name has been successfully validated.
โ src/commands/extensions/validate.test.ts (5 tests) 380ms
โ src/ui/hooks/useTimer.test.tsx (8 tests) 475ms
(node:8921) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8922) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/clearCommand.test.ts (2 tests) 276ms
โ src/ui/commands/permissionsCommand.test.ts (7 tests) 321ms
โ src/commands/skills/list.test.ts (5 tests) 170ms
(node:9072) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8989) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8988) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/ConfigInitDisplay.test.tsx (4 tests) 572ms
โ ConfigInitDisplay > renders initial state 439ms
(node:9096) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9052) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9103) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/auth/ApiAuthDialog.test.tsx (6 tests) 1017ms
โ ApiAuthDialog > renders correctly 609ms
โ src/config/extensions/variables.test.ts (10 tests) 174ms
โ src/utils/skillUtils.test.ts (3 tests) 357ms
โ src/ui/hooks/useAnimatedScrollbar.test.tsx (7 tests) 389ms
โ src/ui/hooks/usePrivacySettings.test.tsx (4 tests) 414ms
โ src/ui/hooks/useRewind.test.ts (5 tests) 342ms
โ src/ui/commands/policiesCommand.test.ts (4 tests) 261ms
โ src/ui/commands/toolsCommand.test.ts (4 tests) 265ms
โ src/ui/components/views/SkillsList.test.tsx (6 tests) 817ms
โ SkillsList Component > should render enabled and disabled skills separately 532ms
(node:9136) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/utils/input.test.ts (6 tests) 62ms
โ src/ui/components/AnsiOutput.test.tsx (12 tests) 752ms
โ > renders a simple AnsiOutput object correctly 351ms
(node:9156) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/core/auth.test.ts (3 tests) 83ms
(node:9176) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9183) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/config/skills-backward-compatibility.test.ts (5 tests) 1060ms
โ Agent Skills Backward Compatibility > loadCliConfig > should default skillsSupport to true when no settings are present 488ms
โ src/ui/components/GradientRegression.test.tsx (5 tests) 2706ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 1365ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 768ms
โ src/config/auth.test.ts (8 tests) 85ms
(node:9282) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/initCommand.test.ts (3 tests) 265ms
โ src/ui/components/MainContent.test.tsx (3 tests) 674ms
โ MainContent > renders in normal buffer mode 538ms
(node:9349) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
stdout | src/commands/extensions/new.test.ts > extensions new command > should create directory when no template is provided
Successfully created new extension at /some/path.
You can install this using "gemini extensions link /some/path" to test it out.
stdout | src/commands/extensions/new.test.ts > extensions new command > should create directory and copy files when path does not exist
Successfully created new extension from template "context" at /some/path.
You can install this using "gemini extensions link /some/path" to test it out.
โ src/commands/extensions/new.test.ts (4 tests) 381ms
(node:9224) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9421) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9435) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/extensions.test.tsx (3 tests) 124ms
โ src/ui/commands/statsCommand.test.ts (4 tests) 194ms
(node:9472) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 623ms
โ > should render on a single line on a wide screen 422ms
(node:9348) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/commands/docsCommand.test.ts (3 tests) 258ms
(node:9369) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9283) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/shared/Scrollable.test.tsx (4 tests) 1062ms
โ > renders children 639ms
โ src/ui/hooks/useSnowfall.test.tsx (5 tests) 651ms
โ useSnowfall > initially enables animation during holiday season with Holiday theme 453ms
โ src/config/extensions/storage.test.ts (5 tests) 283ms
โ src/ui/components/ConsentPrompt.test.tsx (5 tests) 812ms
โ ConsentPrompt > renders a string prompt with MarkdownDisplay 543ms
(node:9492) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/ContextUsageDisplay.test.tsx (3 tests) 480ms
โ ContextUsageDisplay > renders correct percentage left 417ms
โ src/ui/utils/displayUtils.test.ts (8 tests) 124ms
(node:9577) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/SuggestionsDisplay.test.tsx (6 tests) 796ms
โ SuggestionsDisplay > renders loading state 472ms
(node:9516) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9517) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9530) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useMcpStatus.test.tsx (4 tests) 298ms
โ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 76ms
โ src/commands/utils.test.ts (2 tests) 48ms
โ src/utils/resolvePath.test.ts (7 tests) 64ms
โ src/ui/auth/AuthInProgress.test.tsx (5 tests) 811ms
โ AuthInProgress > renders initial state with spinner 522ms
(node:9576) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9678) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 1078ms
โ IdeTrustChangeDialog > renders the correct message for CONNECTION_CHANGE 734ms
(node:9624) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/test-utils/render.test.tsx (6 tests) 576ms
โ render > should render a component 348ms
(node:9644) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9808) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9665) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/ShellInputPrompt.test.tsx (7 tests) 288ms
(node:9664) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/startupWarnings.test.ts (4 tests) 60ms
(node:9815) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/GeminiRespondingSpinner.test.tsx (5 tests) 372ms
(node:9710) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/checks.test.ts (3 tests) 76ms
(node:9712) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/events.test.ts (2 tests) 73ms
(node:9868) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/hooks/useBatchedScroll.test.ts (7 tests) 429ms
โ src/config/settingPaths.test.ts (2 tests) 59ms
(node:9847) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/LogoutConfirmationDialog.test.tsx (5 tests) 1061ms
โ LogoutConfirmationDialog > should render the dialog with title, description, and hint 651ms
โ src/ui/utils/ui-sizing.test.ts (10 tests) 109ms
โ src/ui/components/QueuedMessageDisplay.test.tsx (5 tests) 861ms
โ QueuedMessageDisplay > displays single queued message 360ms
(node:9887) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9947) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/updateEventEmitter.test.ts (1 test) 63ms
(node:9968) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:10082) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:9988) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (2 tests) 975ms
โ DescriptiveRadioButtonSelect > should render correctly with default props 675ms
โ src/utils/math.test.ts (7 tests) 73ms
โ src/ui/hooks/useMouseClick.test.ts (2 tests) 304ms
โ src/ui/auth/LoginWithGoogleRestartDialog.test.tsx (4 tests) 921ms
โ LoginWithGoogleRestartDialog > renders correctly 666ms
โ src/ui/hooks/useMemoryMonitor.test.tsx (3 tests) 405ms
(node:10028) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/RewindConfirmation.test.tsx (4 tests | 2 failed) 1632ms
โ RewindConfirmation > renders correctly with stats 926ms
ร RewindConfirmation > renders correctly without stats 263ms
โ Snapshot `RewindConfirmation > renders correctly without stats 1` mismatched
โ RewindConfirmation > calls onConfirm with Cancel on Escape 207ms
ร RewindConfirmation > renders timestamp when provided 218ms
โ Snapshot `RewindConfirmation > renders timestamp when provided 1` mismatched
(node:10035) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โฏ src/ui/components/messages/ToolMessageRawMarkdown.test.tsx (6 tests | 2 failed) 2160ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(default, regular buffer)' 1079ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(default, alternate buffer)' 183ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=false, useAlternateBuffer=false '(raw markdown, regular buffer)' 258ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=false, useAlternateBuffer=true '(raw markdown, alternate buffer)' 171ms
ร - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(constrained height, regular buffer -โฆ' 269ms
โ Snapshot ` - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(constrained height, regular buffer -โฆ' 1` mismatched
ร - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(constrained height, alternate bufferโฆ' 184ms
โ Snapshot ` - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(constrained height, alternate bufferโฆ' 1` mismatched
โ src/ui/components/SessionSummaryDisplay.test.tsx (1 test) 1052ms
โ > renders the summary display with a title 1035ms
(node:10069) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/utils/clipboardUtils.windows.test.ts (1 test) 134ms
โ src/ui/hooks/useMouse.test.ts (4 tests) 306ms
(node:10068) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/DetailedMessagesDisplay.test.tsx (3 tests) 663ms
โ DetailedMessagesDisplay > renders messages correctly 414ms
(node:10152) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/commands/skills.test.tsx (3 tests) 109ms
โ src/ui/components/ShowMoreLines.test.tsx (5 tests) 448ms
(node:10179) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/test-utils/mockCommandContext.test.ts (3 tests) 237ms
โ src/ui/privacy/PrivacyNotice.test.tsx (4 tests) 621ms
โ PrivacyNotice > renders 'GeminiPrivacyNotice' when authType is 'gemini-api-key' 540ms
โ src/ui/hooks/useReactToolScheduler.test.ts (1 test) 269ms
(node:10225) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ui/components/Help.test.tsx (3 tests) 1304ms
โ Help Component > should not render hidden commands 881ms
โ src/ui/components/ExitWarning.test.tsx (4 tests) 488ms
โ src/core/theme.test.ts (3 tests) 66ms
โ src/ui/commands/modelCommand.test.ts (3 tests) 205ms
โ src/ui/components/QuittingDisplay.test.tsx (2 tests) 490ms
โ src/ui/components/AboutBox.test.tsx (5 tests) 1136ms
โ AboutBox > renders with required props 737ms
โ src/ui/components/Table.test.tsx (3 tests) 865ms
โ Table > should render headers and data correctly 746ms
โ src/ui/commands/helpCommand.test.ts (2 tests) 176ms
โ src/ui/commands/quitCommand.test.ts (1 test) 168ms
โ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 159ms
โ src/ui/components/HookStatusDisplay.test.tsx (4 tests) 455ms
โ > should render a single executing hook 372ms
โ src/ui/components/views/ToolsList.test.tsx (3 tests) 786ms
โ > renders correctly with descriptions 615ms
โ src/ui/commands/privacyCommand.test.ts (2 tests) 156ms
โ src/ui/utils/CodeColorizer.test.tsx (1 test) 623ms
โ colorizeCode > renders empty lines correctly when useAlternateBuffer is true 610ms
โ src/ui/components/messages/GeminiMessage.test.tsx (4 tests) 993ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true '(default)' 669ms
โ src/ui/components/MemoryUsageDisplay.test.tsx (2 tests) 494ms
โ MemoryUsageDisplay > renders memory usage 423ms
โ src/ui/components/views/ChatList.test.tsx (3 tests) 490ms
โ > renders correctly with a list of chats 400ms
โ src/commands/mcp.test.ts (3 tests) 200ms
โฏ src/ui/components/shared/performance.test.ts (3 tests | 2 failed) 23050ms
ร text-buffer performance > should handle pasting large amounts of text efficiently 13531ms
โ expected 13155 to be less than 5000
ร text-buffer performance > should handle character-by-character insertion in a large buffer efficiently 9455ms
โ expected 7406 to be less than 5000
โ text-buffer performance > should highlight many lines efficiently 49ms
โ src/ui/hooks/useModelCommand.test.tsx (3 tests) 384ms
โ useModelCommand > should initialize with the model dialog closed 326ms
โ src/ui/commands/themeCommand.test.ts (2 tests) 135ms
โ src/ui/components/messages/RedirectionConfirmation.test.tsx (1 test) 1312ms
โ ToolConfirmationMessage Redirection > should display redirection warning and tip for redirected commands 960ms
โ src/ui/components/AdminSettingsChangedDialog.test.tsx (4 tests) 712ms
โ AdminSettingsChangedDialog > renders correctly 513ms
โ src/ui/components/AutoAcceptIndicator.test.tsx (3 tests) 363ms
โ AutoAcceptIndicator > renders correctly for AUTO_EDIT mode 311ms
โ src/ui/components/CopyModeWarning.test.tsx (2 tests) 341ms
โ src/ui/commands/corgiCommand.test.ts (2 tests) 176ms
โ src/ui/privacy/GeminiPrivacyNotice.test.tsx (2 tests) 552ms
โ GeminiPrivacyNotice > renders correctly 443ms
โ src/ui/commands/editorCommand.test.ts (2 tests) 123ms
โ src/ui/commands/settingsCommand.test.ts (2 tests) 160ms
โ src/ui/components/RawMarkdownIndicator.test.tsx (2 tests) 413ms
โ RawMarkdownIndicator > renders correct key binding for darwin 377ms
โ src/ui/components/messages/UserMessage.test.tsx (3 tests) 373ms
โ UserMessage > renders normal user message with correct prefix 315ms
โ src/ui/privacy/CloudPaidPrivacyNotice.test.tsx (2 tests) 710ms
โ CloudPaidPrivacyNotice > renders correctly 613ms
โฏ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests | 1 failed) 1186ms
โ LoopDetectionConfirmation > renders correctly 652ms
ร LoopDetectionConfirmation > contains the expected options 521ms
โ expected ' โญโฎ\n โโ?\n โโ\n โโT\n โโh\n โโi\n โโโฆ' to contain 'A potential loop was detected'
โ src/ui/components/messages/InfoMessage.test.tsx (3 tests) 438ms
โ InfoMessage > renders with the correct default prefix and text 380ms
โ src/utils/processUtils.test.ts (1 test) 52ms
โ src/ui/components/ConsoleSummaryDisplay.test.tsx (3 tests) 438ms
โ src/ui/components/ThemedGradient.test.tsx (1 test) 332ms
โ ThemedGradient > renders children 320ms
โ src/ui/components/Banner.test.tsx (3 tests) 536ms
โ Banner > renders in warning mode 425ms
โ src/ui/components/StickyHeader.test.tsx (2 tests) 514ms
โ StickyHeader > renders children with isFirst=true 456ms
โ src/ui/components/CliSpinner.test.tsx (1 test) 340ms
โ > should increment debugNumAnimatedComponents on mount and decrement on unmount 329ms
โ src/ui/utils/InlineMarkdownRenderer.test.ts (7 tests) 115ms
โ src/ui/components/messages/WarningMessage.test.tsx (2 tests) 459ms
โ WarningMessage > renders with the correct prefix and text 411ms
โ src/ui/components/ShellModeIndicator.test.tsx (1 test) 300ms
โ src/ui/components/Tips.test.tsx (2 tests) 370ms
โ Tips > renders correct tips when file count is 0 329ms
โ src/ui/components/messages/ErrorMessage.test.tsx (2 tests) 489ms
โ ErrorMessage > renders with the correct prefix and text 447ms
โ src/ui/components/UpdateNotification.test.tsx (1 test) 353ms
โ UpdateNotification > renders message 343ms
โฏโฏโฏโฏโฏโฏ Failed Suites 2 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/ui/hooks/useAtCompletion.test.ts [ src/ui/hooks/useAtCompletion.test.ts ]
FAIL src/ui/hooks/useAtCompletion_agents.test.ts [ src/ui/hooks/useAtCompletion_agents.test.ts ]
Error: The @lydell/node-pty package currently does not support your platform: linux-riscv64
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:12:19
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
Caused by: Error: Cannot find module '@lydell/node-pty-linux-riscv64/pty.node'
Require stack:
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:7:16
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ
Serialized Error: { code: 'MODULE_NOT_FOUND', requireStack: [ '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js' ] }
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/125]โฏ
โฏโฏโฏโฏโฏโฏ Failed Tests 123 โฏโฏโฏโฏโฏโฏ
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=yolo corโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=default โฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse legacy --yolo flag correโฆ'
Error: Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
โฏ src/config/config.integration.test.ts:173:5
171| let parseArguments: typeof import('./config.js').parseArguments;
172|
173| beforeEach(async () => {
| ^
174| // Import the argument parsing function for integration testing
175| const { parseArguments: parseArgs } = await import('./config.js'โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/125]โฏ
FAIL src/services/BuiltinCommandLoader.test.ts > BuiltinCommandLoader profile > should not include profile command when isDevelopment is false
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/services/BuiltinCommandLoader.test.ts:272:3
270| });
271|
272| it('should not include profile command when isDevelopment is false',โฆ
| ^
273| process.env['NODE_ENV'] = 'production';
274| const { BuiltinCommandLoader } = await import('./BuiltinCommandLoaโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[3/125]โฏ
FAIL src/services/BuiltinCommandLoader.test.ts > BuiltinCommandLoader profile > should include profile command when isDevelopment is true
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/services/BuiltinCommandLoader.test.ts:281:3
279| });
280|
281| it('should include profile command when isDevelopment is true', asynโฆ
| ^
282| process.env['NODE_ENV'] = 'development';
283| const { BuiltinCommandLoader } = await import('./BuiltinCommandLoaโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[4/125]โฏ
FAIL src/ui/components/AlternateBufferQuittingDisplay.test.tsx > AlternateBufferQuittingDisplay > renders with user and gemini messages
Error: Snapshot `AlternateBufferQuittingDisplay > renders with user and gemini messages > with_user_gemini_messages 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,8 +12,18 @@[39m
[2m 1. Ask questions, edit files, or run commands.[22m
[2m 2. Be specific for the best results.[22m
[2m 3. Create GEMINI.md files to customize your interactions with Gemini.[22m
[2m 4. /help for more information.[22m
[32m- > H[7mello Gemin[27mi[39m
[31m+ > H[39m
[31m+ e[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ G[39m
[31m+ e[39m
[31m+ m[39m
[31m+ i[39m
[31m+ n[39m
[31m+ [7m [27mi[39m
[2m โฆ Hello User!"[22m
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx:189:25
187| },
188| );
189| expect(lastFrame()).toMatchSnapshot('with_user_gemini_messages');
| ^
190| });
191| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[5/125]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > should not call relaunchApp if unmounted before timeout
AssertionError: expected "spy" to not be called at all, but actually been called 1 times[90m
Received:
[1m 1st spy call:
[22m Array []
[39m[90m
Number of calls: [1m1[22m
[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:102:29
100|
101| await vi.advanceTimersByTimeAsync(250);
102| expect(relaunchApp).not.toHaveBeenCalled();
| ^
103| vi.useRealTimers();
104| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[6/125]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > directory display > should correctly display the folder name for a nested directory
AssertionError: expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust folder (project)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust folder (project)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Do you trust this folder? โ[39m
[31m+ โ Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental โ[39m
[31m+ โ execution in untrusted directories. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:126:27
124| ,
125| );
126| expect(lastFrame()).toContain('Trust folder (project)');
| ^
127| });
128|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[7/125]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > directory display > should correctly display the parent folder name for a nested directory
AssertionError: expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder (user)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust parent folder (user)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Do you trust this folder? โ[39m
[31m+ โ Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental โ[39m
[31m+ โ execution in untrusted directories. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:134:27
132| ,
133| );
134| expect(lastFrame()).toContain('Trust parent folder (user)');
| ^
135| });
136|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[8/125]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > directory display > should correctly display an empty parent folder name for a directory directly under root
AssertionError: expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder ()'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust parent folder ()[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Do you trust this folder? โ[39m
[31m+ โ Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental โ[39m
[31m+ โ execution in untrusted directories. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:142:27
140| ,
141| );
142| expect(lastFrame()).toContain('Trust parent folder ()');
| ^
143| });
144| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[9/125]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) > complete-footer-wide 1` mismatched
Expected: [32m"" ...irectories/to/make/it/long no sandbox (see /docs)[7m [27m gemini-pro /model (100% context left)""[39m
Received: [31m"" ...irectories/to/make/it/long [7m [27mno sandbox (see /docs) gemini-pro /model (100% context left)""[39m
โฏ src/ui/components/Footer.test.tsx:218:27
216| }),
217| });
218| expect(lastFrame()).toMatchSnapshot('complete-footer-wide');
| ^
219| });
220|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[10/125]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) > footer-no-model 1` mismatched
Expected: [32m"" ...irectories/to/make/it/long no sandbox (see /docs)""[39m
Received: [31m"" ...irectories/to/make/it/long [7m [27mno sandbox (see /docs)""[39m
โฏ src/ui/components/Footer.test.tsx:252:27
250| }),
251| });
252| expect(lastFrame()).toMatchSnapshot('footer-no-model');
| ^
253| });
254|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[11/125]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible) > footer-only-sandbox 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- " [7mno sandbox (see /docs[27m)"[39m
[31m+ " [7m n[27m[39m
[31m+ o[39m
[31m+ s[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ b[39m
[31m+ o[39m
[31m+ x[39m
[31m+ ([39m
[31m+ s[39m
[31m+ e[39m
[31m+ e[39m
[31m+ /[39m
[31m+ d[39m
[31m+ o[39m
[31m+ c[39m
[31m+ s[39m
[31m+ [7m [27m)"[39m
โฏ src/ui/components/Footer.test.tsx:269:27
267| }),
268| });
269| expect(lastFrame()).toMatchSnapshot('footer-only-sandbox');
| ^
270| });
271|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[12/125]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > should escape ANSI codes in text content
AssertionError: expected '\n> H\n e\n l\n l\n o\n ,\n \\nโฆ' to contain 'Hello, \u001b[31mred\u001b[0m world!'
[32m- Expected[39m
[31m+ Received[39m
[32m- Hello, \u001b[31mred\u001b[0m world![39m
[31m+[39m
[31m+ > H[39m
[31m+ e[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ ,[39m
[31m+ \[39m
[31m+ u[39m
[31m+ 0[39m
[31m+ 0[39m
[31m+ 1[39m
[31m+ b[39m
[31m+ [[39m
[31m+ 3[39m
[31m+ 1[39m
[31m+ m[39m
[31m+ r[39m
[31m+ e[39m
[31m+ d[39m
[31m+ \[39m
[31m+ u[39m
[31m+ 0[39m
[31m+ 0[39m
[31m+ 1[39m
[31m+ b[39m
[31m+ [[39m
[31m+ 0[39m
[31m+ m[39m
[31m+ w[39m
[31m+ o[39m
[31m+ r[39m
[31m+ l[39m
[31m+ d[39m
[31m+ ![39m
[31m+[39m
โฏ src/ui/components/HistoryItemDisplay.test.tsx:190:25
188|
189| // The ANSI codes should be escaped for display.
190| expect(lastFrame()).toContain('Hello, \\u001b[31mred\\u001b[0m worโฆ
| ^
191| // The raw ANSI codes should not be present.
192| expect(lastFrame()).not.toContain('Hello, \u001b[31mred\u001b[0m wโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[13/125]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini
Error: Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โฆ Example code block:[22m
[32m- 1 Line 1[39m
[32m- 2 Line 2[39m
[32m- 3 Line 3[39m
[32m- 4 Line 4[39m
[32m- 5 Line 5[39m
[32m- 6 Line 6[39m
[32m- 7 Line 7[39m
[32m- 8 Line 8[39m
[32m- 9 Line 9[39m
[32m- 10 Line 10[39m
[32m- 11 Line 11[39m
[32m- 12 Line 12[39m
[32m- 13 Line 13[39m
[32m- 14 Line 14[39m
[32m- 15 Line 15[39m
[32m- 16 Line 16[39m
[32m- 17 Line 17[39m
[32m- 18 Line 18[39m
[32m- 19 Line 19[39m
[32m- 20 Line 20[39m
[32m- 21 Line 21[39m
[32m- 22 Line 22[39m
[32m- 23 Line 23[39m
[32m- 24 Line 24[39m
[32m- 25 Line 25[39m
[32m- 26 Line 26[39m
[32m- 27 Line 27[39m
[32m- 28 Line 28[39m
[32m- 29 Line 29[39m
[32m- 30 Line 30[39m
[32m- 31 Line 31[39m
[32m- 32 Line 32[39m
[32m- 33 Line 33[39m
[32m- 34 Line 34[39m
[32m- 35 Line 35[39m
[32m- 36 Line 36[39m
[32m- 37 Line 37[39m
[32m- 38 Line 38[39m
[32m- 39 Line 39[39m
[32m- 40 Line 40[39m
[32m- 41 Line 41[39m
[32m- 42 Line 42[39m
[32m- 43 Line 43[39m
[32m- 44 Line 44[39m
[32m- 45 Line 45[39m
[32m- 46 Line 46[39m
[32m- 47 Line 47[39m
[32m- 48 Line 48[39m
[32m- 49 Line 49[39m
[32m- [7m 50 Line 50[27m"[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+ "[39m
โฏ src/ui/components/HistoryItemDisplay.test.tsx:280:29
278| );
279|
280| expect(lastFrame()).toMatchSnapshot();
| ^
281| });
282|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[14/125]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini
Error: Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m " Example code block:[22m
[32m- 1 Line 1[39m
[32m- 2 Line 2[39m
[32m- 3 Line 3[39m
[32m- 4 Line 4[39m
[32m- 5 Line 5[39m
[32m- 6 Line 6[39m
[32m- 7 Line 7[39m
[32m- 8 Line 8[39m
[32m- 9 Line 9[39m
[32m- 10 Line 10[39m
[32m- 11 Line 11[39m
[32m- 12 Line 12[39m
[32m- 13 Line 13[39m
[32m- 14 Line 14[39m
[32m- 15 Line 15[39m
[32m- 16 Line 16[39m
[32m- 17 Line 17[39m
[32m- 18 Line 18[39m
[32m- 19 Line 19[39m
[32m- 20 Line 20[39m
[32m- 21 Line 21[39m
[32m- 22 Line 22[39m
[32m- 23 Line 23[39m
[32m- 24 Line 24[39m
[32m- 25 Line 25[39m
[32m- 26 Line 26[39m
[32m- 27 Line 27[39m
[32m- 28 Line 28[39m
[32m- 29 Line 29[39m
[32m- 30 Line 30[39m
[32m- 31 Line 31[39m
[32m- 32 Line 32[39m
[32m- 33 Line 33[39m
[32m- 34 Line 34[39m
[32m- 35 Line 35[39m
[32m- 36 Line 36[39m
[32m- 37 Line 37[39m
[32m- 38 Line 38[39m
[32m- 39 Line 39[39m
[32m- 40 Line 40[39m
[32m- 41 Line 41[39m
[32m- 42 Line 42[39m
[32m- 43 Line 43[39m
[32m- 44 Line 44[39m
[32m- 45 Line 45[39m
[32m- 46 Line 46[39m
[32m- 47 Line 47[39m
[32m- 48 Line 48[39m
[32m- 49 Line 49[39m
[32m- [7m 50 Line 50[27m"[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+ "[39m
โฏ src/ui/components/HistoryItemDisplay.test.tsx:319:29
317| );
318|
319| expect(lastFrame()).toMatchSnapshot();
| ^
320| });
321| },
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[15/125]โฏ
FAIL src/ui/components/LoopDetectionConfirmation.test.tsx > LoopDetectionConfirmation > contains the expected options
AssertionError: expected ' โญโฎ\n โโ?\n โโ\n โโT\n โโh\n โโi\n โโโฆ' to contain 'A potential loop was detected'
[32m- Expected[39m
[31m+ Received[39m
[32m- A potential loop was detected[39m
[31m+ โญโฎ[39m
[31m+ โโ?[39m
[31m+ โโ[39m
[31m+ โโT[39m
[31m+ โโh[39m
[31m+ โโi[39m
[31m+ โโs[39m
[31m+ โโc[39m
[31m+ โโa[39m
[31m+ โโn[39m
[31m+ โโh[39m
[31m+ โโa[39m
[31m+ โโp[39m
[31m+ โโp[39m
[31m+ โโe[39m
[31m+ โโn[39m
[31m+ โโd[39m
[31m+ โโu[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโe[39m
[31m+ โโp[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโi[39m
[31m+ โโt[39m
[31m+ โโi[39m
[31m+ โโv[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโo[39m
[31m+ โโo[39m
[31m+ โโl[39m
[31m+ โโc[39m
[31m+ โโa[39m
[31m+ โโl[39m
[31m+ โโl[39m
[31m+ โโs[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโo[39m
[31m+ โโt[39m
[31m+ โโh[39m
[31m+ โโe[39m
[31m+ โโr[39m
[31m+ โโm[39m
[31m+ โโo[39m
[31m+ โโd[39m
[31m+ โโe[39m
[31m+ โโl[39m
[31m+ โโb[39m
[31m+ โโe[39m
[31m+ โโh[39m
[31m+ โโa[39m
[31m+ โโv[39m
[31m+ โโi[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโ.[39m
[31m+ โโD[39m
[31m+ โโo[39m
[31m+ โโy[39m
[31m+ โโo[39m
[31m+ โโu[39m
[31m+ โโw[39m
[31m+ โโa[39m
[31m+ โโn[39m
[31m+ โโt[39m
[31m+ โโt[39m
[31m+ โโo[39m
[31m+ โโk[39m
[31m+ โโe[39m
[31m+ โโe[39m
[31m+ โโp[39m
[31m+ โโl[39m
[31m+ โโo[39m
[31m+ โโo[39m
[31m+ โโp[39m
[31m+ โโd[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโe[39m
[31m+ โโc[39m
[31m+ โโt[39m
[31m+ โโi[39m
[31m+ โโo[39m
[31m+ โโn[39m
[31m+ โโe[39m
[31m+ โโn[39m
[31m+ โโa[39m
[31m+ โโb[39m
[31m+ โโl[39m
[31m+ โโe[39m
[31m+ โโd[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโd[39m
[31m+ โโi[39m
[31m+ โโs[39m
[31m+ โโa[39m
[31m+ โโb[39m
[31m+ โโl[39m
[31m+ โโe[39m
[31m+ โโi[39m
[31m+ โโt[39m
[31m+ โโf[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโt[39m
[31m+ โโh[39m
[31m+ โโi[39m
[31m+ โโs[39m
[31m+ โโs[39m
[31m+ โโe[39m
[31m+ โโs[39m
[31m+ โโs[39m
[31m+ โโi[39m
[31m+ โโo[39m
[31m+ โโn[39m
[31m+ โโ?[39m
[31m+ โโ[39m
[31m+ โโโ 1.[39m
[31m+ โโ 2.[39m
[31m+ โฐโฏ[39m
โฏ src/ui/components/LoopDetectionConfirmation.test.tsx:29:20
27| const output = lastFrame()!.toString();
28|
29| expect(output).toContain('A potential loop was detected');
| ^
30| expect(output).toContain('Keep loop detection enabled (esc)');
31| expect(output).toContain('Disable loop detection for this session'โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[16/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > renders "main" view with preview options when preview features are enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Auto (Preview)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 2. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 3. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:101:25
99| mockGetHasAccessToPreviewModel.mockReturnValue(true); // Must haveโฆ
100| const { lastFrame } = renderComponent();
101| expect(lastFrame()).toContain('Auto (Preview)');
| ^
102| });
103|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[17/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ Gemini 3 is coming soon. โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 2. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:117:25
115|
116| // Should now show manual options
117| expect(lastFrame()).toContain(DEFAULT_GEMINI_MODEL);
| ^
118| expect(lastFrame()).toContain(DEFAULT_GEMINI_FLASH_MODEL);
119| expect(lastFrame()).toContain(DEFAULT_GEMINI_FLASH_LITE_MODEL);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[18/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-preview'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-3-pro-preview[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 2. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 3. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:139:25
137| await waitForUpdate();
138|
139| expect(lastFrame()).toContain(PREVIEW_GEMINI_MODEL);
| ^
140| });
141|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[19/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
AssertionError: expected "spy" to be called with arguments: [ 'gemini-2.5-pro', true ][90m
Number of calls: [1m0[22m
[39m
โฏ src/ui/components/ModelDialog.test.tsx:169:26
167| await waitForUpdate();
168|
169| expect(mockSetModel).toHaveBeenCalledWith(DEFAULT_GEMINI_MODEL, trโฆ
| ^
170| expect(mockOnClose).toHaveBeenCalled();
171| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[20/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > toggles persist mode with Tab key
AssertionError: expected "spy" to be called with arguments: [ 'auto-gemini-2.5', false ][90m
Number of calls: [1m0[22m
[39m
โฏ src/ui/components/ModelDialog.test.tsx:188:26
186| await waitForUpdate();
187|
188| expect(mockSetModel).toHaveBeenCalledWith(
| ^
189| DEFAULT_GEMINI_MODEL_AUTO,
190| false, // Persist enabled
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[21/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ Gemini 3 is coming soon. โ[39m
[31m+ โ โ[39m
[31m+ โ 1. g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ โ2. g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 3. g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ - โ[39m
[31m+ โ l โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:213:25
211| await waitForUpdate();
212|
213| expect(lastFrame()).toContain(DEFAULT_GEMINI_MODEL);
| ^
214|
215| // Press Escape
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[22/125]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show preview options if user has access AND preview features are enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Auto (Preview)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ2. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 3. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:243:27
241| mockGetPreviewFeatures.mockReturnValue(true);
242| const { lastFrame } = renderComponent();
243| expect(lastFrame()).toContain('Auto (Preview)');
| ^
244| });
245|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[23/125]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should display conditional rows if at least one model has data
Error: Snapshot ` > should display conditional rows if at least one model has data 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ Model Stats For Nerds โ[22m
[2m โ โ[22m
[32m- โ Metric g[7memini-2.5-pro gemini-2.5-flash[27m โ[39m
[31m+ โ Metric g[7mg โ[27m[39m
[31m+ โ ee โ[39m
[31m+ โ mm โ[39m
[31m+ โ ii โ[39m
[31m+ โ nn โ[39m
[31m+ โ ii โ[39m
[31m+ โ -- โ[39m
[31m+ โ 22 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 55 โ[39m
[31m+ โ -- โ[39m
[31m+ โ pf โ[39m
[31m+ โ rl โ[39m
[31m+ โ oa โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ h [27m [7m [27mโ[39m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[2m โ API โ[22m
[32m- โ Requests 1 [7m1[27m โ[39m
[31m+ โ Requests 1[7m1[27m โ[39m
[32m- โ Errors 0[7m (0.0%) 0 (0.0%)[27m โ[39m
[31m+ โ Errors 0[7m0 โ[27m[39m
[31m+ โ (( โ[39m
[31m+ โ 00 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 00 โ[39m
[31m+ โ %% โ[39m
[31m+ [7mโ )) [27m [7m [27mโ[39m
[32m- โ Avg Latency 1[7m00ms 50ms[27m โ[39m
[31m+ โ Avg Latency 1[7m5 โ[27m[39m
[31m+ โ 00 โ[39m
[31m+ โ 0m โ[39m
[31m+ โ ms โ[39m
[31m+ [7mโ s [27m [7m [27mโ[39m
[2m โ Tokens โ[22m
[32m- โ Total 3[7m0[27m [7m15[27m โ[39m
[31m+ โ Total 3[7m1 [27m [7m โ[27m[39m
[31m+ [7mโ 05 [27m [7m [27mโ[39m
[32m- โ โณ Input 5 [7m5[27m โ[39m
[31m+ โ โณ Input 5[7m5[27m โ[39m
[32m- โ โณ Cache Reads 5[7m (50.0%) 0 (0.0%)[27m โ[39m
[31m+ โ โณ Cache Reads 5[7m0 โ[27m[39m
[31m+ โ (( โ[39m
[31m+ โ 50 โ[39m
[31m+ โ 0. โ[39m
[31m+ โ .0 โ[39m
[31m+ โ 0% โ[39m
[31m+ โ %) โ[39m
[31m+ [7mโ ) [27m โ[39m
[32m- โ โณ Thoughts 2 [7m0[27m โ[39m
[31m+ โ โณ Thoughts 2[7m0[27m โ[39m
[32m- โ โณ Tool 0 [7m3[27m โ[39m
[31m+ โ โณ Tool 0[7m3[27m โ[39m
[32m- โ โณ Output 2[7m0[27m [7m10[27m โ[39m
[31m+ โ โณ Output 2[7m1 [27m [7m โ[27m[39m
[31m+ [7mโ 00 [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:177:20
175| expect(output).toContain('Thoughts');
176| expect(output).toContain('Tool');
177| expect(output).toMatchSnapshot();
| ^
178| });
179|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[24/125]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should display stats for multiple models correctly
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Model Stats For Nerds โ[39m
[31m+ โ โ[39m
[31m+ โ Metric gg โ[39m
[31m+ โ ee โ[39m
[31m+ โ mm โ[39m
[31m+ โ ii โ[39m
[31m+ โ nn โ[39m
[31m+ โ ii โ[39m
[31m+ โ -- โ[39m
[31m+ โ 22 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 55 โ[39m
[31m+ โ -- โ[39m
[31m+ โ pf โ[39m
[31m+ โ rl โ[39m
[31m+ โ oa โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ Errors 12 โ[39m
[31m+ โ (( โ[39m
[31m+ โ 11 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 00 โ[39m
[31m+ โ %% โ[39m
[31m+ โ )) โ[39m
[31m+ โ Avg Latency 12 โ[39m
[31m+ โ 05 โ[39m
[31m+ โ 0m โ[39m
[31m+ โ ms โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 36 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Input 51 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Cache Reads 51 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ (0 โ[39m
[31m+ โ 5( โ[39m
[31m+ โ 05 โ[39m
[31m+ โ .0 โ[39m
[31m+ โ 0. โ[39m
[31m+ โ %0 โ[39m
[31m+ โ )% โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Tool 51 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Output 24 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:228:20
226|
227| const output = lastFrame();
228| expect(output).toContain('gemini-2.5-pro');
| ^
229| expect(output).toContain('gemini-2.5-flash');
230| expect(output).toMatchSnapshot();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[25/125]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should handle large values without wrapping or overlapping
Error: Snapshot ` > should handle large values without wrapping or overlapping 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ Model Stats For Nerds โ[22m
[2m โ โ[22m
[32m- โ Metric g[7memini-2.5-pro โ[27m[39m
[32m- โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[32m- โ API โ[39m
[32m- [7mโ Requests 999,999,999[27m โ[39m
[31m+ โ Metric g[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ [7mโ 9 [27m [7m [27mโ[39m
[32m- โ Errors 1[7m23,456,789 (12.3%[27m) โ[39m
[31m+ โ Errors 1[7m โ[27m[39m
[31m+ โ 2 โ[39m
[31m+ โ 3 โ[39m
[31m+ โ , โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 6 โ[39m
[31m+ โ , โ[39m
[31m+ โ 7 โ[39m
[31m+ โ 8 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 3 โ[39m
[31m+ โ % โ[39m
[31m+ [7mโ [27m) [7m [27mโ[39m
[32m- โ Avg Latency 0[7mms โ[27m[39m
[32m- โ Tokens โ[39m
[32m- [7mโ Total 999,999,999[27m โ[39m
[31m+ โ Avg Latency 0[7m โ[27m[39m
[31m+ โ m โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ [7mโ 9 [27m [7m [27mโ[39m
[32m- โ โณ Input 8[7m64,197,532[27m โ[39m
[31m+ โ โณ Input 8[7m โ[27m[39m
[31m+ โ 6 โ[39m
[31m+ โ 4 โ[39m
[31m+ โ , โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 7 โ[39m
[31m+ โ , โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 3 โ[39m
[31m+ [7mโ 2 [27m [7m [27mโ[39m
[32m- โ โณ Cache Reads 1[7m23,456,789 (12.5%) โ[27m[39m
[32m- [7mโ โณ Thoughts 111,111,111[27m โ[39m
[31m+ โ โณ Cache Reads 1[7m โ[27m[39m
[31m+ โ 2 โ[39m
[31m+ โ 3 โ[39m
[31m+ โ , โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 6 โ[39m
[31m+ โ , โ[39m
[31m+ โ 7 โ[39m
[31m+ โ 8 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ , โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ , โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ [7mโ 1 [27m [7m [27mโ[39m
[32m- โ โณ Tool 2[7m22,222,222 โ[27m[39m
[32m- [7mโ โณ Output 123,456,789[27m โ[39m
[31m+ โ โณ Tool 2[7m โ[27m[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ , โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ , โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ โณ Output 1 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 3 โ[39m
[31m+ โ , โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 6 โ[39m
[31m+ โ , โ[39m
[31m+ โ 7 โ[39m
[31m+ โ 8 โ[39m
[31m+ [7mโ 9 [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:272:25
270| });
271|
272| expect(lastFrame()).toMatchSnapshot();
| ^
273| });
274|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[26/125]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should display a single model correctly
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Model Stats For Nerds โ[39m
[31m+ โ โ[39m
[31m+ โ Metric g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 1 โ[39m
[31m+ โ Errors 0 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 0 โ[39m
[31m+ โ . โ[39m
[31m+ โ 0 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ Avg Latency 1 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ m โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 3 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Input 5 โ[39m
[31m+ โ โณ Cache Reads 5 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ . โ[39m
[31m+ โ 0 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 2 โ[39m
[31m+ โ โณ Tool 1 โ[39m
[31m+ โ โณ Output 2 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:311:20
309|
310| const output = lastFrame();
311| expect(output).toContain('gemini-2.5-pro');
| ^
312| expect(output).not.toContain('gemini-2.5-flash');
313| expect(output).toMatchSnapshot();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[27/125]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should handle models with long names (gemini-3-*-preview) without layout breaking
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-3-pro-[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Model Stats For Nerds โ[39m
[31m+ โ โ[39m
[31m+ โ Metric gg โ[39m
[31m+ โ ee โ[39m
[31m+ โ mm โ[39m
[31m+ โ ii โ[39m
[31m+ โ nn โ[39m
[31m+ โ ii โ[39m
[31m+ โ -- โ[39m
[31m+ โ 33 โ[39m
[31m+ โ -- โ[39m
[31m+ โ pf โ[39m
[31m+ โ rl โ[39m
[31m+ โ oa โ[39m
[31m+ โ -s โ[39m
[31m+ โ ph โ[39m
[31m+ โ r- โ[39m
[31m+ โ ep โ[39m
[31m+ โ vr โ[39m
[31m+ โ ie โ[39m
[31m+ โ ev โ[39m
[31m+ โ wi โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ Errors 00 โ[39m
[31m+ โ (( โ[39m
[31m+ โ 00 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 00 โ[39m
[31m+ โ %% โ[39m
[31m+ โ )) โ[39m
[31m+ โ Avg Latency 25 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0m โ[39m
[31m+ โ ms โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 61 โ[39m
[31m+ โ ,2 โ[39m
[31m+ โ 0, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Input 12 โ[39m
[31m+ โ ,, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Cache Reads 51 โ[39m
[31m+ โ 0, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ (0 โ[39m
[31m+ โ 20 โ[39m
[31m+ โ 5( โ[39m
[31m+ โ .2 โ[39m
[31m+ โ 05 โ[39m
[31m+ โ %. โ[39m
[31m+ โ )0 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Tool 51 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Output 48 โ[39m
[31m+ โ ,, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:367:20
365|
366| const output = lastFrame();
367| expect(output).toContain('gemini-3-pro-');
| ^
368| expect(output).toContain('gemini-3-flash-');
369| expect(output).toMatchSnapshot();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[28/125]โฏ
FAIL src/ui/components/PermissionsModifyTrustDialog.test.tsx > PermissionsModifyTrustDialog > should render the labels with folder names
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust this folder (dir)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust this folder (dir)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ > Modify Trust Level โ[39m
[31m+ โ โ[39m
[31m+ โ Folder: /test/dir โ[39m
[31m+ โ Current Level: DO_NOT_TRUST โ[39m
[31m+ โ โ[39m
[31m+ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โ (Use Enter to select, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx:129:27
127|
128| await waitFor(() => {
129| expect(lastFrame()).toContain('Trust this folder (dir)');
| ^
130| expect(lastFrame()).toContain('Trust parent folder (test)');
131| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx:128:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[29/125]โฏ
FAIL src/ui/components/RewindConfirmation.test.tsx > RewindConfirmation > renders correctly without stats
Error: Snapshot `RewindConfirmation > renders correctly without stats 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindConfirmation.test.tsx:50:25
48| );
49|
50| expect(lastFrame()).toMatchSnapshot();
| ^
51| expect(lastFrame()).not.toContain('Revert code changes');
52| expect(lastFrame()).toContain('Rewind conversation');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[30/125]โฏ
FAIL src/ui/components/RewindConfirmation.test.tsx > RewindConfirmation > renders timestamp when provided
Error: Snapshot `RewindConfirmation > renders timestamp when provided 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. (just now) โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindConfirmation.test.tsx:88:25
86| );
87|
88| expect(lastFrame()).toMatchSnapshot();
| ^
89| expect(lastFrame()).not.toContain('Revert code changes');
90| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[31/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Rendering > renders 'full text for selected item'
Error: Snapshot `RewindViewer > Rendering > renders 'full text for selected item' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[2m โ 1 โ[22m
[32m- โ 2[7m..[27m. โ[39m
[31m+ โ 2[7m โ[27m[39m
[31m+ โ . โ[39m
[31m+ โ . โ[39m
[31m+ [7mโ [27m. [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:97:27
95| />,
96| );
97| expect(lastFrame()).toMatchSnapshot();
| ^
98| });
99| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[32/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > updates selection and expansion on navigation
Error: Snapshot `RewindViewer > updates selection and expansion on navigation > initial-state 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ L[7mine A โ[27m[39m
[32m- [7mโ Line B...[27m โ[39m
[31m+ โ L[7m โ[27m[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ L โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ โ B โ[39m
[31m+ โ . โ[39m
[31m+ โ . โ[39m
[31m+ [7mโ . [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ L[7mine 1[27m โ[39m
[31m+ โ L[7m โ[27m[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ 1 [27m [7m [27mโ[39m
[32m- โ L[7mine 2...[27m โ[39m
[31m+ โ L[7m โ[27m[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ . โ[39m
[31m+ [7mโ . [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:121:25
119|
120| // Initial state
121| expect(lastFrame()).toMatchSnapshot('initial-state');
| ^
122|
123| // Move down to select Item 1 (older message)
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[33/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Interaction Selection > 'confirms on Enter'
Error: Snapshot `RewindViewer > Interaction Selection > 'confirms on Enter' > confirmation-dialog 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. (some time ago) โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:245:27
243| stdin.write('\r');
244| });
245| expect(lastFrame()).toMatchSnapshot('confirmation-dialog');
| ^
246|
247| // Act
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[34/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Interaction Selection > 'cancels on Escape'
Error: Snapshot `RewindViewer > Interaction Selection > 'cancels on Escape' > confirmation-dialog 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. (some time ago) โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:245:27
243| stdin.write('\r');
244| });
245| expect(lastFrame()).toMatchSnapshot('confirmation-dialog');
| ^
246|
247| // Act
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[35/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Content Filtering > 'removes reference markers'
Error: Snapshot `RewindViewer > Content Filtering > 'removes reference markers' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ s[7mome command @file โ[27m[39m
[32m- [7mโ No files have been changed[27m โ[39m
[31m+ โ s[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ @ โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ N โ[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:280:27
278| );
279|
280| expect(lastFrame()).toMatchSnapshot();
| ^
281|
282| // Select
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[36/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Content Filtering > 'strips expanded MCP resource content'
Error: Snapshot `RewindViewer > Content Filtering > 'strips expanded MCP resource content' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ r[7mead @server3:mcp://demo-resource hello[27m โ[39m
[31m+ โ r[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ d โ[39m
[31m+ โ @ โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ 3 โ[39m
[31m+ โ : โ[39m
[31m+ โ m โ[39m
[31m+ โ c โ[39m
[31m+ โ p โ[39m
[31m+ โ : โ[39m
[31m+ โ / โ[39m
[31m+ โ / โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ - โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ o โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ [7mโ o [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ [7mโ n [27m [7m [27mโ[39m
[32m- โ C[7mancel rewind and stay here[27m โ[39m
[31m+ โ C[7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:280:27
278| );
279|
280| expect(lastFrame()).toMatchSnapshot();
| ^
281|
282| // Select
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[37/125]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > updates content when conversation changes (background update)
Error: Snapshot `RewindViewer > updates content when conversation changes (background update) > initial 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ M[7message 1[27m โ[39m
[31m+ โ M[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ a โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ 1 [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:311:25
309| );
310|
311| expect(lastFrame()).toMatchSnapshot('initial');
| ^
312|
313| unmount();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[38/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:295:22
293| const output = lastFrame();
294| // Should still render properly with the height prop
295| expect(output).toContain('Settings');
| ^
296| // Use regex for more flexible help text matching
297| expect(output).toMatch(/Enter.*select.*Esc.*close/);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[39/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Initial Rendering > should render settings list with visual indicators
Error: Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ H f โ[39m
[31m+ โ i a โ[39m
[31m+ โ d l โ[39m
[31m+ โ e s โ[39m
[31m+ โ W e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:308:22
306| const output = lastFrame();
307| // Use snapshot to capture visual layout including indicators
308| expect(output).toMatchSnapshot();
| ^
309| });
310| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[40/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Setting Descriptions > should render descriptions for settings that have them
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ H f โ[39m
[31m+ โ i a โ[39m
[31m+ โ d l โ[39m
[31m+ โ e s โ[39m
[31m+ โ W e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:321:22
319| const output = lastFrame();
320| // 'general.vimMode' has description 'Enable Vim keybindings' inโฆ
321| expect(output).toContain('Vim Mode');
| ^
322| expect(output).toContain('Enable Vim keybindings');
323| // 'general.enableAutoUpdate' has description 'Enable automatic โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[41/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Navigation > should navigate with 'arrow keys'
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)'
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ H f โ[39m
[31m+ โ i a โ[39m
[31m+ โ d l โ[39m
[31m+ โ e s โ[39m
[31m+ โ W e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:348:28
346|
347| const initialFrame = lastFrame();
348| expect(initialFrame).toContain('Vim Mode');
| ^
349|
350| // Navigate down
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[42/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Navigation > wraps around when at the top of the list
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Codebase Investigator Max Num Turns'
[32m- Expected[39m
[31m+ Received[39m
[32m- Codebase Investigator Max Num Turns[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ cE f โ[39m
[31m+ โ hn a โ[39m
[31m+ โ ta l โ[39m
[31m+ โ ob s โ[39m
[31m+ โ fl e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lE โ[39m
[31m+ โ tn โ[39m
[31m+ โ ev โ[39m
[31m+ โ ri โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ V โ[39m
[31m+ โ a โ[39m
[31m+ โ r โ[39m
[31m+ โ i โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ R โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ g โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ C 1 โ[39m
[31m+ โ o 0 โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ g โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ N โ[39m
[31m+ โ u โ[39m
[31m+ โ m โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ U f โ[39m
[31m+ โ s a โ[39m
[31m+ โ e l โ[39m
[31m+ โ O s โ[39m
[31m+ โ S e โ[39m
[31m+ โ C โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ P โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ H โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ p โ[39m
[31m+ โ A โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ P f โ[39m
[31m+ โ l a โ[39m
[31m+ โ a l โ[39m
[31m+ โ n s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ S โ[39m
[31m+ โ k โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ H t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ k e โ[39m
[31m+ โ N โ[39m
[31m+ โ o โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ c โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:384:29
382| await waitFor(() => {
383| // Should wrap to last setting (without relying on exact bulleโฆ
384| expect(lastFrame()).toContain('Codebase Investigator Max Num Tโฆ
| ^
385| });
386|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:382:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[43/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > should toggle setting with Enter key
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Preview Features (e.g., models)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Preview Features (e.g., models)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ H f โ[39m
[31m+ โ i a โ[39m
[31m+ โ d l โ[39m
[31m+ โ e s โ[39m
[31m+ โ W e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:402:29
400| // Wait for initial render and verify we're on Preview Features โฆ
401| await waitFor(() => {
402| expect(lastFrame()).toContain('Preview Features (e.g., models)โฆ
| ^
403| });
404|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:401:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[44/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Scope Selection > should reset to settings focus when scope is selected
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:534:29
532| // Wait for initial render
533| await waitFor(() => {
534| expect(lastFrame()).toContain('Vim Mode');
| ^
535| });
536|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:533:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[45/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:590:29
588| // Wait for initial render
589| await waitFor(() => {
590| expect(lastFrame()).toContain('Vim Mode');
| ^
591| });
592|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:589:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[46/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Persistence > should show different values for different scopes
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:633:22
631| // Should show user scope values initially
632| const output = lastFrame();
633| expect(output).toContain('Settings');
| ^
634| });
635| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[47/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:727:22
725| const output = lastFrame();
726| // Should contain settings labels
727| expect(output).toContain('Settings');
| ^
728| });
729|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[48/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Display Values > should show correct values for inherited settings
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:788:22
786| const output = lastFrame();
787| // Settings should show inherited values
788| expect(output).toContain('Settings');
| ^
789| });
790|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[49/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Display Values > should show override indicator for overridden settings
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:803:22
801| const output = lastFrame();
802| // Should show settings with override indicators
803| expect(output).toContain('Settings');
| ^
804| });
805| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[50/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:949:29
947| // Wait for initial render
948| await waitFor(() => {
949| expect(lastFrame()).toContain('Vim Mode');
| ^
950| });
951|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:948:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[51/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Error Recovery > should handle malformed settings gracefully
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:976:27
974|
975| // Should still render without crashing
976| expect(lastFrame()).toContain('Settings');
| ^
977| });
978|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[52/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Error Recovery > should handle missing setting definitions gracefully
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:986:27
984| const { lastFrame } = renderDialog(settings, onSelect);
985|
986| expect(lastFrame()).toContain('Settings');
| ^
987| });
988| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[53/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:999:29
997| // Wait for initial render
998| await waitFor(() => {
999| expect(lastFrame()).toContain('Vim Mode');
| ^
1000| });
1001|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:998:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[54/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should display text entered in search
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
[32m- Expected[39m
[31m+ Received[39m
[32m- Search to filter[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1135:27
1133| expect(lastFrame()).not.toContain('> Search:');
1134| });
1135| expect(lastFrame()).toContain('Search to filter');
| ^
1136|
1137| // Press '/' to enter search mode
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[55/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should show search query and filter settings as user types
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'yolo'
[32m- Expected[39m
[31m+ Received[39m
[32m- yolo[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ yโ โ[39m
[31m+ โ โฐโoโฏ โ[39m
[31m+ โ l โ[39m
[31m+ โ fo โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ Y โ[39m
[31m+ โ O โ[39m
[31m+ โ L โ[39m
[31m+ โ O โ[39m
[31m+ โ M โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ y โ[39m
[31m+ โ F โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ u โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ D โ[39m
[31m+ โ i โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1161:29
1159|
1160| await waitFor(() => {
1161| expect(lastFrame()).toContain('yolo');
| ^
1162| expect(lastFrame()).toContain('Disable YOLO Mode');
1163| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1160:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[56/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should exit search settings when Escape is pressed
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vim'
[32m- Expected[39m
[31m+ Received[39m
[32m- vim[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ vโ โ[39m
[31m+ โ โฐโiโฏ โ[39m
[31m+ โ m โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ V โ[39m
[31m+ โ a โ[39m
[31m+ โ r โ[39m
[31m+ โ i โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ R โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ g โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ N โ[39m
[31m+ โ u โ[39m
[31m+ โ m โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ F โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1178:29
1176| });
1177| await waitFor(() => {
1178| expect(lastFrame()).toContain('vim');
| ^
1179| });
1180|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1177:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[57/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should handle backspace to modify search query
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vimm'
[32m- Expected[39m
[31m+ Received[39m
[32m- vimm[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ vโ โ[39m
[31m+ โ โฐโiโฏ โ[39m
[31m+ โ m โ[39m
[31m+ โ fm โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ g โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ N โ[39m
[31m+ โ u โ[39m
[31m+ โ m โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1205:29
1203| });
1204| await waitFor(() => {
1205| expect(lastFrame()).toContain('vimm');
| ^
1206| });
1207|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1204:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[58/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should display nothing when search yields no results
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'nonexistentsetting'
[32m- Expected[39m
[31m+ Received[39m
[32m- nonexistentsetting[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ nโ โ[39m
[31m+ โ โฐโoโฏ โ[39m
[31m+ โ n โ[39m
[31m+ โ Ne โ[39m
[31m+ โ ox โ[39m
[31m+ โ mi โ[39m
[31m+ โ โs โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ hn โ[39m
[31m+ โ (t โ[39m
[31m+ โ Us โ[39m
[31m+ โ se โ[39m
[31m+ โ et โ[39m
[31m+ โ Et โ[39m
[31m+ โ ni โ[39m
[31m+ โ tn โ[39m
[31m+ โ eg โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1236:29
1234|
1235| await waitFor(() => {
1236| expect(lastFrame()).toContain('nonexistentsetting');
| ^
1237| expect(lastFrame()).toContain('');
1238| expect(lastFrame()).not.toContain('Vim Mode'); // Should not cโฆ
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1235:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[59/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'default state' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[60/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode true* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update false* โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion true* โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging true* โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title true* โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[61/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update false* โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false* โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[62/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ > Apply To โ[39m
[32m- โ โ 1. User Settings โ[39m
[32m- โ 2. Workspace Settings โ[39m
[32m- โ 3. System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[63/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode true* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[64/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[65/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[66/125]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true* โ[39m
[32m- โ Enable automatic updates. โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false* โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false* โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[2m โ โ[22m
[32m- โ Hide Window Title false* โ[39m
[32m- โ Hide the window title bar โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[31m+ โ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1470:29
1468| }
1469|
1470| expect(lastFrame()).toMatchSnapshot();
| ^
1471| },
1472| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[67/125]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > ThemeDialog Snapshots > should render correctly in scope selector mode
Error: Snapshot `ThemeDialog Snapshots > should render correctly in scope selector mode 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Apply To โ[22m
[32m- โ โ 1. [7mUser Settings[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ 3. System Settings[27m โ[39m
[31m+ โ 2. [7m [27m [7m โ[27m[39m
[31m+ [7mโ 3. [27m โ[39m
[2m โ โ[22m
[2m โ (Use Enter to apply scope, Tab to select theme, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:100:25
98| await new Promise((resolve) => setTimeout(resolve, 100));
99|
100| expect(lastFrame()).toMatchSnapshot();
| ^
101| });
102|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[68/125]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set
Error: Snapshot `Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Select Theme Preview โ[22m
[2m โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ 1. [7mANSI Light Light[27m โ โ โ[39m
[31m+ โ 1. [7m [27m โ โ โ[39m
[32m- โ 2. [7mAyu Light Light[27m โ 1 # function โ โ[39m
[31m+ โ 2. [7m [27m [7m [27mโ 1 # function โ โ[39m
[32m- โ โ 3. [7mDefault Light Light[27m โ 2 def fibonacci(n): โ โ[39m
[31m+ โ โ 3. [7m [27m โ 2 def fibonacci(n): โ โ[39m
[32m- โ 4. [7mGitHub Light Light[27m โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ 4. [7m [27m [7m [27mโ 3 a, b = 0, 1 โ โ[39m
[32m- โ 5. [7mGoogle Code Light[27m โ 4 for _ in range(n): โ โ[39m
[31m+ โ 5. [7m [27m [7m [27mโ 4 for _ in range(n): โ โ[39m
[32m- โ 6. [7mXcode Light[27m โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 6. [7m [27m โ 5 a, b = b, a + b โ โ[39m
[32m- โ 7. [7mANSI Dark (Incompatible)[27m โ 6 return a โ โ[39m
[31m+ โ 7. [7m [27m โ 6 return a โ โ[39m
[32m- โ 8. [7mAtom One Dark (Incompatible)[27m โ โ โ[39m
[31m+ โ 8. [7m [27m โ โ โ[39m
[32m- โ 9. [7mAyu Dark (Incompatible)[27m โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 9. [7m [27m [7m [27mโ 1 - print("Hello, " + name) โ โ[39m
[32m- โ 10. [7mDefault Dark (Incompatible)[27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 10. [7m [27m [7m [27mโ 1 + print(f"Hello, {name}!") โ โ[39m
[32m- โ 11. [7mDracula Dark (Incompatible)[27m โ โ โ[39m
[31m+ โ 11. [7m [27m [7m [27mโ โ โ[39m
[32m- โ 12. [7mGitHub Dark (Incompatible)[27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 12. [7m [27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select, Tab to configure scope, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:172:25
170| // The snapshot will show which theme is highlighted.
171| // We expect 'DefaultLight' to be the one with the '>' indicator.
172| expect(lastFrame()).toMatchSnapshot();
| ^
173| });
174|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[69/125]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set
Error: Snapshot `Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Select Theme Preview โ[22m
[2m โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ [7m [27m1. [7mANSI Dark[27m โ โ โ[39m
[31m+ โ 1. [7m [27m โ โ โ[39m
[32m- โ [7m [27m2. [7mAtom One Dark[27m โ 1 # function โ โ[39m
[31m+ โ 2. [7m [27m [7m [27mโ 1 # function โ โ[39m
[32m- โ [7m [27m3. [7mAyu Dark[27m โ 2 def fibonacci(n): โ โ[39m
[31m+ โ 3. [7m [27m [7m [27mโ 2 def fibonacci(n): โ โ[39m
[32m- โ โ[7m [27m 4. [7mDefault Dark[27m โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ โ 4. [7m [27m โ 3 a, b = 0, 1 โ โ[39m
[32m- โ [7m [27m5. [7mDracula Dark[27m โ 4 for _ in range(n): โ โ[39m
[31m+ โ 5. [7m [27m โ 4 for _ in range(n): โ โ[39m
[32m- โ[7m [27m 6. [7mGitHub Dark[27m โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 6. [7m [27m โ 5 a, b = b, a + b โ โ[39m
[32m- โ[7m [27m 7. [7mHoliday Dark[27m โ 6 return a โ โ[39m
[31m+ โ 7. [7m [27m โ 6 return a โ โ[39m
[32m- โ[7m [27m 8. [7mShades Of Purple Dark[27m โ โ โ[39m
[31m+ โ 8. [7m [27m [7m [27mโ โ โ[39m
[32m- โ [7m [27m9. [7mANSI Light Light (Incompatible)[27m โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 9. [7m [27m โ 1 - print("Hello, " + name) โ โ[39m
[32m- โ[7m [27m 10. [7mAyu Light Light (Incompatible)[27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 10. [7m [27m [7m [27mโ 1 + print(f"Hello, {name}!") โ โ[39m
[32m- โ [7m [27m11. [7mDefault Light Light (Incompatible)[27m โ โ โ[39m
[31m+ โ 11. [7m [27m โ โ โ[39m
[32m- โ[7m [27m 12. [7mGitHub Light Light (Incompatible)[27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 12. [7m [27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select, Tab to configure scope, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:186:25
184|
185| // We expect 'DefaultDark' to be highlighted.
186| expect(lastFrame()).toMatchSnapshot();
| ^
187| });
188|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[70/125]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type
Error: Snapshot `Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Select Theme Preview โ[22m
[2m โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ โ[7m [27m 1. [7mANSI Dark[27m โ โ โ[39m
[31m+ โ โ 1. [7m [27m โ โ โ[39m
[32m- โ [7m [27m2. [7mAtom One Dark[27m โ 1 # function โ โ[39m
[31m+ โ 2. [7m [27m [7m [27mโ 1 # function โ โ[39m
[32m- โ [7m [27m3. [7mAyu Dark[27m โ 2 def fibonacci(n): โ โ[39m
[31m+ โ 3. [7m [27m [7m [27mโ 2 def fibonacci(n): โ โ[39m
[32m- โ [7m [27m4. [7mDefault Dark[27m โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ 4. [7m [27m โ 3 a, b = 0, 1 โ โ[39m
[32m- โ [7m [27m5. [7mDracula Dark[27m โ 4 for _ in range(n): โ โ[39m
[31m+ โ 5. [7m [27m โ 4 for _ in range(n): โ โ[39m
[32m- โ[7m [27m 6. [7mGitHub Dark[27m โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 6. [7m [27m โ 5 a, b = b, a + b โ โ[39m
[32m- โ[7m [27m 7. [7mHoliday Dark[27m โ 6 return a โ โ[39m
[31m+ โ 7. [7m [27m โ 6 return a โ โ[39m
[32m- โ[7m [27m 8. [7mShades Of Purple Dark[27m โ โ โ[39m
[31m+ โ 8. [7m [27m [7m [27mโ โ โ[39m
[32m- โ [7m [27m9. [7mANSI Light Light (Incompatible)[27m โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 9. [7m [27m โ 1 - print("Hello, " + name) โ โ[39m
[32m- โ[7m [27m 10. [7mAyu Light Light (Incompatible)[27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 10. [7m [27m [7m [27mโ 1 + print(f"Hello, {name}!") โ โ[39m
[32m- โ [7m [27m11. [7mDefault Light Light (Incompatible)[27m โ โ โ[39m
[31m+ โ 11. [7m [27m โ โ โ[39m
[32m- โ[7m [27m 12. [7mGitHub Light Light (Incompatible)[27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 12. [7m [27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select, Tab to configure scope, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:200:25
198|
199| // We expect 'DefaultLight' to be highlighted, respecting the settโฆ
200| expect(lastFrame()).toMatchSnapshot();
| ^
201| });
202| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[71/125]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Hint Visibility > should show hint when theme background matches terminal background
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '(Matches terminal)'
[32m- Expected[39m
[31m+ Received[39m
[32m- (Matches terminal)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ > Select Theme Preview โ[39m
[31m+ โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 1. โ โ โ[39m
[31m+ โ 2. โ 1 # function โ โ[39m
[31m+ โ 3. โ 2 def fibonacci(n): โ โ[39m
[31m+ โ โ 4. โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ 5. โ 4 for _ in range(n): โ โ[39m
[31m+ โ 6. โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 7. โ 6 return a โ โ[39m
[31m+ โ 8. โ โ โ[39m
[31m+ โ 9. โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 10. โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 11. โ โ โ[39m
[31m+ โ 12. โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ (Use Enter to select, Tab to configure scope, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ThemeDialog.test.tsx:223:25
221| );
222|
223| expect(lastFrame()).toContain('(Matches terminal)');
| ^
224| });
225|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[72/125]โฏ
FAIL src/ui/components/messages/DiffRenderer.test.tsx > > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6
FAIL src/ui/components/messages/DiffRenderer.test.tsx > > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6
FAIL src/ui/components/messages/DiffRenderer.test.tsx > > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6
FAIL src/ui/components/messages/DiffRenderer.test.tsx > > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6
AssertionError: expected '\n\n\n\n\n' to contain 'anotherNew'
[32m- Expected[39m
[31m+ Received[39m
[32m- anotherNew[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/DiffRenderer.test.tsx:297:53
295| { useAlternateBuffer },
296| );
297| await waitFor(() => expect(lastFrame()).toContain('anotherโฆ
| ^
298| const output = lastFrame();
299| expect(sanitizeOutput(output, terminalWidth)).toMatchSnapsโฆ
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/messages/DiffRenderer.test.tsx:297:13
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[73/125]โฏ
FAIL src/ui/components/messages/Todo.test.tsx > (showFullTodos: false) > renders when todos exist and one is in progress
Error: Snapshot ` (showFullTodos: false) > renders when todos exist and one is in progress 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- Todo 1/3 completed (ctrl+t to toggle) ยป[7m Task 2[27m"[39m
[31m+ Todo 1/3 completed (ctrl+t to toggle) ยป"[39m
โฏ src/ui/components/messages/Todo.test.tsx:82:27
80| showFullTodos,
81| });
82| expect(lastFrame()).toMatchSnapshot();
| ^
83| });
84|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[74/125]โฏ
FAIL src/ui/components/messages/Todo.test.tsx > (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on
Error: Snapshot ` (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- Todo 1/2 completed (ctrl+t to toggle) ยป[7m This iโฆ[27m"[39m
[31m+ Todo 1/2 completed (ctrl+t to toggle) ยป"[39m
โฏ src/ui/components/messages/Todo.test.tsx:113:27
111| ,
112| );
113| expect(lastFrame()).toMatchSnapshot();
| ^
114| });
115|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[75/125]โฏ
FAIL src/ui/components/messages/Todo.test.tsx > (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history
Error: Snapshot ` (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- Todo 0/2 completed (ctrl+t to toggle) ยป[7m Newer Task 2[27m"[39m
[31m+ Todo 0/2 completed (ctrl+t to toggle) ยป"[39m
โฏ src/ui/components/messages/Todo.test.tsx:130:27
128| showFullTodos,
129| });
130| expect(lastFrame()).toMatchSnapshot();
| ^
131| });
132|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[76/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > should display urls if prompt and url are different
Error: Snapshot `ToolConfirmationMessage > should display urls if prompt and url are different 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mfetch https://github.com/google/gemini-react/blob/main/README.md[27m[39m
[32m-[39m
[32m- URLs to fetch:[39m
[32m- - https://raw.githubusercontent.com/google/gemini-react/main/README.md[39m
[32m-[39m
[32m- Do you want to proceed?[39m
[32m-[39m
[32m- โ 1. Allow once[39m
[32m- 2. Allow for this session[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ "[39m
[31m+ Do you want to proceed?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:66:25
64| );
65|
66| expect(lastFrame()).toMatchSnapshot();
| ^
67| });
68|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[77/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > should display multiple commands for exec type when provided
AssertionError: expected '\nAllow execution of 3 commands?\n\nโโฆ' to contain 'echo "hello"'
[32m- Expected[39m
[31m+ Received[39m
[32m- echo "hello"[39m
[31m+[39m
[31m+ Allow execution of 3 commands?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:90:20
88|
89| const output = lastFrame();
90| expect(output).toContain('echo "hello"');
| ^
91| expect(output).toContain('ls -la');
92| expect(output).toContain('whoami');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[78/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mโญโโโโโโโโโโโโโโโโโโโโโโโฎ[27m[39m
[32m- โ โ[39m
[32m- โ No changes detected. โ[39m
[32m- โ โ[39m
[32m- โฐโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[32m-[39m
[32m- Apply this change?[39m
[32m-[39m
[32m- โ 1. Allow once[39m
[32m- 2. Allow for this session[39m
[32m- 3. Modify with external editor[39m
[32m- 4. No, suggest changes (esc)[39m
[31m+ "[39m
[31m+ Apply this change?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:171:29
169| );
170|
171| expect(lastFrame()).toMatchSnapshot();
| ^
172| });
173|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[79/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mโญโโโโโโโโโโโโโโโโโโโโโโโฎ[27m[39m
[32m- โ โ[39m
[32m- โ No changes detected. โ[39m
[32m- โ โ[39m
[32m- โฐโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[32m-[39m
[32m- Apply this change?[39m
[32m-[39m
[32m- โ 1. Allow once[39m
[32m- 2. Modify with external editor[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ "[39m
[31m+ Apply this change?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:189:29
187| );
188|
189| expect(lastFrame()).toMatchSnapshot();
| ^
190| });
191| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[80/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mecho "hello"[27m[39m
[32m-[39m
[31m+ "[39m
[2m Allow execution of: 'echo'?[22m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. Allow for this session[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:171:29
169| );
170|
171| expect(lastFrame()).toMatchSnapshot();
| ^
172| });
173|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[81/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mecho "hello"[27m[39m
[32m-[39m
[31m+ "[39m
[2m Allow execution of: 'echo'?[22m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:189:29
187| );
188|
189| expect(lastFrame()).toMatchSnapshot();
| ^
190| });
191| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[82/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mhttps://example.com[27m[39m
[32m-[39m
[31m+ "[39m
[2m Do you want to proceed?[22m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. Allow for this session[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:171:29
169| );
170|
171| expect(lastFrame()).toMatchSnapshot();
| ^
172| });
173|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[83/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mhttps://example.com[27m[39m
[32m-[39m
[31m+ "[39m
[2m Do you want to proceed?[22m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:189:29
187| );
188|
189| expect(lastFrame()).toMatchSnapshot();
| ^
190| });
191| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[84/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mMCP Server: test-server[27m[39m
[32m- Tool: test-tool[39m
[32m-[39m
[31m+ "[39m
[2m Allow execution of MCP tool "test-tool" from server "test-server"?[22m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. Allow tool for this session[39m
[32m- 3. Allow all server tools for this session[39m
[32m- 4. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:171:29
169| );
170|
171| expect(lastFrame()).toMatchSnapshot();
| ^
172| });
173|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[85/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mMCP Server: test-server[27m[39m
[32m- Tool: test-tool[39m
[32m-[39m
[31m+ "[39m
[2m Allow execution of MCP tool "test-tool" from server "test-server"?[22m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:189:29
187| );
188|
189| expect(lastFrame()).toMatchSnapshot();
| ^
190| });
191| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[86/125]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when setting is true
AssertionError: expected '\nApply this change?\n\nโ 1.\n 2.\n โฆ' to contain 'Allow for all future sessions'
[32m- Expected[39m
[31m+ Received[39m
[32m- Allow for all future sessions[39m
[31m+[39m
[31m+ Apply this change?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+ 5.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:249:27
247| );
248|
249| expect(lastFrame()).toContain('Allow for all future sessions');
| ^
250| });
251| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[87/125]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Golden Snapshots > renders tool call awaiting confirmation
Error: Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ ? confirmation-tool This tool needs confirmation [7mโ[27m โ[39m
[31m+ โ ? confirmation-tool This tool needs confirmation [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ Test result โ[22m
[32m- โ [7mAre you sure[27m you want to proceed? [7mโ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ Do you want to proceed? [27m [7mโ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ โ 1. Allow once[27m [7mโ[27m[39m
[32m- [7mโ 2. Allow for this session[27m [7mโ[27m[39m
[32m- [7mโ 3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m โ[27m[39m
[31m+ [7mโ Do[27m you want to proceed? [7mโ[27m[39m
[31m+ [7mโ[27m [7m โ[27m[39m
[31m+ [7mโ โ 1.[27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m2.[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m3.[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:93:27
91| ,
92| );
93| expect(lastFrame()).toMatchSnapshot();
| ^
94| unmount();
95| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[88/125]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Golden Snapshots > renders with limited terminal height
Error: Snapshot ` > Golden Snapshots > renders with limited terminal height 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ tool-with-result Tool with output โ[22m
[2m โ โ[22m
[32m- โ [7mThis is a long result that might need height constraints[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[2m โ โ another-tool Another tool โ[22m
[2m โ โ[22m
[32m- โ [7mMore output here[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:164:27
162| />,
163| );
164| expect(lastFrame()).toMatchSnapshot();
| ^
165| unmount();
166| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[89/125]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Height Calculation > calculates available height correctly with multiple tools with results
Error: Snapshot ` > Height Calculation > calculates available height correctly with multiple tools with results 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ test-tool A tool for testing โ[22m
[2m โ โ[22m
[32m- โ [7mResult 1[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[2m โ โ test-tool A tool for testing โ[22m
[2m โ โ[22m
[32m- โ [7mResult 2[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[2m โ โ test-tool A tool for testing โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:344:27
342| />,
343| );
344| expect(lastFrame()).toMatchSnapshot();
| ^
345| unmount();
346| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[90/125]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Confirmation Handling > shows confirmation dialog for first confirming tool only
Error: Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,16 +1,16 @@[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ ? first-confirm A tool for testing [7mโ[27m โ[39m
[31m+ โ ? first-confirm A tool for testing [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ Test result โ[22m
[32m- โ [7mConfirm first tool[27m [7mโ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ Do you want to proceed?[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ Do you want to proceed?[27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m [27m โ[39m
[32m- โ [7m [27m [7m [27mโ[39m
[31m+ โ [7mโ 1.[27m โ[39m
[32m- โ [7mโ 1. Allow once[27m โ[39m
[31m+ โ [7m 2. [27m [7m [27mโ[39m
[32m- โ [7m2[27m. [7mAllow for this session[27m โ[39m
[31m+ โ [7m3[27m. [7m [27m โ[39m
[32m- โ [7m3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m [27m[7m [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ ? second-confirm A tool for testing โ[22m
[2m โ โ[22m
[2m โ Test result โ[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:379:27
377| );
378| // Should only show confirmation for the first tool
379| expect(lastFrame()).toMatchSnapshot();
| ^
380| unmount();
381| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[91/125]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Confirmation Handling > renders confirmation with permanent approval enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Allow for all future sessions'
[32m- Expected[39m
[31m+ Received[39m
[32m- Allow for all future sessions[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ ? confirm-tool A tool for testing โ โ[39m
[31m+ โ โ[39m
[31m+ โ Test result โ[39m
[31m+ โ โ[39m
[31m+ โ Do you want to proceed? โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ 4. โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:404:27
402| { settings },
403| );
404| expect(lastFrame()).toContain('Allow for all future sessions');
| ^
405| expect(lastFrame()).toMatchSnapshot();
406| unmount();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[92/125]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Confirmation Handling > renders confirmation with permanent approval disabled
Error: Snapshot ` > Confirmation Handling > renders confirmation with permanent approval disabled 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ ? confirm-tool A tool for testing [7mโ[27m โ[39m
[31m+ โ ? confirm-tool A tool for testing [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ Test result โ[22m
[31m+ โ โ[39m
[2m โ Do you want to proceed? โ[22m
[2m โ โ[22m
[32m- โ [7mDo you want to proceed? [27m [7mโ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ โ 1. Allow once[27m [7mโ[27m[39m
[32m- [7mโ 2. Allow for this session[27m [7m [27m [7mโ[27m[39m
[32m- [7mโ 3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7mโ 1.[27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m2.[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m3.[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:431:27
429| );
430| expect(lastFrame()).not.toContain('Allow for all future sessionsโฆ
431| expect(lastFrame()).toMatchSnapshot();
| ^
432| unmount();
433| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[93/125]โฏ
FAIL src/ui/components/messages/ToolMessage.test.tsx > > renders emphasis correctly
Error: Snapshot ` > renders emphasis correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ โ test-tool A tool for testing [7mโ[27m โ[39m
[31m+ โ โ test-tool A tool for testing [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ MockMarkdown:Test result โ"[22m
โฏ src/ui/components/messages/ToolMessage.test.tsx:201:33
199| );
200| // Check for trailing indicator or specific color if applicable (Cโฆ
201| expect(highEmphasisFrame()).toMatchSnapshot();
| ^
202|
203| const { lastFrame: lowEmphasisFrame } = renderWithContext(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[94/125]โฏ
FAIL src/ui/components/messages/ToolMessageRawMarkdown.test.tsx > - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(constrained height, regular buffer -โฆ'
Error: Snapshot ` - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(constrained height, regular buffer -โฆ' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ test-tool A tool for testing โ[22m
[2m โ โ[22m
[32m- โ [7mTest bold and code markdown[27m โ"[39m
[31m+ โ [7m [27m โ"[39m
โฏ src/ui/components/messages/ToolMessageRawMarkdown.test.tsx:77:27
75| },
76| );
77| expect(lastFrame()).toMatchSnapshot();
| ^
78| },
79| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[95/125]โฏ
FAIL src/ui/components/messages/ToolMessageRawMarkdown.test.tsx > - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(constrained height, alternate bufferโฆ'
Error: Snapshot ` - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(constrained height, alternate bufferโฆ' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ test-tool A tool for testing โ[22m
[2m โ โ[22m
[32m- โ [7mTest bold and code markdown[27m โ"[39m
[31m+ โ [7m [27m โ"[39m
โฏ src/ui/components/messages/ToolMessageRawMarkdown.test.tsx:77:27
75| },
76| );
77| expect(lastFrame()).toMatchSnapshot();
| ^
78| },
79| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[96/125]โฏ
FAIL src/ui/components/messages/ToolStickyHeaderRegression.test.tsx > ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers
AssertionError: expected '\n\n\n\n' to contain 'Shell Command'
[32m- Expected[39m
[31m+ Received[39m
[32m- Shell Command[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx:191:27
189|
190| await waitFor(() => {
191| expect(lastFrame()).toContain(SHELL_COMMAND_NAME);
| ^
192| });
193| expect(lastFrame()).toMatchSnapshot();
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx:190:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[97/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially
AssertionError: expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:315:22
313| const output = lastFrame();
314|
315| expect(output).toContain('Item 1');
| ^
316| expect(output).toContain('Item 3');
317| expect(output).not.toContain('Item 4');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[98/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll down when activeIndex moves beyond the visible window
AssertionError: expected ' 2. I\n t\n e\n m\n โฆ' to contain 'Item 2'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 2[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ โ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:330:24
328| const output = lastFrame();
329| expect(output).not.toContain('Item 1');
330| expect(output).toContain('Item 2');
| ^
331| expect(output).toContain('Item 4');
332| expect(output).not.toContain('Item 5');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:327:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[99/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll up when activeIndex moves before the visible window
AssertionError: expected ' 3. I\n t\n e\n m\n โฆ' to contain 'Item 3'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 3[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
[31m+ โ 5. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 5[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:343:24
341| await waitFor(() => {
342| const output = lastFrame();
343| expect(output).toContain('Item 3'); // Should see items 3, 4, 5
| ^
344| expect(output).toContain('Item 5');
345| expect(output).not.toContain('Item 2');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:341:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[100/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should pin the scroll offset to the end if selection starts near the end
AssertionError: expected ' 8. I\n t\n e\n m\n โฆ' to contain 'Item 10'
[32m- Expected[39m
[31m+ Received[39m
[32m- [7mItem 1[27m0[39m
[31m+ 8. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 8[39m
[31m+ 9. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 9[39m
[31m+ โ 10. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ [7m [27m0[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:368:24
366| await waitFor(() => {
367| const output = lastFrame();
368| expect(output).toContain('Item 10');
| ^
369| expect(output).toContain('Item 8');
370| expect(output).not.toContain('Item 7');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:366:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[101/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes
AssertionError: expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:377:27
375| const { updateActiveIndex, lastFrame } = renderScrollableList(0);
376|
377| expect(lastFrame()).toContain('Item 1');
| ^
378| expect(lastFrame()).toContain('Item 3');
379|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[102/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length
AssertionError: expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
[31m+ 5. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 5[39m
[31m+ 6. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 6[39m
[31m+ 7. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 7[39m
[31m+ 8. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 8[39m
[31m+ 9. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 9[39m
[31m+ 10. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 0[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:442:22
440|
441| // Should show all available items (10 items)
442| expect(output).toContain('Item 1');
| ^
443| expect(output).toContain('Item 10');
444| expect(mockRenderItem).toHaveBeenCalledTimes(10);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[103/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top)
AssertionError: expected 'โฒ\nโ 1. I\n t\n e\n mโฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โฒ[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:480:24
478| const output = lastFrame();
479| // At the top, should show first 3 items
480| expect(output).toContain('Item 1');
| ^
481| expect(output).toContain('Item 3');
482| expect(output).not.toContain('Item 4');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:477:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[104/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the middle
AssertionError: expected 'โฒ\n 4. I\n t\n e\n mโฆ' to contain 'Item 4'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 4[39m
[31m+ โฒ[39m
[31m+ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
[31m+ 5. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 5[39m
[31m+ โ 6. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 6[39m
[31m+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:498:24
496| const output = lastFrame();
497| // After scrolling to middle, should see items around index 5
498| expect(output).toContain('Item 4');
| ^
499| expect(output).toContain('Item 6');
500| expect(output).not.toContain('Item 3');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:495:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[105/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the end
AssertionError: expected 'โฒ\n 8. I\n t\n e\n mโฆ' to contain 'Item 8'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 8[39m
[31m+ โฒ[39m
[31m+ 8. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 8[39m
[31m+ 9. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 9[39m
[31m+ โ 10. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 0[39m
[31m+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:517:24
515| const output = lastFrame();
516| // At the end, should show last 3 items
517| expect(output).toContain('Item 8');
| ^
518| expect(output).toContain('Item 10');
519| expect(output).not.toContain('Item 7');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:514:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[106/125]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show both arrows dimmed when list fits entirely
AssertionError: expected 'โฒ\nโ 1. I\n t\n e\n m\n โฆ' to contain 'Item A'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item A[39m
[31m+ โฒ[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ A[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ B[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ C[39m
[31m+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:535:22
533| const output = lastFrame();
534| // Should show all items since maxItemsToShow > items.length
535| expect(output).toContain('Item A');
| ^
536| expect(output).toContain('Item B');
537| expect(output).toContain('Item C');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[107/125]โฏ
FAIL src/ui/components/shared/MaxSizedBox.test.tsx > > handles React.Fragment as a child
AssertionError: expected '\n\n' to contain 'Line 1 from Fragment'
[32m- Expected[39m
[31m+ Received[39m
[32m- Line 1 from Fragment[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/MaxSizedBox.test.tsx:181:45
179| ,
180| );
181| await waitFor(() => expect(lastFrame()).toContain('Line 1 from Fraโฆ
| ^
182| expect(lastFrame()).toMatchSnapshot();
183| unmount();
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/MaxSizedBox.test.tsx:181:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[108/125]โฏ
FAIL src/ui/components/shared/MaxSizedBox.test.tsx > > clips a long single text child from the top
AssertionError: expected '\n\n\n\n\n\n\n\n\n' to contain '... first 21 lines hidden ...'
[32m- Expected[39m
[31m+ Received[39m
[32m- ... first 21 lines hidden ...[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/MaxSizedBox.test.tsx:202:27
200|
201| await waitFor(() =>
202| expect(lastFrame()).toContain('... first 21 lines hidden ...'),
| ^
203| );
204| expect(lastFrame()).toMatchSnapshot();
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/MaxSizedBox.test.tsx:201:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[109/125]โฏ
FAIL src/ui/components/shared/MaxSizedBox.test.tsx > > clips a long single text child from the bottom
AssertionError: expected '\n\n\n\n\n\n\n\n\n' to contain '... last 21 lines hidden ...'
[32m- Expected[39m
[31m+ Received[39m
[32m- ... last 21 lines hidden ...[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/MaxSizedBox.test.tsx:224:27
222|
223| await waitFor(() =>
224| expect(lastFrame()).toContain('... last 21 lines hidden ...'),
| ^
225| );
226| expect(lastFrame()).toMatchSnapshot();
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/MaxSizedBox.test.tsx:223:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[110/125]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up
AssertionError: expected '\n โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Item 1001'
[32m- Expected[39m
[31m+ Received[39m
[32m- [7mItem[27m 1001[39m
[31m+[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[31m+ [7m Count:[27m 1001[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:160:26
158| expect(lastFrame!()).toContain('Count: 1001');
159| });
160| expect(lastFrame!()).toContain('Item 1001');
| ^
161| expect(lastFrame!()).not.toContain('Item 990'); // Should have scrโฆ
162|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[111/125]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > should display sticky header when scrolled past the item
AssertionError: expected '\n\n\n\n\n\n\n\n\n' to contain '[Normal] Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- [Normal] Item 1[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:247:28
245| // Initially at top, should see Normal Item 1
246| await waitFor(() => {
247| expect(lastFrame!()).toContain('[Normal] Item 1');
| ^
248| });
249| expect(lastFrame!()).not.toContain('[STICKY] Item 1');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/ScrollableList.test.tsx:246:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[112/125]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > Keyboard Navigation > should handle scroll keys correctly
AssertionError: expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 0[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:322:28
320|
321| // Initial state
322| expect(lastFrame!()).toContain('Item 0');
| ^
323| expect(listRef).toBeDefined();
324| expect(listRef!.getScrollState()?.scrollTop).toBe(0);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[113/125]โฏ
FAIL src/ui/components/shared/performance.test.ts > text-buffer performance > should handle pasting large amounts of text efficiently
AssertionError: expected 13155 to be less than 5000
โฏ src/ui/components/shared/performance.test.ts:40:22
38|
39| const duration = end - start;
40| expect(duration).toBeLessThan(5000);
| ^
41| });
42|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[114/125]โฏ
FAIL src/ui/components/shared/performance.test.ts > text-buffer performance > should handle character-by-character insertion in a large buffer efficiently
AssertionError: expected 7406 to be less than 5000
โฏ src/ui/components/shared/performance.test.ts:69:22
67|
68| const duration = end - start;
69| expect(duration).toBeLessThan(5000);
| ^
70| });
71|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[115/125]โฏ
FAIL src/ui/components/shared/text-buffer.test.ts > useTextBuffer > Input Sanitization > should sanitize large text (>5000 chars) and strip unsafe characters
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/shared/text-buffer.test.ts:1557:5
1555| });
1556|
1557| it('should sanitize large text (>5000 chars) and strip unsafe charโฆ
| ^
1558| const { result } = renderHook(() =>
1559| useTextBuffer({ viewport, isValidPath: () => false }),
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[116/125]โฏ
FAIL src/ui/components/shared/text-buffer.test.ts > useTextBuffer > Input Sanitization > should sanitize large ANSI text (>5000 chars) and strip escape codes
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/shared/text-buffer.test.ts:1587:5
1585| });
1586|
1587| it('should sanitize large ANSI text (>5000 chars) and strip escapeโฆ
| ^
1588| const { result } = renderHook(() =>
1589| useTextBuffer({ viewport, isValidPath: () => false }),
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[117/125]โฏ
Snapshots 4 written
54 failed
17 obsolete
โณ src/ui/components/messages/ToolGroupMessage.test.tsx
ยท > Confirmation Handling > renders confirmation with permanent approval enabled 1
โณ src/ui/components/messages/DiffRenderer.test.tsx
ยท > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 1
ยท > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 1
ยท > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 1
ยท > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 1
โณ src/ui/components/ModelStatsDisplay.test.tsx
ยท > should display a single model correctly 1
ยท > should display stats for multiple models correctly 1
ยท > should handle models with long names (gemini-3-*-preview) without layout breaking 1
โณ src/ui/components/RewindViewer.test.tsx
ยท RewindViewer > updates content when conversation changes (background update) > after-update 1
ยท RewindViewer > updates selection and expansion on navigation > after-down 1
โณ src/ui/components/messages/ToolMessage.test.tsx
ยท > renders emphasis correctly 2
โณ src/ui/components/messages/ToolConfirmationMessage.test.tsx
ยท ToolConfirmationMessage > should display multiple commands for exec type when provided 1
โณ src/ui/components/shared/MaxSizedBox.test.tsx
ยท > clips a long single text child from the bottom 1
ยท > clips a long single text child from the top 1
ยท > handles React.Fragment as a child 1
โณ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx
ยท ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers 1
ยท ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers 2
Test Files 28 failed | 297 passed (325)
Tests 123 failed | 4173 passed | 2 skipped (4298)
Start at 13:41:06
Duration 347.19s (transform 681.97s, setup 168.34s, collect 15213.67s, tests 528.58s, environment 719ms, prepare 388.86s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/cli/junit.xml
npm error Lifecycle script `test` failed with error:
npm error code 1
npm error path /build/gemini-cli/src/gemini-cli/packages/cli
npm error workspace @google/gemini-cli@0.26.0
npm error location /build/gemini-cli/src/gemini-cli/packages/cli
npm error command failed
npm error command sh -c vitest run
> @google/gemini-cli-core@0.26.0 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/core
Coverage enabled with v8
โ src/services/modelConfigService.test.ts (31 tests) 113ms
โ src/utils/paths.test.ts (88 tests | 17 skipped) 150ms
(node:11668) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/googleQuotaErrors.test.ts (26 tests) 154ms
โ src/utils/workspaceContext.test.ts (34 tests) 326ms
(node:11886) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/editor.test.ts (119 tests) 434ms
(node:11981) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11622) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11619) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11640) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/systemEncoding.test.ts (38 tests) 248ms
โ src/services/sessionSummaryService.test.ts (33 tests) 368ms
โ src/hooks/hookRegistry.test.ts (24 tests) 313ms
(node:11752) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/memoryImportProcessor.test.ts (25 tests) 433ms
(node:11836) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/generateContentResponseUtilities.test.ts (48 tests) 148ms
(node:11682) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/telemetry/memory-monitor.test.ts (31 tests) 445ms
โ src/mcp/oauth-provider.test.ts (37 tests) 1986ms
โ MCPOAuthProvider > authenticate > should handle invalid callback request 1016ms
โ src/scheduler/state-manager.test.ts (26 tests) 185ms
โ src/output/stream-json-formatter.test.ts (20 tests) 154ms
โ src/policy/toml-loader.test.ts (27 tests) 573ms
โ src/core/prompts.test.ts (43 tests) 623ms
(node:11614) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:12288) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11930) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11832) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/googleErrors.test.ts (13 tests) 88ms
(node:11816) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11858) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11937) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11646) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11702) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11628) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11615) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11689) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/policy/shell-safety.test.ts (23 tests) 185ms
โ src/utils/editCorrector.test.ts (40 tests) 376ms
โ src/tools/mcp-tool.test.ts (43 tests) 710ms
โ DiscoveredMCPTool > constructor > should set properties correctly 338ms
โ src/tools/memoryTool.test.ts (19 tests) 567ms
โ MemoryTool > execute (instance method) > should call performAddMemoryEntry with correct parameters and return success 351ms
โ src/policy/policy-engine.test.ts (78 tests) 627ms
โ src/hooks/hookRunner.test.ts (24 tests) 570ms
โ src/code_assist/converter.test.ts (24 tests) 121ms
โ src/mcp/oauth-utils.test.ts (31 tests) 176ms
โ src/mcp/token-storage/keychain-token-storage.test.ts (29 tests) 8607ms
โ KeychainTokenStorage > checkKeychainAvailability > should return true if keytar is available and functional 2203ms
โ KeychainTokenStorage > with keychain available > deleteCredentials > should throw if no credentials were found to delete 313ms
โ KeychainTokenStorage > with keychain available > listServers > should return a list of server names 422ms
โ KeychainTokenStorage > with keychain available > getAllCredentials > should return a map of all valid credentials and emit feedback for invalid ones 398ms
โ KeychainTokenStorage > with keychain available > Secrets > should set and get a secret 375ms
โ KeychainTokenStorage > with keychain available > Secrets > should list secrets 313ms
โ KeychainTokenStorage > with keychain available > Secrets > should not list secrets in listServers 319ms
(node:11709) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:12052) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11716) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/pathReader.test.ts (18 tests) 614ms
โ src/mcp/oauth-token-storage.test.ts (28 tests) 251ms
(node:11790) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/shell-utils.test.ts (57 tests | 1 skipped) 2060ms
โ getCommandRoots > should handle parser initialization failures gracefully 620ms
โ src/utils/fileUtils.test.ts (78 tests) 940ms
โ src/hooks/hookAggregator.test.ts (10 tests) 111ms
(node:11989) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:12941) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13063) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ide/ide-client.test.ts (36 tests) 678ms
โ src/hooks/types.test.ts (34 tests) 147ms
โ src/tools/grep.test.ts (24 tests) 1692ms
โ GrepTool > validateToolParams > should return null for valid params (pattern only) 496ms
(node:11742) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13099) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/scheduler/policy.test.ts (16 tests) 189ms
โ src/ide/ideContext.test.ts (23 tests) 155ms
(node:11781) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/scheduler/confirmation.test.ts (9 tests) 187ms
โ src/tools/ripGrep.test.ts (53 tests | 1 skipped) 2940ms
โ RipGrepTool > validateToolParams > should return null for valid params ('pattern only') 430ms
(node:11730) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/tools/modifiable-tool.test.ts (12 tests) 378ms
โ src/tools/web-fetch.test.ts (31 tests) 1009ms
โ WebFetchTool > validateToolParamValues > should throw if 'empty prompt' 409ms
โ src/services/shellExecutionService.test.ts (53 tests | 1 skipped) 5220ms
โ ShellExecutionService > Successful Execution > should capture large output (10000 lines) 1188ms
โ ShellExecutionService environment variables > should use a sanitized environment when in a GitHub run 1117ms
โ ShellExecutionService environment variables > should use a sanitized environment when in a GitHub run (SURFACE=Github) 704ms
โ ShellExecutionService environment variables > should include the full process.env when not in a GitHub run 682ms
โ src/hooks/hookPlanner.test.ts (10 tests) 134ms
โ src/utils/userAccountManager.test.ts (23 tests) 218ms
โ src/utils/partUtils.test.ts (37 tests) 110ms
โ src/utils/gitIgnoreParser.test.ts (25 tests) 524ms
โ src/services/fileDiscoveryService.test.ts (20 tests) 517ms
โ src/services/gitService.test.ts (18 tests) 530ms
(node:13255) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13257) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/ignorePatterns.test.ts (28 tests) 170ms
โ src/telemetry/gcp-exporters.test.ts (18 tests) 342ms
โ src/utils/getFolderStructure.test.ts (15 tests) 568ms
โ src/services/environmentSanitization.test.ts (18 tests) 113ms
(node:13290) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11917) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:12323) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/bfsFileSearch.test.ts (16 tests) 678ms
โ src/agents/agentLoader.test.ts (19 tests) 478ms
(node:13689) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/tools/ls.test.ts (21 tests) 1573ms
โ LSTool > parameter validation > should accept valid absolute paths within workspace 444ms
(node:13291) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13422) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/checkpointUtils.test.ts (15 tests) 204ms
โ src/code_assist/oauth-credential-storage.test.ts (16 tests) 303ms
โ src/output/json-formatter.test.ts (17 tests) 94ms
(node:13483) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/safety/checker-runner.test.ts (9 tests) 217ms
โ src/code_assist/admin/admin_controls.test.ts (14 tests) 254ms
โ src/telemetry/activity-monitor.test.ts (22 tests) 128ms
โ src/telemetry/semantic.test.ts (21 tests) 97ms
โ src/utils/events.test.ts (17 tests) 461ms
(node:13437) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13263) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/agents/a2a-client-manager.test.ts (18 tests) 194ms
โ src/services/modelConfig.integration.test.ts (10 tests) 80ms
โ src/availability/policyHelpers.test.ts (16 tests) 140ms
(node:13924) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/safety/built-in.test.ts (14 tests) 517ms
โ src/mcp/token-storage/file-token-storage.test.ts (16 tests) 3852ms
โ src/routing/strategies/classifierStrategy.test.ts (9 tests) 262ms
(node:13969) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/telemetry/rate-limiter.test.ts (24 tests) 168ms
(node:12939) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13913) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:13174) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:12109) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:14016) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/mcp/token-storage/hybrid-token-storage.test.ts (11 tests) 351ms
โ src/agents/remote-invocation.test.ts (9 tests) 133ms
โ src/config/models.test.ts (32 tests) 126ms
โ src/skills/skillLoader.test.ts (13 tests) 783ms
โ skillLoader > should load skills from a directory with valid SKILL.md 332ms
(node:14057) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/ide/ide-installer.test.ts (15 tests) 165ms
(node:14105) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:14204) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/agents/delegate-to-agent-tool.test.ts (11 tests) 654ms
โ DelegateToAgentTool > should validate correct arguments 444ms
(node:14104) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/secure-browser-launcher.test.ts (14 tests) 206ms
โ src/scheduler/tool-modifier.test.ts (5 tests) 125ms
โ src/utils/errorReporting.test.ts (6 tests) 308ms
โ src/utils/terminalSerializer.test.ts (17 tests) 670ms
(node:14385) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/tools/message-bus-integration.test.ts (6 tests) 757ms
โ Message Bus Integration > BaseToolInvocation with MessageBus > should use message bus for confirmation when available 604ms
โ src/confirmation-bus/message-bus.test.ts (10 tests) 156ms
โ src/mcp/google-auth-provider.test.ts (15 tests) 399ms
โ src/utils/channel.test.ts (22 tests) 166ms
(node:14274) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/telemetry/high-water-mark-tracker.test.ts (18 tests) 146ms
โ src/commands/memory.test.ts (12 tests) 157ms
(node:14124) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/hooks/hookTranslator.test.ts (10 tests) 85ms
(node:14475) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/policy/persistence.test.ts (5 tests) 301ms
โ src/tools/tools.test.ts (11 tests) 127ms
โ src/core/geminiChatHookTriggers.test.ts (7 tests) 76ms
โ src/routing/strategies/compositeStrategy.test.ts (6 tests) 130ms
โ src/ide/detect-ide.test.ts (17 tests) 120ms
โ src/ide/process-utils.test.ts (8 tests) 113ms
โ src/commands/restore.test.ts (6 tests) 102ms
(node:14593) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/apiConversionUtils.test.ts (7 tests) 58ms
โ src/core/fakeContentGenerator.test.ts (7 tests) 94ms
โ src/utils/environmentContext.test.ts (6 tests) 308ms
(node:14729) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:14815) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:14682) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/mcp/sa-impersonation-provider.test.ts (8 tests) 168ms
โ src/tools/activate-skill.test.ts (7 tests) 562ms
โ ActivateSkillTool > should return enhanced description 420ms
(node:14855) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/tokenCalculation.test.ts (10 tests) 115ms
โ src/fallback/handler.test.ts (14 tests) 346ms
โ src/agents/registry.test.ts (39 tests) 541ms
(node:11781) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/utils/memoryDiscovery.test.ts (29 tests) 1492ms
โ src/tools/diffOptions.test.ts (9 tests) 78ms
(node:11981) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/hooks/hookEventHandler.test.ts (13 tests) 365ms
โ src/tools/tool-registry.test.ts (16 tests) 762ms
โ ToolRegistry > discoverTools > should return a DISCOVERED_TOOL_EXECUTION_ERROR on tool failure 371ms
โ src/telemetry/sanitize.test.ts (18 tests) 175ms
โ src/core/contentGenerator.test.ts (16 tests) 232ms
โ src/config/config.test.ts (133 tests) 3056ms
โ Server Config (config.ts) > initialize > should not throw an error if checkpointing is disabled and GitService fails 361ms
โ src/services/chatCompressionService.test.ts (26 tests) 680ms
โ src/tools/shell.test.ts (23 tests | 1 skipped) 2142ms
โ ShellTool > build > should return an invocation for a valid command 429ms
โ src/tools/mcp-client.test.ts (55 tests) 3098ms
โ connectToMcpServer with OAuth > should discover oauth config if not in www-authenticate header 1257ms
โ src/tools/edit.test.ts (41 tests) 1968ms
โ EditTool > validateToolParams > should return null for valid params 447ms
โ src/telemetry/loggers.test.ts (36 tests) 984ms
โ src/core/turn.test.ts (22 tests) 237ms
โ src/services/chatRecordingService.test.ts (12 tests) 399ms
โ src/utils/llm-edit-fixer.test.ts (8 tests) 216ms
โ src/utils/retry.test.ts (30 tests) 626ms
โ src/core/logger.test.ts (39 tests) 1394ms
โ src/tools/read-file.test.ts (29 tests) 2140ms
โ ReadFileTool > build > should return an invocation for valid params (absolute path within root) 356ms
โ ReadFileTool > execute > should return error for a file that is too large 322ms
โ src/core/baseLlmClient.test.ts (29 tests) 620ms
โ src/code_assist/oauth2.test.ts (30 tests) 973ms
โ src/hooks/trustedHooks.test.ts (7 tests) 148ms
โ src/telemetry/uiTelemetry.test.ts (19 tests) 226ms
โ src/core/coreToolScheduler.test.ts (20 tests) 1452ms
โ CoreToolScheduler > should mark tool call as cancelled when abort happens during confirmation error 489ms
(node:14835) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/tools/write-file.test.ts (33 tests) 1433ms
โ WriteFileTool > build > should return an invocation for a valid absolute path within root 441ms
โ src/telemetry/startupProfiler.test.ts (23 tests) 381ms
โ src/code_assist/telemetry.test.ts (16 tests) 156ms
โ src/scheduler/scheduler.test.ts (23 tests) 628ms
โ src/tools/glob.test.ts (37 tests) 4155ms
โ GlobTool > execute > should find files matching a simple pattern in the root 656ms
โ src/skills/skillManager.test.ts (8 tests) 409ms
โ src/code_assist/server.test.ts (20 tests) 564ms
(node:11689) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/telemetry/clearcut-logger/clearcut-logger.test.ts (52 tests) 3117ms
โ ClearcutLogger > createLogEvent > logs the GPU information (single GPU) 349ms
โ ClearcutLogger > enqueueLogEvent > should evict the oldest event when the queue is full 658ms
โ ClearcutLogger > requeueFailedEvents logic > should not requeue more events than available space in the queue 605ms
โ src/hooks/hookSystem.test.ts (8 tests) 304ms
(node:13263) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/tools/mcp-client-manager.test.ts (15 tests) 268ms
โ src/agents/a2aUtils.test.ts (9 tests) 77ms
โ src/agents/local-invocation.test.ts (11 tests) 165ms
(node:13483) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/routing/strategies/fallbackStrategy.test.ts (5 tests) 85ms
โ src/core/nonInteractiveToolExecutor.test.ts (8 tests) 327ms
โ src/mcp/token-storage/base-token-storage.test.ts (12 tests) 72ms
โ src/utils/errors.test.ts (15 tests) 70ms
โ src/agents/schema-utils.test.ts (6 tests) 85ms
โ src/telemetry/activity-detector.test.ts (13 tests) 107ms
โ src/availability/modelAvailabilityService.test.ts (9 tests) 80ms
โ src/core/recordingContentGenerator.test.ts (4 tests) 83ms
โ src/routing/strategies/defaultStrategy.test.ts (5 tests) 62ms
โ src/agents/utils.test.ts (12 tests) 68ms
โ src/policy/utils.test.ts (13 tests) 67ms
(node:14935) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/geminiIgnoreParser.test.ts (11 tests) 298ms
โ src/code_assist/experiments/experiments_local.test.ts (5 tests) 1596ms
โ experiments with GEMINI_EXP > should work without server if file read succeeds 389ms
โ experiments with GEMINI_EXP > should return empty if no server and no GEMINI_EXP 339ms
โ experiments with GEMINI_EXP > should fallback to server if file has invalid structure 324ms
(node:15000) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:15188) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:11646) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/utils/filesearch/crawlCache.test.ts (9 tests) 130ms
(node:15263) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/telemetry/semantic.truncation.test.ts (4 tests) 83ms
โ src/agents/local-executor.test.ts (34 tests) 1309ms
โ src/prompts/prompt-registry.test.ts (7 tests) 159ms
โ src/utils/textUtils.test.ts (17 tests) 75ms
(node:15364) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/delay.test.ts (7 tests) 189ms
โ src/availability/policyCatalog.test.ts (10 tests) 90ms
โ src/utils/installationManager.test.ts (4 tests) 76ms
โ src/services/contextManager.test.ts (4 tests) 139ms
โ src/utils/debugLogger.test.ts (6 tests) 92ms
โ src/utils/pathCorrector.test.ts (4 tests) 87ms
โ src/telemetry/sdk.test.ts (16 tests) 551ms
(node:12939) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:12939) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/services/modelConfig.golden.test.ts (2 tests) 95ms
โ src/tools/write-todos.test.ts (9 tests) 427ms
โ WriteTodosTool > validation > should not throw for valid parameters 360ms
โ src/tools/read-many-files.test.ts (31 tests) 3235ms
โ ReadManyFilesTool > build > should return an invocation for valid relative paths within root 462ms
โ ReadManyFilesTool > execute > should read a single specified file 328ms
โ src/tools/base-tool-invocation.test.ts (2 tests) 78ms
โ src/utils/customHeaderUtils.test.ts (11 tests) 68ms
โ src/utils/fileDiffUtils.test.ts (7 tests) 48ms
โ src/code_assist/experiments/client_metadata.test.ts (12 tests) 3003ms
โ client_metadata > getPlatform > should return DARWIN_AMD64 for platform darwin and arch x64 363ms
โ client_metadata > getPlatform > should return DARWIN_ARM64 for platform darwin and arch arm64 434ms
โ client_metadata > getClientMetadata > should call getReleaseChannel to get the update channel 333ms
โ src/code_assist/experiments/experiments.test.ts (4 tests) 1378ms
โ experiments > should fetch and parse experiments from the server 310ms
โ experiments > should handle an empty or partial response from the server 329ms
โ experiments > should ignore flags that are missing a name 376ms
โ experiments > should cache the experiments promise to avoid multiple fetches 349ms
โ src/core/apiKeyCredentialStorage.test.ts (7 tests) 167ms
โ src/config/storage.test.ts (10 tests) 68ms
โ src/resources/resource-registry.test.ts (4 tests) 55ms
โ src/utils/thoughtUtils.test.ts (11 tests) 62ms
โ src/availability/fallbackIntegration.test.ts (2 tests) 83ms
โ src/routing/strategies/overrideStrategy.test.ts (4 tests) 53ms
โ src/utils/safeJsonStringify.test.ts (8 tests) 56ms
โ src/core/loggingContentGenerator.test.ts (9 tests) 290ms
โ src/services/loopDetectionService.test.ts (47 tests) 4327ms
โ LoopDetectionService > Content Loop Detection > should not detect a loop for random content 2392ms
โ src/utils/schemaValidator.test.ts (7 tests) 511ms
โ SchemaValidator > allows schema with extra properties 405ms
โ src/safety/context-builder.test.ts (3 tests) 72ms
โ src/agents/cli-help-agent.test.ts (6 tests) 47ms
โ src/tools/tool-names.test.ts (5 tests) 38ms
โ src/utils/filesearch/result-cache.test.ts (3 tests) 41ms
working stdoutworking stderr โ src/utils/stdio.test.ts (2 tests) 70ms
โ src/utils/package.test.ts (4 tests) 104ms
(node:15834) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/utils/nextSpeakerChecker.test.ts (10 tests) 322ms
โ src/agents/codebase-investigator.test.ts (2 tests) 32ms
โ src/services/fileSystemService.test.ts (3 tests) 62ms
โ src/scheduler/tool-executor.test.ts (5 tests) 321ms
โ src/core/tokenLimits.test.ts (5 tests) 42ms
โ src/utils/version.test.ts (3 tests) 51ms
โ src/prompts/mcp-prompts.test.ts (2 tests) 49ms
โ src/commands/init.test.ts (2 tests) 39ms
โ src/utils/formatters.test.ts (4 tests) 42ms
โ src/commands/extensions.test.ts (1 test) 59ms
โ src/safety/registry.test.ts (4 tests) 56ms
โ src/telemetry/telemetry-utils.test.ts (6 tests) 40ms
โ src/index.test.ts (1 test) 34ms
โ src/tools/get-internal-docs.test.ts (4 tests) 739ms
โ GetInternalDocsTool (Integration) > should find the documentation root and list files 640ms
โ src/core/client.test.ts (71 tests | 1 skipped) 7673ms
โ Gemini Client (client.ts) > sendMessageStream > should stop infinite loop after MAX_TURNS when nextSpeaker always returns model 526ms
โ Gemini Client (client.ts) > sendMessageStream > should respect MAX_TURNS limit even when turns parameter is set to a large value 484ms
โ src/code_assist/setup.test.ts (9 tests) 204ms
โฏ src/policy/config.test.ts (20 tests | 1 failed) 66993ms
โ createPolicyEngineConfig > should return ASK_USER for write tools and ALLOW for read-only tools by default 10030ms
โ createPolicyEngineConfig > should allow tools in tools.allowed 4556ms
โ createPolicyEngineConfig > should deny tools in tools.exclude 2837ms
โ createPolicyEngineConfig > should allow tools from allowed MCP servers 2446ms
โ createPolicyEngineConfig > should deny tools from excluded MCP servers 2835ms
โ createPolicyEngineConfig > should allow tools from trusted MCP servers 2068ms
โ createPolicyEngineConfig > should handle multiple MCP server configurations together 2141ms
โ createPolicyEngineConfig > should allow all tools in YOLO mode 2298ms
โ createPolicyEngineConfig > should allow edit tool in AUTO_EDIT mode 2178ms
โ createPolicyEngineConfig > should prioritize exclude over allow 2383ms
โ createPolicyEngineConfig > should prioritize specific tool allows over MCP server excludes 2359ms
โ createPolicyEngineConfig > should handle MCP server allows and tool excludes 2867ms
โ createPolicyEngineConfig > should handle complex priority scenarios correctly 3293ms
โ createPolicyEngineConfig > should handle MCP servers with undefined trust property 2868ms
โ createPolicyEngineConfig > should have YOLO allow-all rule beat write tool rules in YOLO mode 4519ms
ร createPolicyEngineConfig > should support argsPattern in policy rules 6126ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ createPolicyEngineConfig > should load safety_checker configuration from TOML 3639ms
โ createPolicyEngineConfig > should reject invalid in-process checker names 5153ms
โ createPolicyEngineConfig > should have default ASK_USER rule for discovered tools 1868ms
โ createPolicyEngineConfig > should normalize legacy "ShellTool" alias to "run_shell_command" 512ms
(node:16054) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:15835) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/core/geminiChat.test.ts (47 tests) 8718ms
โ GeminiChat > sendMessageStream > should fail if the stream ends with an empty part and has no finishReason 554ms
โ GeminiChat > sendMessageStream > should throw an error when a tool call is followed by an empty stream response 537ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when no tool call and no finish reason 539ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when no tool call and empty response text 533ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when finishReason is MALFORMED_FUNCTION_CALL 539ms
โ GeminiChat > sendMessageStream > should retry when finishReason is MALFORMED_FUNCTION_CALL 552ms
โ GeminiChat > sendMessageStream with retries > should yield a RETRY event when an invalid stream is encountered 539ms
โ GeminiChat > sendMessageStream with retries > should retry on invalid content, succeed, and report metrics 552ms
โ GeminiChat > sendMessageStream with retries > should set temperature to 1 on retry 547ms
โ GeminiChat > sendMessageStream with retries > should fail after all retries on persistent invalid content and report metrics 541ms
โ GeminiChat > should correctly retry and append to an existing history mid-conversation 550ms
โ GeminiChat > should retry if the model returns a completely empty stream (no chunks) 546ms
โ GeminiChat > should discard valid partial content from a failed attempt upon retry 556ms
โ src/core/geminiChat_network_retry.test.ts (3 tests) 1434ms
โ GeminiChat Network Retries > should retry when a 503 ApiError occurs during stream iteration 814ms
โ GeminiChat Network Retries > should retry on generic network error if retryFetchErrors is true 558ms
โ src/tools/web-search.test.ts (9 tests) 743ms
โ WebSearchTool > build > should return an invocation for a valid query 444ms
โ src/core/coreToolHookTriggers.test.ts (6 tests) 120ms
โ src/utils/summarizer.test.ts (8 tests) 889ms
โ src/utils/extensionLoader.test.ts (9 tests | 1 skipped) 100ms
โ src/agents/subagent-tool-wrapper.test.ts (7 tests) 440ms
โ SubagentToolWrapper > createInvocation > should create a LocalSubagentInvocation with the correct parameters 322ms
โ src/services/sessionSummaryUtils.test.ts (10 tests) 194ms
โ src/telemetry/config.test.ts (14 tests) 70ms
โ src/policy/policy-updater.test.ts (5 tests) 133ms
โ src/code_assist/codeAssist.test.ts (7 tests) 136ms
โ src/tools/confirmation-policy.test.ts (6 tests) 718ms
โ Tool Confirmation Policy Updates > 'EditTool' policy updates > should handle 'proceed_always' correctly 581ms
โ src/routing/modelRouterService.test.ts (5 tests) 298ms
โ src/utils/flashFallback.test.ts (4 tests) 99ms
โ src/utils/tool-utils.test.ts (9 tests) 43ms
โ src/utils/errorParsing.test.ts (10 tests) 48ms
โ src/telemetry/telemetry.test.ts (2 tests) 184ms
โ src/config/flashFallback.test.ts (3 tests) 144ms
โ src/agents/generalist-agent.test.ts (1 test) 68ms
โ src/telemetry/metrics.test.ts (68 tests) 113615ms
โ Telemetry Metrics > recordFlickerFrame > does not record metrics if not initialized 21195ms
โ Telemetry Metrics > recordFlickerFrame > records a flicker frame event when initialized 3182ms
โ Telemetry Metrics > recordExitFail > does not record metrics if not initialized 2710ms
โ Telemetry Metrics > recordExitFail > records a exit fail event when initialized 2725ms
โ Telemetry Metrics > recordSlowRender > does not record metrics if not initialized 2956ms
โ Telemetry Metrics > recordSlowRender > records a slow render event when initialized 2430ms
โ Telemetry Metrics > initializeMetrics > should apply common attributes including email 1858ms
โ Telemetry Metrics > recordChatCompressionMetrics > does not record metrics if not initialized 1350ms
โ Telemetry Metrics > recordChatCompressionMetrics > records token compression with the correct attributes 1257ms
โ Telemetry Metrics > recordTokenUsageMetrics > should not record metrics if not initialized 1304ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'input' type with 100 tokens for model 'gemini-pro' 1313ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'output' type with 50 tokens for model 'gemini-pro' 1220ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'thought' type with 25 tokens for model 'gemini-pro' 1232ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'cache' type with 75 tokens for model 'gemini-pro' 1188ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'tool' type with 125 tokens for model 'gemini-pro' 1336ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'input' type with 200 tokens for model 'gemini-different-model' 1280ms
โ Telemetry Metrics > recordLinesChanged metric > should not record lines added/removed if not initialized 1241ms
โ Telemetry Metrics > recordLinesChanged metric > should record lines added with function_name after initialization 1360ms
โ Telemetry Metrics > recordLinesChanged metric > should record lines removed with function_name after initialization 1311ms
โ Telemetry Metrics > recordFileOperationMetric > 'should not record metrics if not initโฆ' 1258ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file creation with all โฆ' 1347ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file read with minimal โฆ' 1300ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file update with some aโฆ' 1318ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file update with no optโฆ' 1390ms
โ Telemetry Metrics > recordModelRoutingMetrics > should not record metrics if not initialized 1288ms
โ Telemetry Metrics > recordModelRoutingMetrics > should record latency for a successful routing decision 1211ms
โ Telemetry Metrics > recordModelRoutingMetrics > should record latency and failure for a failed routing decision 1224ms
โ Telemetry Metrics > recordAgentRunMetrics > should not record metrics if not initialized 1215ms
โ Telemetry Metrics > recordAgentRunMetrics > should record agent run metrics 1470ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should not record metrics when not initialized 1334ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record input token usage with correct attributes 1347ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record output token usage with correct attributes 1202ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record token usage with optional attributes 1245ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should not record metrics when not initialized 1225ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record successful operation duration with correct attributes 1117ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record failed operation duration with error type 1183ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record operation duration with server details 1170ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should handle minimal required attributes 1138ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should not record metrics when performance monitoring is disabled 1181ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should record startup performance with phase and details 1178ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should record startup performance without details 1108ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should handle floating-point duration values from performance.now() 1252ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_used' 1170ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_total' 1164ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'external' 1155ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'rss' 1117ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_used' 1183ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordCpuUsage > should record CPU usage percentage 1142ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordCpuUsage > should record CPU usage without component 1146ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolQueueDepth > should record tool queue depth 1213ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolQueueDepth > should record zero queue depth 1254ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolExecutionBreakdown > should record tool execution breakdown for all phases 1190ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolExecutionBreakdown > should record execution breakdown for different phases 1223ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordTokenEfficiency > should record token efficiency metrics 1294ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordTokenEfficiency > should record token efficiency without context 1300ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordApiRequestBreakdown > should record API request breakdown for all phases 1173ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordApiRequestBreakdown > should record API request breakdown for different phases 1271ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceScore > should record performance score with category and baseline 1207ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceScore > should record performance score without baseline 1209ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should record performance regression with baseline comparison 1573ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should handle zero baseline value gracefully 1272ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should record different severity levels 1204ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should record baseline comparison with percentage change 1387ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should handle negative percentage change (improvement) 1258ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should skip recording when baseline is zero 1656ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should record hook call metrics with counter and histogram 1160ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should always sanitize hook names regardless of content 1213ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should track both success and failure 1299ms
โฏโฏโฏโฏโฏโฏ Failed Suites 3 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/utils/filesearch/crawler.test.ts [ src/utils/filesearch/crawler.test.ts ]
FAIL src/utils/filesearch/fileSearch.test.ts [ src/utils/filesearch/fileSearch.test.ts ]
FAIL src/utils/filesearch/ignore.test.ts [ src/utils/filesearch/ignore.test.ts ]
Error: The @lydell/node-pty package currently does not support your platform: linux-riscv64
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:12:19
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
Caused by: Error: Cannot find module '@lydell/node-pty-linux-riscv64/pty.node'
Require stack:
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:7:16
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ
Serialized Error: { code: 'MODULE_NOT_FOUND', requireStack: [ '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js' ] }
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/4]โฏ
โฏโฏโฏโฏโฏโฏโฏ Failed Tests 1 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/policy/config.test.ts > createPolicyEngineConfig > should support argsPattern in policy rules
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/policy/config.test.ts:555:3
553| });
554|
555| it('should support argsPattern in policy rules', async () => {
| ^
556| const actualFs =
557| await vi.importActual(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/4]โฏ
Test Files 4 failed | 221 passed (225)
Tests 1 failed | 4072 passed | 23 skipped (4096)
Start at 13:47:05
Duration 204.10s (transform 594.29s, setup 98.67s, collect 3820.37s, tests 317.15s, environment 464ms, prepare 335.48s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/core/junit.xml
npm error Lifecycle script `test` failed with error:
npm error code 1
npm error path /build/gemini-cli/src/gemini-cli/packages/core
npm error workspace @google/gemini-cli-core@0.26.0
npm error location /build/gemini-cli/src/gemini-cli/packages/core
npm error command failed
npm error command sh -c vitest run
> gemini-cli-vscode-ide-companion@0.26.0 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/vscode-ide-companion
โ src/open-files-manager.test.ts (17 tests) 227ms
(node:17589) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:17596) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
โ src/extension.test.ts (11 tests) 347ms
โ src/ide-server.test.ts (13 tests | 1 skipped) 887ms
โ IDEServer > auth token > should reject request without auth token 316ms
Test Files 3 passed (3)
Tests 40 passed | 1 skipped (41)
Start at 13:50:39
Duration 21.28s (transform 9.48s, setup 0ms, collect 37.14s, tests 1.46s, environment 6ms, prepare 2.39s)
[1m[31m==> ERROR:[m[1m A failure occurred in check().[m
[1m Aborting...[m
[23;2t[!p]104[?7h[1G[0J]3008;end=42d1fee517964c8189e288e8baccef2b\[1m[31m==> ERROR:[m[1m Build failed, check /var/lib/archbuild/extra-riscv64/felix-7/build[m
[34h[?25h[34h[?25h[34h[?25hreceiving incremental file list
gemini-cli-1:0.26.0-1-riscv64-build.log
gemini-cli-1:0.26.0-1-riscv64-check.log
gemini-cli-1:0.26.0-1-riscv64-prepare.log
sent 81 bytes received 126,429 bytes 50,604.00 bytes/sec
total size is 1,774,145 speedup is 14.02