==> Building on regice ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 625 100% 0.00kB/s 0:00:00 625 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,295 100% 1.24MB/s 0:00:00 1,295 100% 1.24MB/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.27.3-1.log 739 100% 721.68kB/s 0:00:00 739 100% 721.68kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ sent 1,896 bytes received 180 bytes 1,384.00 bytes/sec total size is 3,199 speedup is 1.54 ==> Patching arch to riscv64... ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building gemini-cli  -> repo: extra  -> arch: riscv64  -> worker: felix-1 ==> Building gemini-cli for [extra] (riscv64) ]3008;start=2e3724e065f14a9090c679f9842cad01;user=root;hostname=regice.felixc.at;machineid=01ca1404c26b4b3a80152fb4f25f4ca7;bootid=aa6ae1c133be473eb631a0e970bf46c2;pid=1783710;comm=systemd-nspawn;container=arch-nspawn-1783710;type=container\]11;?\]2;๐Ÿ”ต Container arch-nspawn-1783710 on regice.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Package (3) Old Version New Version Net Change Download Size core/gc 8.2.10-2 8.2.12-1 0.00 MiB 0.23 MiB core/hwdata 0.403-1 0.404-1 0.04 MiB 1.67 MiB core/iana-etc 20251215-1 20260203-1 0.00 MiB 0.39 MiB Total Download Size: 2.29 MiB Total Installed Size: 14.52 MiB Net Upgrade Size: 0.04 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... hwdata-0.404-1-any downloading... iana-etc-20260203-1-any downloading... gc-8.2.12-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... upgrading iana-etc... upgrading gc... upgrading hwdata... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h[!p]104[?7h]3008;end=2e3724e065f14a9090c679f9842cad01\==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-1]...done ==> Making package: gemini-cli 1:0.27.3-1 (Sun Feb 8 16:25:48 2026) ==> Retrieving sources...  -> Updating gemini-cli git repo... From https://github.com/google-gemini/gemini-cli - [deleted] (none) -> abhi/enforce-messagebus-clean - [deleted] (none) -> abhi/hard-migration-phase-3-clean - [deleted] (none) -> abhi/remove-shell-legacy-policy - [deleted] (none) -> abhi/soft-migration-phase-2-clean - [deleted] (none) -> abhipatel12/hooks-security-docs - [deleted] (none) -> adh/fix/pr-15006-feedback - [deleted] (none) -> adibakm/core-ds-rewind - [deleted] (none) -> adibakm/migrate-appevents-to-coreevents - [deleted] (none) -> adibakm/rewind-command - [deleted] (none) -> adibakm/rewind-confirmation-dialog - [deleted] (none) -> adibakm/rewind-fileops - [deleted] (none) -> adibakm/rewind-hook - [deleted] (none) -> adibakm/rewind-viewer - [deleted] (none) -> adibakm/unblock-command-usage-from-mcp-startup - [deleted] (none) -> afw/remote-agents2 - [deleted] (none) -> brandonin/main - [deleted] (none) -> deflake_tests - [deleted] (none) -> dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.24.0 - [deleted] (none) -> devr0306/apply-setting-defaults - [deleted] (none) -> dir-add-files - [deleted] (none) -> docs/telemetry-updates - [deleted] (none) -> galzahavi/add/background-commands - [deleted] (none) -> galzahavi/fix/shell-command-parsing - [deleted] (none) -> gundermanc/fix-linter-rule - [deleted] (none) -> gundermanc/session-start-hook - [deleted] (none) -> gundermanc/tolerate-oauth-failures - [deleted] (none) -> hooks - [deleted] (none) -> input_background - [deleted] (none) -> jl/fix-retry - [deleted] (none) -> kevin-ramdass/exp - [deleted] (none) -> ntm/skills.3 - [deleted] (none) -> ntm/skills.4 - [deleted] (none) -> ntm/skills.5 - [deleted] (none) -> release/v0.12.0-preview.6-pr-12299 - [deleted] (none) -> release/v0.19.0-pr-14301 - [deleted] (none) -> release/v0.19.0-preview.0-pr-14099 - [deleted] (none) -> release/v0.19.0-preview.0-pr-14301 - [deleted] (none) -> release/v0.19.1-pr-14545 - [deleted] (none) -> release/v0.19.3-pr-14092 - [deleted] (none) -> release/v0.20.0-pr-14843 - [deleted] (none) -> release/v0.20.0-preview.0-pr-14545 - [deleted] (none) -> release/v0.20.0-preview.2-pr-14742 - [deleted] (none) -> release/v0.20.1-pr-15007 - [deleted] (none) -> release/v0.21.0 - [deleted] (none) -> release/v0.21.0-preview.0-pr-14843 - [deleted] (none) -> release/v0.21.0-preview.3-pr-15000 - [deleted] (none) -> release/v0.21.0-preview.5-pr-15131 - [deleted] (none) -> release/v0.22.0-preview.0 - [deleted] (none) -> settings_md - [deleted] (none) -> st/shell - [deleted] (none) -> st/smarter-edit - [deleted] (none) -> tab - [deleted] (none) -> tomm_paste - [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/10560/merge - [deleted] (none) -> refs/pull/10561/merge - [deleted] (none) -> refs/pull/10566/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/11007/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/11999/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/12078/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/12187/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/12384/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/13165/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/13381/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/13526/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/14384/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/14684/merge - [deleted] (none) -> refs/pull/14685/merge - [deleted] (none) -> refs/pull/14699/merge - [deleted] (none) -> refs/pull/14701/merge - [deleted] (none) -> refs/pull/14703/merge - [deleted] (none) -> refs/pull/14727/merge - [deleted] (none) -> refs/pull/14738/merge - [deleted] (none) -> refs/pull/14748/merge - [deleted] (none) -> refs/pull/14774/merge - [deleted] (none) -> refs/pull/14776/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/14849/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/14900/merge - [deleted] (none) -> refs/pull/14901/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/15020/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/15060/merge - [deleted] (none) -> refs/pull/15062/merge - [deleted] (none) -> refs/pull/15067/merge - [deleted] (none) -> refs/pull/15088/merge - [deleted] (none) -> refs/pull/15111/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/15191/merge - [deleted] (none) -> refs/pull/15229/merge - [deleted] (none) -> refs/pull/15234/merge - [deleted] (none) -> refs/pull/15253/merge - [deleted] (none) -> refs/pull/15254/merge - [deleted] (none) -> refs/pull/15255/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/15336/merge - [deleted] (none) -> refs/pull/15354/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/15408/merge - [deleted] (none) -> refs/pull/15414/merge - [deleted] (none) -> refs/pull/15415/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/15461/merge - [deleted] (none) -> refs/pull/15463/merge - [deleted] (none) -> refs/pull/15469/merge - [deleted] (none) -> refs/pull/15482/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/15583/merge - [deleted] (none) -> refs/pull/15596/merge - [deleted] (none) -> refs/pull/15611/merge - [deleted] (none) -> refs/pull/15620/merge - [deleted] (none) -> refs/pull/15621/merge - [deleted] (none) -> refs/pull/15636/merge - [deleted] (none) -> refs/pull/15652/merge - [deleted] (none) -> refs/pull/15656/merge - [deleted] (none) -> refs/pull/15657/merge - [deleted] (none) -> refs/pull/15659/merge - [deleted] (none) -> refs/pull/15662/merge - [deleted] (none) -> refs/pull/15664/merge - [deleted] (none) -> refs/pull/15672/merge - [deleted] (none) -> refs/pull/15674/merge - [deleted] (none) -> refs/pull/15683/merge - [deleted] (none) -> refs/pull/15696/merge - [deleted] (none) -> refs/pull/15706/merge - [deleted] (none) -> refs/pull/15710/merge - [deleted] (none) -> refs/pull/15714/merge - [deleted] (none) -> refs/pull/15715/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/15724/merge - [deleted] (none) -> refs/pull/15725/merge - [deleted] (none) -> refs/pull/15728/merge - [deleted] (none) -> refs/pull/15736/merge - [deleted] (none) -> refs/pull/15737/merge - [deleted] (none) -> refs/pull/15739/merge - [deleted] (none) -> refs/pull/15740/merge - [deleted] (none) -> refs/pull/15741/merge - [deleted] (none) -> refs/pull/15746/merge - [deleted] (none) -> refs/pull/15748/merge - [deleted] (none) -> refs/pull/15752/merge - [deleted] (none) -> refs/pull/15756/merge - [deleted] (none) -> refs/pull/15757/merge - [deleted] (none) -> refs/pull/15766/merge - [deleted] (none) -> refs/pull/15767/merge - [deleted] (none) -> refs/pull/15770/merge - [deleted] (none) -> refs/pull/15771/merge - [deleted] (none) -> refs/pull/15774/merge - [deleted] (none) -> refs/pull/15775/merge - [deleted] (none) -> refs/pull/15776/merge - [deleted] (none) -> refs/pull/15777/merge - [deleted] (none) -> refs/pull/15780/merge - [deleted] (none) -> refs/pull/15781/merge - [deleted] (none) -> refs/pull/4426/merge - [deleted] (none) -> refs/pull/4432/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/8242/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/8495/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/9100/merge - [deleted] (none) -> refs/pull/9104/merge - [deleted] (none) -> refs/pull/9131/merge - [deleted] (none) -> refs/pull/9172/merge - [deleted] (none) -> refs/pull/9191/merge - [deleted] (none) -> refs/pull/9224/merge - [deleted] (none) -> refs/pull/9225/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/9379/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/9391/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: 58424, done. remote: Counting objects: 0% (1/23542) remote: Counting objects: 1% (236/23542) remote: Counting objects: 2% (471/23542) remote: Counting objects: 3% (707/23542) remote: Counting objects: 4% (942/23542) remote: Counting objects: 5% (1178/23542) remote: Counting objects: 6% (1413/23542) remote: Counting objects: 7% (1648/23542) remote: Counting objects: 8% (1884/23542) remote: Counting objects: 9% (2119/23542) remote: Counting objects: 10% (2355/23542) remote: Counting objects: 11% (2590/23542) remote: Counting objects: 12% (2826/23542) remote: Counting objects: 13% (3061/23542) remote: Counting objects: 14% (3296/23542) remote: Counting objects: 15% (3532/23542) remote: Counting objects: 16% (3767/23542) remote: Counting objects: 17% (4003/23542) remote: Counting objects: 18% (4238/23542) remote: Counting objects: 19% (4473/23542) remote: Counting objects: 20% (4709/23542) remote: Counting objects: 21% (4944/23542) remote: Counting objects: 22% (5180/23542) remote: Counting objects: 23% (5415/23542) remote: Counting objects: 24% (5651/23542) remote: Counting objects: 25% (5886/23542) remote: Counting objects: 26% (6121/23542) remote: Counting objects: 27% (6357/23542) remote: Counting objects: 28% (6592/23542) remote: Counting objects: 29% (6828/23542) remote: Counting objects: 30% (7063/23542) remote: Counting objects: 31% (7299/23542) remote: Counting objects: 32% (7534/23542) remote: Counting objects: 33% (7769/23542) remote: Counting objects: 34% (8005/23542) remote: Counting objects: 35% (8240/23542) remote: Counting objects: 36% (8476/23542) remote: Counting objects: 37% (8711/23542) remote: Counting objects: 38% (8946/23542) remote: Counting objects: 39% (9182/23542) remote: Counting objects: 40% (9417/23542) remote: Counting objects: 41% (9653/23542) remote: Counting objects: 42% (9888/23542) remote: Counting objects: 43% (10124/23542) remote: Counting objects: 44% (10359/23542) remote: Counting objects: 45% (10594/23542) remote: Counting objects: 46% (10830/23542) remote: Counting objects: 47% (11065/23542) remote: Counting objects: 48% (11301/23542) remote: Counting objects: 49% (11536/23542) remote: Counting objects: 50% (11771/23542) remote: Counting objects: 51% (12007/23542) remote: Counting objects: 52% (12242/23542) remote: Counting objects: 53% (12478/23542) remote: Counting objects: 54% (12713/23542) remote: Counting objects: 55% (12949/23542) remote: Counting objects: 56% (13184/23542) remote: Counting objects: 57% (13419/23542) remote: Counting objects: 58% (13655/23542) remote: Counting objects: 59% (13890/23542) remote: Counting objects: 60% (14126/23542) remote: Counting objects: 61% (14361/23542) remote: Counting objects: 62% (14597/23542) remote: Counting objects: 63% (14832/23542) remote: Counting objects: 64% (15067/23542) remote: Counting objects: 65% (15303/23542) remote: Counting objects: 66% (15538/23542) remote: Counting objects: 67% (15774/23542) remote: Counting objects: 68% (16009/23542) remote: Counting objects: 69% (16244/23542) remote: Counting objects: 70% (16480/23542) remote: Counting objects: 71% (16715/23542) remote: Counting objects: 72% (16951/23542) remote: Counting objects: 73% (17186/23542) remote: Counting objects: 74% (17422/23542) remote: Counting objects: 75% (17657/23542) remote: Counting objects: 76% (17892/23542) remote: Counting objects: 77% (18128/23542) remote: Counting objects: 78% (18363/23542) remote: Counting objects: 79% (18599/23542) remote: Counting objects: 80% (18834/23542) remote: Counting objects: 81% (19070/23542) remote: Counting objects: 82% (19305/23542) remote: Counting objects: 83% (19540/23542) remote: Counting objects: 84% (19776/23542) remote: Counting objects: 85% (20011/23542) remote: Counting objects: 86% (20247/23542) remote: Counting objects: 87% (20482/23542) remote: Counting objects: 88% (20717/23542) remote: Counting objects: 89% (20953/23542) remote: Counting objects: 90% (21188/23542) remote: Counting objects: 91% (21424/23542) remote: Counting objects: 92% (21659/23542) remote: Counting objects: 93% (21895/23542) remote: Counting objects: 94% (22130/23542) remote: Counting objects: 95% (22365/23542) remote: Counting objects: 96% (22601/23542) remote: Counting objects: 97% (22836/23542) remote: Counting objects: 98% (23072/23542) remote: Counting objects: 99% (23307/23542) remote: Counting objects: 100% (23542/23542) remote: Counting objects: 100% (23542/23542), done. remote: Compressing objects: 0% (1/181) remote: Compressing objects: 1% (2/181) remote: Compressing objects: 2% (4/181) remote: Compressing objects: 3% (6/181) remote: Compressing objects: 4% (8/181) remote: Compressing objects: 5% (10/181) remote: Compressing objects: 6% (11/181) remote: Compressing objects: 7% (13/181) remote: Compressing objects: 8% (15/181) remote: Compressing objects: 9% (17/181) remote: Compressing objects: 10% (19/181) remote: Compressing objects: 11% (20/181) remote: Compressing objects: 12% (22/181) remote: Compressing objects: 13% (24/181) remote: Compressing objects: 14% (26/181) remote: Compressing objects: 15% (28/181) remote: Compressing objects: 16% (29/181) remote: Compressing objects: 17% (31/181) remote: Compressing objects: 18% (33/181) remote: Compressing objects: 19% (35/181) remote: Compressing objects: 20% (37/181) remote: Compressing objects: 21% (39/181) remote: Compressing objects: 22% (40/181) remote: Compressing objects: 23% (42/181) remote: Compressing objects: 24% (44/181) remote: Compressing objects: 25% (46/181) remote: Compressing objects: 26% (48/181) remote: Compressing objects: 27% (49/181) remote: Compressing objects: 28% (51/181) remote: Compressing objects: 29% (53/181) remote: Compressing objects: 30% (55/181) remote: Compressing objects: 31% (57/181) remote: Compressing objects: 32% (58/181) remote: Compressing objects: 33% (60/181) remote: Compressing objects: 34% (62/181) remote: Compressing objects: 35% (64/181) remote: Compressing objects: 36% (66/181) remote: Compressing objects: 37% (67/181) remote: Compressing objects: 38% (69/181) remote: Compressing objects: 39% (71/181) remote: Compressing objects: 40% (73/181) remote: Compressing objects: 41% (75/181) remote: Compressing objects: 42% (77/181) remote: Compressing objects: 43% (78/181) remote: Compressing objects: 44% (80/181) remote: Compressing objects: 45% (82/181) remote: Compressing objects: 46% (84/181) remote: Compressing objects: 47% (86/181) remote: Compressing objects: 48% (87/181) remote: Compressing objects: 49% (89/181) remote: Compressing objects: 50% (91/181) remote: Compressing objects: 51% (93/181) remote: Compressing objects: 52% (95/181) remote: Compressing objects: 53% (96/181) remote: Compressing objects: 54% (98/181) remote: Compressing objects: 55% (100/181) remote: Compressing objects: 56% (102/181) remote: Compressing objects: 57% (104/181) remote: Compressing objects: 58% (105/181) remote: Compressing objects: 59% (107/181) remote: Compressing objects: 60% (109/181) remote: Compressing objects: 61% (111/181) remote: Compressing objects: 62% (113/181) remote: Compressing objects: 63% (115/181) remote: Compressing objects: 64% (116/181) remote: Compressing objects: 65% (118/181) remote: Compressing objects: 66% (120/181) remote: Compressing objects: 67% (122/181) remote: Compressing objects: 68% (124/181) remote: Compressing objects: 69% (125/181) remote: Compressing objects: 70% (127/181) remote: Compressing objects: 71% (129/181) remote: Compressing objects: 72% (131/181) remote: Compressing objects: 73% (133/181) remote: Compressing objects: 74% (134/181) remote: Compressing objects: 75% (136/181) remote: Compressing objects: 76% (138/181) remote: Compressing objects: 77% (140/181) remote: Compressing objects: 78% (142/181) remote: Compressing objects: 79% (143/181) remote: Compressing objects: 80% (145/181) remote: Compressing objects: 81% (147/181) remote: Compressing objects: 82% (149/181) remote: Compressing objects: 83% (151/181) remote: Compressing objects: 84% (153/181) remote: Compressing objects: 85% (154/181) remote: Compressing objects: 86% (156/181) remote: Compressing objects: 87% (158/181) remote: Compressing objects: 88% (160/181) remote: Compressing objects: 89% (162/181) remote: Compressing objects: 90% (163/181) remote: Compressing objects: 91% (165/181) remote: Compressing objects: 92% (167/181) remote: Compressing objects: 93% (169/181) remote: Compressing objects: 94% (171/181) remote: Compressing objects: 95% (172/181) remote: Compressing objects: 96% (174/181) remote: Compressing objects: 97% (176/181) remote: Compressing objects: 98% (178/181) remote: Compressing objects: 99% (180/181) remote: Compressing objects: 100% (181/181) remote: Compressing objects: 100% (181/181), done. Receiving objects: 0% (1/58424) Receiving objects: 1% (585/58424) Receiving objects: 2% (1169/58424) Receiving objects: 3% (1753/58424) Receiving objects: 4% (2337/58424) Receiving objects: 5% (2922/58424) Receiving objects: 6% (3506/58424) Receiving objects: 7% (4090/58424) Receiving objects: 8% (4674/58424) Receiving objects: 9% (5259/58424) Receiving objects: 10% (5843/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 11% (6427/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 12% (7011/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 13% (7596/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 14% (8180/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 15% (8764/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 16% (9348/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 17% (9933/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 18% (10517/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 19% (11101/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 20% (11685/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 21% (12270/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 22% (12854/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 23% (13438/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 24% (14022/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 25% (14606/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 26% (15191/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 26% (15765/58424), 2.38 MiB | 4.74 MiB/s Receiving objects: 27% (15775/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 28% (16359/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 29% (16943/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 30% (17528/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 31% (18112/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 32% (18696/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 33% (19280/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 34% (19865/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 35% (20449/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 36% (21033/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 37% (21617/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 38% (22202/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 39% (22786/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 40% (23370/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 41% (23954/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 42% (24539/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 43% (25123/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 44% (25707/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 45% (26291/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 46% (26876/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 47% (27460/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 48% (28044/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 49% (28628/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 50% (29212/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 51% (29797/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 52% (30381/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 53% (30965/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 54% (31549/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 55% (32134/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 56% (32718/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 57% (33302/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 58% (33886/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 59% (34471/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 60% (35055/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 61% (35639/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 62% (36223/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 63% (36808/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 64% (37392/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 65% (37976/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 66% (38560/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 67% (39145/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 68% (39729/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 69% (40313/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 70% (40897/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 71% (41482/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 72% (42066/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 73% (42650/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 74% (43234/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 75% (43818/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 76% (44403/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 77% (44987/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 78% (45571/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 79% (46155/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 80% (46740/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 81% (47324/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 82% (47908/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 83% (48492/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 84% (49077/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 85% (49661/58424), 5.34 MiB | 4.43 MiB/s Receiving objects: 86% (50245/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 87% (50829/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 88% (51414/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 89% (51998/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 90% (52582/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 91% (53166/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 92% (53751/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 93% (54335/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 94% (54919/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 95% (55503/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 96% (56088/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 96% (56118/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 97% (56672/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 98% (57256/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 99% (57840/58424), 11.32 MiB | 6.64 MiB/s remote: Total 58424 (delta 23468), reused 23368 (delta 23361), pack-reused 34882 (from 1) Receiving objects: 100% (58424/58424), 11.32 MiB | 6.64 MiB/s Receiving objects: 100% (58424/58424), 16.37 MiB | 7.79 MiB/s, done. Resolving deltas: 0% (0/47682) Resolving deltas: 1% (477/47682) Resolving deltas: 2% (954/47682) Resolving deltas: 3% (1431/47682) Resolving deltas: 4% (1908/47682) Resolving deltas: 5% (2385/47682) Resolving deltas: 6% (2861/47682) Resolving deltas: 7% (3338/47682) Resolving deltas: 8% (3815/47682) Resolving deltas: 9% (4292/47682) Resolving deltas: 10% (4769/47682) Resolving deltas: 11% (5246/47682) Resolving deltas: 12% (5722/47682) Resolving deltas: 13% (6199/47682) Resolving deltas: 14% (6676/47682) Resolving deltas: 15% (7154/47682) Resolving deltas: 16% (7630/47682) Resolving deltas: 17% (8106/47682) Resolving deltas: 18% (8583/47682) Resolving deltas: 19% (9060/47682) Resolving deltas: 20% (9537/47682) Resolving deltas: 21% (10014/47682) Resolving deltas: 22% (10491/47682) Resolving deltas: 23% (10967/47682) Resolving deltas: 24% (11444/47682) Resolving deltas: 25% (11921/47682) Resolving deltas: 26% (12398/47682) Resolving deltas: 27% (12875/47682) Resolving deltas: 28% (13351/47682) Resolving deltas: 29% (13828/47682) Resolving deltas: 30% (14305/47682) Resolving deltas: 31% (14782/47682) Resolving deltas: 32% (15259/47682) Resolving deltas: 33% (15736/47682) Resolving deltas: 34% (16212/47682) Resolving deltas: 35% (16689/47682) Resolving deltas: 36% (17166/47682) Resolving deltas: 37% (17643/47682) Resolving deltas: 38% (18120/47682) Resolving deltas: 39% (18596/47682) Resolving deltas: 40% (19073/47682) Resolving deltas: 41% (19550/47682) Resolving deltas: 42% (20027/47682) Resolving deltas: 43% (20504/47682) Resolving deltas: 44% (20981/47682) Resolving deltas: 45% (21457/47682) Resolving deltas: 46% (21934/47682) Resolving deltas: 47% (22411/47682) Resolving deltas: 48% (22888/47682) Resolving deltas: 49% (23365/47682) Resolving deltas: 50% (23841/47682) Resolving deltas: 51% (24318/47682) Resolving deltas: 52% (24795/47682) Resolving deltas: 53% (25272/47682) Resolving deltas: 54% (25749/47682) Resolving deltas: 55% (26226/47682) Resolving deltas: 56% (26702/47682) Resolving deltas: 57% (27179/47682) Resolving deltas: 58% (27656/47682) Resolving deltas: 59% (28133/47682) Resolving deltas: 60% (28610/47682) Resolving deltas: 61% (29087/47682) Resolving deltas: 62% (29563/47682) Resolving deltas: 63% (30040/47682) Resolving deltas: 64% (30517/47682) Resolving deltas: 65% (30994/47682) Resolving deltas: 66% (31471/47682) Resolving deltas: 67% (31947/47682) Resolving deltas: 68% (32424/47682) Resolving deltas: 69% (32901/47682) Resolving deltas: 70% (33378/47682) Resolving deltas: 71% (33855/47682) Resolving deltas: 72% (34332/47682) Resolving deltas: 73% (34808/47682) Resolving deltas: 74% (35285/47682) Resolving deltas: 75% (35762/47682) Resolving deltas: 75% (36074/47682) Resolving deltas: 76% (36239/47682) Resolving deltas: 77% (36716/47682) Resolving deltas: 78% (37192/47682) Resolving deltas: 78% (37558/47682) Resolving deltas: 79% (37669/47682) Resolving deltas: 80% (38146/47682) Resolving deltas: 81% (38623/47682) Resolving deltas: 82% (39100/47682) Resolving deltas: 82% (39274/47682) Resolving deltas: 83% (39577/47682) Resolving deltas: 84% (40053/47682) Resolving deltas: 85% (40530/47682) Resolving deltas: 86% (41007/47682) Resolving deltas: 87% (41484/47682) Resolving deltas: 88% (41961/47682) Resolving deltas: 88% (42013/47682) Resolving deltas: 89% (42437/47682) Resolving deltas: 90% (42914/47682) Resolving deltas: 91% (43391/47682) Resolving deltas: 91% (43450/47682) Resolving deltas: 92% (43868/47682) Resolving deltas: 93% (44345/47682) Resolving deltas: 93% (44513/47682) Resolving deltas: 94% (44822/47682) Resolving deltas: 95% (45298/47682) Resolving deltas: 95% (45475/47682) Resolving deltas: 96% (45775/47682) Resolving deltas: 97% (46252/47682) Resolving deltas: 97% (46703/47682) Resolving deltas: 98% (46729/47682) Resolving deltas: 99% (47206/47682) Resolving deltas: 99% (47554/47682) Resolving deltas: 100% (47682/47682) Resolving deltas: 100% (47682/47682), completed with 1828 local objects. * [new branch] 400-errors -> 400-errors * [new branch] AskUserQuestionTool -> AskUserQuestionTool * [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.2 -> abhi/event-tools-cleanup.2 * [new branch] abhi/event-tools-cleanup.3 -> abhi/event-tools-cleanup.3 * [new branch] abhi/event-tools-cleanup.4 -> abhi/event-tools-cleanup.4 * [new branch] abhi/event-tools-cleanup.5 -> abhi/event-tools-cleanup.5 * [new branch] abhi/full-mcp-tool-policy -> abhi/full-mcp-tool-policy * [new branch] abhi/make-goog-search-ask -> abhi/make-goog-search-ask * [new branch] abhi/masking-default-enabled -> abhi/masking-default-enabled * [new branch] abhi/scheduler-state-manager -> abhi/scheduler-state-manager * [new branch] abhi/transient-mode-hint -> abhi/transient-mode-hint * [new branch] abhi/windows-integration-fix -> abhi/windows-integration-fix * [new branch] abhijit-2592/delete-tool-args -> abhijit-2592/delete-tool-args * [new branch] abhijit-2592/deprecate-tool-args -> abhijit-2592/deprecate-tool-args * [new branch] adaptiveThinkingBudget -> adaptiveThinkingBudget * [new branch] add-multiple-patch-workflow -> add-multiple-patch-workflow * [new branch] adh/feature/add-policy-flag -> adh/feature/add-policy-flag * [new branch] adh/fix/policy-service -> adh/fix/policy-service * [new branch] adibakm/blah -> adibakm/blah 179927ed21..5b045f9662 adibakm/debug-console-only-dev -> adibakm/debug-console-only-dev * [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-schedulers -> adibakm/handle-inconsistency-schedulers * [new branch] adibakm/plan-mode-untrusted-folder -> adibakm/plan-mode-untrusted-folder + df4b42ebb9...9d1a887236 adibakm/prototype-gca-event -> adibakm/prototype-gca-event (forced update) * [new branch] adibakm/restore-esc-esc -> adibakm/restore-esc-esc * [new branch] admin-command-settings -> admin-command-settings * [new branch] admin-docs -> admin-docs * [new branch] admin-settings-command -> admin-settings-command * [new branch] afweidman/a2a-auth-pr2-apikey-http -> afweidman/a2a-auth-pr2-apikey-http * [new branch] afweidman/a2a-auth-pr2-value-resolver -> afweidman/a2a-auth-pr2-value-resolver * [new branch] ask-user/yolo -> ask-user/yolo * [new branch] autoconfig_memory -> autoconfig_memory * [new branch] cascade_issue -> cascade_issue * [new branch] cb/authenticateextensions -> cb/authenticateextensions * [new branch] cb/brokenlink -> cb/brokenlink * [new branch] cb/circulardepv24 -> cb/circulardepv24 * [new branch] cb/conflictnotif -> cb/conflictnotif * [new branch] cb/docschange -> cb/docschange * [new branch] cb/fixinstructions -> cb/fixinstructions * [new branch] cb/fixsecuritybug -> cb/fixsecuritybug * [new branch] cb/progressiveextension -> cb/progressiveextension * [new branch] cb/testdocs -> cb/testdocs * [new branch] cb/testdocs2 -> cb/testdocs2 * [new branch] cb/userscope -> cb/userscope * [new branch] changelog-v0.28.0-preview.1 -> changelog-v0.28.0-preview.1 * [new branch] chore/migrate-maintainer-label -> chore/migrate-maintainer-label + e446939fef...dae23574e9 computer_use_subagent_cdt -> computer_use_subagent_cdt (forced update) * [new branch] ctrl-o-placeholder -> ctrl-o-placeholder * [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/isaacs/brace-expansion-5.0.1 -> dependabot/npm_and_yarn/isaacs/brace-expansion-5.0.1 * [new branch] dependabot/npm_and_yarn/marked-17.0.1 -> dependabot/npm_and_yarn/marked-17.0.1 * [new branch] dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.25.2 -> dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.25.2 * [new branch] dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.26.0 -> dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.26.0 * [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] disable-ask-user-patch -> disable-ask-user-patch * [new branch] docs-troubleshooting-link -> docs-troubleshooting-link * [new branch] docs-update-model-refs -> docs-update-model-refs * [new branch] docs-use-gemini-cli -> docs-use-gemini-cli * [new branch] docs/agent-skills-version-note -> docs/agent-skills-version-note * [new branch] document-commands -> document-commands * [new branch] dummy-pr-punycode-fix -> dummy-pr-punycode-fix * [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/askuser-context-field -> feat/askuser-context-field * [new branch] feat/askuser-rich-content -> feat/askuser-rich-content * [new branch] feat/card-component -> feat/card-component fa5ab7f6b9..4e5d8a5a38 feat/ineligible-tier-error -> feat/ineligible-tier-error * [new branch] feat/npx-smoke-test -> feat/npx-smoke-test * [new branch] feat/shell-completion -> feat/shell-completion * [new branch] feature-shortcut-setting -> feature-shortcut-setting * [new branch] feature/flicker-reduction-rework -> feature/flicker-reduction-rework * [new branch] feature/model-dependent-tool-definitions -> feature/model-dependent-tool-definitions * [new branch] feature/quota-visibility-16795 -> feature/quota-visibility-16795 * [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/modify-with-external-editor-infinite-loop-7669 -> fix/modify-with-external-editor-infinite-loop-7669 * [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/stray-m-character -> fix/stray-m-character * [new branch] fix/subagent-eval-prompt -> fix/subagent-eval-prompt * [new branch] fix/triage-prompt-tuning -> fix/triage-prompt-tuning * [new branch] galzahavi/fix/enforce-enterprise-settings -> galzahavi/fix/enforce-enterprise-settings * [new branch] galzahavi/fix/headless-foldertrust -> galzahavi/fix/headless-foldertrust * [new branch] galzahavi/fix/interactive-shell-commands -> galzahavi/fix/interactive-shell-commands * [new branch] galzahavi/fix/nightly-version -> galzahavi/fix/nightly-version * [new branch] galzahavi/fix/shell-outside-workpase-execution -> galzahavi/fix/shell-outside-workpase-execution * [new branch] galzahavi/ft/overwrite -> galzahavi/ft/overwrite f1bafb6d09..d3364341cb galzahavi/improve/vim-mode -> galzahavi/improve/vim-mode * [new branch] gcli_loop -> gcli_loop * [new branch] gemini/experimental/subagent-delegation-fix -> gemini/experimental/subagent-delegation-fix * [new branch] gundermanc/ask -> gundermanc/ask * [new branch] gundermanc/auto-reply -> gundermanc/auto-reply * [new branch] gundermanc/encoding -> gundermanc/encoding * [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/frugal-search -> gundermanc/frugal-search * [new branch] gundermanc/frugal-search-baseline -> gundermanc/frugal-search-baseline * [new branch] gundermanc/frugal-search-plus-plus -> gundermanc/frugal-search-plus-plus * [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/stop-duplicating-tests -> gundermanc/stop-duplicating-tests * [new branch] gundermanc/subagent-eval -> gundermanc/subagent-eval * [new branch] gundermanc/subagent-ux -> gundermanc/subagent-ux * [new branch] gundermanc/support-decision-ask -> gundermanc/support-decision-ask * [new branch] history_navigation -> history_navigation * [new branch] history_navigation_demo -> history_navigation_demo * [new branch] history_navigation_demo2 -> history_navigation_demo2 * [new branch] hotfix/v0.26.0/0.26.1/stable/cherry-pick-a362b7b/pr-17975 -> hotfix/v0.26.0/0.26.1/stable/cherry-pick-a362b7b/pr-17975 * [new branch] hotfix/v0.27.0-preview.6/0.27.0-preview.7/preview/cherry-pick-8cae90f/pr-18108 -> hotfix/v0.27.0-preview.6/0.27.0-preview.7/preview/cherry-pick-8cae90f/pr-18108 * [new branch] hotfix/v0.27.0-preview.8/0.27.0-preview.9/preview/cherry-pick-d63c34b/pr-18216 -> hotfix/v0.27.0-preview.8/0.27.0-preview.9/preview/cherry-pick-d63c34b/pr-18216 * [new branch] ide-process-rm -> ide-process-rm * [new branch] ink_version -> ink_version * [new branch] jl/auto-accept-redir -> jl/auto-accept-redir * [new branch] jl/early-validate -> jl/early-validate * [new branch] jl/h-mem -> jl/h-mem * [new branch] jl/subagent-route -> jl/subagent-route * [new branch] jl/workaround-missing-responses -> jl/workaround-missing-responses * [new branch] kevin-ramdass/timeout -> kevin-ramdass/timeout * [new branch] land_cursor -> land_cursor * [new branch] layout_crash -> layout_crash * [new branch] layout_crash_fix2 -> layout_crash_fix2 05049b5abf..4a48d7cf93 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-build-and-spacing -> ntm/fix-build-and-spacing * [new branch] ntm/fix-esc-cancel-ux -> ntm/fix-esc-cancel-ux * [new branch] ntm/fix-gemini-message-spacing -> ntm/fix-gemini-message-spacing * [new branch] ntm/fix-shell-unfocus-tab -> ntm/fix-shell-unfocus-tab * [new branch] ntm/fix-windows-tests -> ntm/fix-windows-tests * [new branch] ntm/fixsysbug -> ntm/fixsysbug * [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.18529 -> ntm/gh.18529 * [new branch] ntm/gh.18550 -> ntm/gh.18550 * [new branch] ntm/gh.interactive-shell-prompt -> ntm/gh.interactive-shell-prompt * [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/skill-creator -> ntm/skill-creator * [new branch] ntm/skills.12 -> ntm/skills.12 * [new branch] ntm/sys.prompt.2 -> ntm/sys.prompt.2 * [new branch] nyt -> nyt * [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] proposal/experimentation-framework -> proposal/experimentation-framework * [new branch] refactor/mcp-list-no-connect -> refactor/mcp-list-no-connect * [new branch] release/v0.23.0-pr-16252 -> release/v0.23.0-pr-16252 * [new branch] release/v0.23.0-preview.4-pr-16004 -> release/v0.23.0-preview.4-pr-16004 * [new branch] release/v0.23.0-preview.5-pr-15817 -> release/v0.23.0-preview.5-pr-15817 * [new branch] release/v0.23.0-preview.6 -> release/v0.23.0-preview.6 * [new branch] release/v0.23.1 -> release/v0.23.1 * [new branch] release/v0.24.0-nightly.20260103.30f5c4af4 -> release/v0.24.0-nightly.20260103.30f5c4af4 * [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.20260108.aca6bf6aa -> release/v0.25.0-nightly.20260108.aca6bf6aa * [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.20260109.ffb80c242 -> release/v0.25.0-nightly.20260109.ffb80c242 * [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-pr-17975 -> release/v0.26.0-pr-17975 * [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-pr-16041 -> release/v0.27.0-pr-16041 * [new branch] release/v0.27.0-pr-18161 -> release/v0.27.0-pr-18161 * [new branch] release/v0.27.0-preview.3-pr-17975 -> release/v0.27.0-preview.3-pr-17975 * [new branch] release/v0.27.0-preview.4-pr-17852 -> release/v0.27.0-preview.4-pr-17852 * [new branch] release/v0.27.0-preview.5-pr-18215 -> release/v0.27.0-preview.5-pr-18215 * [new branch] release/v0.27.0-preview.6-pr-18108 -> release/v0.27.0-preview.6-pr-18108 * [new branch] release/v0.27.0-preview.6-pr-18209 -> release/v0.27.0-preview.6-pr-18209 * [new branch] release/v0.27.0-preview.7-pr-18108 -> release/v0.27.0-preview.7-pr-18108 * [new branch] release/v0.27.0-preview.8-pr-18216 -> release/v0.27.0-preview.8-pr-18216 * [new branch] release/v0.27.1-pr-18395 -> release/v0.27.1-pr-18395 * [new branch] release/v0.27.2-pr-18376 -> release/v0.27.2-pr-18376 * [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] release/v0.28.0-nightly.20260201.b0f38104d -> release/v0.28.0-nightly.20260201.b0f38104d * [new branch] release/v0.28.0-nightly.20260202.707b3e85d -> release/v0.28.0-nightly.20260202.707b3e85d * [new branch] release/v0.28.0-preview.0-pr-17806 -> release/v0.28.0-preview.0-pr-17806 * [new branch] release/v0.28.0-preview.1-pr-18395 -> release/v0.28.0-preview.1-pr-18395 * [new branch] release/v0.28.0-preview.2-pr-18447 -> release/v0.28.0-preview.2-pr-18447 * [new branch] release/v0.28.0-preview.3-pr-18376 -> release/v0.28.0-preview.3-pr-18376 * [new branch] release/v0.28.0-preview.4-pr-18343 -> release/v0.28.0-preview.4-pr-18343 * [new branch] release/v0.29.0-nightly.20260205.a3af4a8ca -> release/v0.29.0-nightly.20260205.a3af4a8ca * [new branch] release/v0.29.0-nightly.20260206.4ffc349c1 -> release/v0.29.0-nightly.20260206.4ffc349c1 * [new branch] restrict-numerical-routing-to-gemini-3 -> restrict-numerical-routing-to-gemini-3 * [new branch] router-auto-fix -> router-auto-fix * [new branch] sehoon/a2a-subagents -> sehoon/a2a-subagents * [new branch] sehoon/cleanup -> sehoon/cleanup * [new branch] sehoon/gcli_chrome_extension -> sehoon/gcli_chrome_extension * [new branch] sehoon/geminimd -> sehoon/geminimd * [new branch] sehoon/resolve_cir_dependency -> sehoon/resolve_cir_dependency * [new branch] sehoon/retries -> sehoon/retries * [new branch] sehoon/setting_save_fail -> sehoon/setting_save_fail * [new branch] sehoon/settings -> sehoon/settings * [new branch] select_mode -> select_mode * [new branch] session-retention -> session-retention * [new branch] show_thinking -> show_thinking * [new branch] small_logo -> small_logo * [new branch] streaming-adv -> streaming-adv * [new branch] table-word-wrap -> table-word-wrap a044c25981..cb8edb2408 test -> test * [new branch] test-workflow-validation -> test-workflow-validation * [new branch] tomm_ask_at_path -> tomm_ask_at_path * [new branch] tomm_fix -> tomm_fix * [new branch] tomm_nnbsp -> tomm_nnbsp * [new branch] ui-subdue-colors -> ui-subdue-colors * [new branch] users/gsquared94/improve-context-summarization -> users/gsquared94/improve-context-summarization * [new branch] visual_borders -> visual_borders * [new branch] windows-paste -> windows-paste * [new branch] writer-extension -> writer-extension * [new branch] yunaseol/install-test -> yunaseol/install-test * [new branch] yunaseol/verify-release -> yunaseol/verify-release d5c3923875..4b50b52658 refs/pull/10220/head -> refs/pull/10220/head + da3e676975...c8c0b5b541 refs/pull/11247/head -> refs/pull/11247/head (forced update) + ad6fb60b66...a84d43ce70 refs/pull/11314/head -> refs/pull/11314/head (forced update) + f09795df62...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) + 0e0ee9198a...34a498ae7a refs/pull/11424/head -> refs/pull/11424/head (forced update) 6a9c9b93b8..34d09adc09 refs/pull/11444/head -> refs/pull/11444/head + c0795a6125...1230dbdcf8 refs/pull/12038/head -> refs/pull/12038/head (forced update) 377d0cf4ac..f6cb10ab25 refs/pull/12062/head -> refs/pull/12062/head + 5421489a61...5f655afe25 refs/pull/12078/head -> refs/pull/12078/head (forced update) d439fd9ed1..8af1232de1 refs/pull/12280/head -> refs/pull/12280/head fa5ab7f6b9..4e5d8a5a38 refs/pull/12749/head -> refs/pull/12749/head + db22907598...9c3fc82f99 refs/pull/12766/head -> refs/pull/12766/head (forced update) + c01679fcbd...ce6e618bd9 refs/pull/12766/merge -> refs/pull/12766/merge (forced update) bc0dbe2765..13da5f46bc refs/pull/12801/head -> refs/pull/12801/head 4ba80a273a..289509ddd8 refs/pull/12873/head -> refs/pull/12873/head + 2bba3d3c3c...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 + 5929d0b985...ddf3296525 refs/pull/13193/head -> refs/pull/13193/head (forced update) + 6891a3c817...bd859d8d86 refs/pull/13193/merge -> refs/pull/13193/merge (forced update) + 492997cfb6...030847a80a refs/pull/13381/head -> refs/pull/13381/head (forced update) + 034668e252...b48674e64d refs/pull/13403/head -> refs/pull/13403/head (forced update) + 92fbd09bf7...b8f6608d73 refs/pull/13407/head -> refs/pull/13407/head (forced update) b688b95ee7..5396d3dbc2 refs/pull/13507/head -> refs/pull/13507/head + bf1b0e39c1...fae39f9b61 refs/pull/13514/head -> refs/pull/13514/head (forced update) + 0df5c31fb0...e4c417fbf0 refs/pull/13539/head -> refs/pull/13539/head (forced update) 5ba4bc3dc2..9c00b7e3a9 refs/pull/13686/head -> refs/pull/13686/head b25bf29adb..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) + a1fe4e3f1a...326463211d refs/pull/14142/head -> refs/pull/14142/head (forced update) + 4052ec9c9d...643f5e97b5 refs/pull/14145/merge -> refs/pull/14145/merge (forced update) + 41dc850ce7...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) + b1a0d6f203...296279593b refs/pull/14408/head -> refs/pull/14408/head (forced update) b91ffede98..60d7a0638c refs/pull/14450/head -> refs/pull/14450/head 0e0cffb231..eb4c1e5ce8 refs/pull/14456/head -> refs/pull/14456/head + d3363883f5...4c0581ad9a refs/pull/14466/head -> refs/pull/14466/head (forced update) c6871e9786..372b6657d3 refs/pull/14479/head -> refs/pull/14479/head d800275ac6..1fa48bd90a refs/pull/14480/head -> refs/pull/14480/head + 7b33e01394...4b7ecaaa02 refs/pull/14496/head -> refs/pull/14496/head (forced update) + eab3ae4328...17c8d4f1cf refs/pull/14511/head -> refs/pull/14511/head (forced update) + 54c279bc5f...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 + 31d331e1d8...461c277bf2 refs/pull/14640/head -> refs/pull/14640/head (forced update) + 6c3e5d91af...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 + 1743a103be...17e00ac91e refs/pull/14699/head -> refs/pull/14699/head (forced update) d344cebc51..bb55c44d17 refs/pull/14701/head -> refs/pull/14701/head 24430fbc10..78af7b3e12 refs/pull/14727/head -> refs/pull/14727/head + 7bffd29bdc...e76b137650 refs/pull/14738/head -> refs/pull/14738/head (forced update) d6bab8fb8f..63b957225b refs/pull/14776/head -> refs/pull/14776/head + db19fe9cc8...a28a2f5dea refs/pull/14809/head -> refs/pull/14809/head (forced update) + 9bf8b6967a...63f70d5678 refs/pull/14849/head -> refs/pull/14849/head (forced update) + df4b42ebb9...9d1a887236 refs/pull/14852/head -> refs/pull/14852/head (forced update) + 80a84c09b6...83a634444a refs/pull/14854/head -> refs/pull/14854/head (forced update) + a0bd1c6523...eccddaf0dc refs/pull/14854/merge -> refs/pull/14854/merge (forced update) d85213d808..e534e12c2b refs/pull/14863/head -> refs/pull/14863/head + 7b4cbe41dc...c3d12661ca refs/pull/14915/head -> refs/pull/14915/head (forced update) + 5832f04000...8ca6d0aa5a refs/pull/14915/merge -> refs/pull/14915/merge (forced update) f1fe2e9895..301b7d6ae5 refs/pull/14923/head -> refs/pull/14923/head + b423ea6744...8d82ca9b83 refs/pull/14923/merge -> refs/pull/14923/merge (forced update) e6311e0917..f1c8149c17 refs/pull/14927/head -> refs/pull/14927/head + 792764de71...8b2376a316 refs/pull/14927/merge -> refs/pull/14927/merge (forced update) + a44e0f66db...f3cf2187cc refs/pull/14931/merge -> refs/pull/14931/merge (forced update) f0f095d5c6..97f60b8e71 refs/pull/14936/head -> refs/pull/14936/head + 89ced3daa9...82555c7a31 refs/pull/14950/merge -> refs/pull/14950/merge (forced update) f6d38341dd..a8acfe903f refs/pull/14953/head -> refs/pull/14953/head + 43aa301f15...f75503faf4 refs/pull/14955/merge -> refs/pull/14955/merge (forced update) 8610a9d044..3e1c1d5d09 refs/pull/14974/head -> refs/pull/14974/head + d5f10d75c2...1c3293c4a7 refs/pull/14994/head -> refs/pull/14994/head (forced update) 7d991a2b5a..235cc74721 refs/pull/14997/head -> refs/pull/14997/head 705a209b8b..6e03451d4f refs/pull/15020/head -> refs/pull/15020/head a6f0ad9a51..36fba41af4 refs/pull/15034/head -> refs/pull/15034/head 770b93599b..462865df47 refs/pull/15047/head -> refs/pull/15047/head 52813f9593..70b66191b0 refs/pull/15049/head -> refs/pull/15049/head 407d6879c6..86bad9ac08 refs/pull/15056/head -> refs/pull/15056/head + 0de7446669...981af277ca refs/pull/15060/head -> refs/pull/15060/head (forced update) 179927ed21..5b045f9662 refs/pull/15111/head -> refs/pull/15111/head 3df8b30bf9..8eca42c0b4 refs/pull/15142/head -> refs/pull/15142/head 7550e29049..a899a5d9d0 refs/pull/15175/head -> refs/pull/15175/head + 2dbef91df3...05049b5abf refs/pull/15191/head -> refs/pull/15191/head (forced update) + 72914b54b6...9da801d3e9 refs/pull/15229/head -> refs/pull/15229/head (forced update) 6a69f6f038..47f77ad5ae refs/pull/15253/head -> refs/pull/15253/head 8d8b03160f..d4c707225b refs/pull/15254/head -> refs/pull/15254/head + 432b34ae41...01e44b8c11 refs/pull/15255/head -> refs/pull/15255/head (forced update) a71f709fce..305e4b9b92 refs/pull/15312/head -> refs/pull/15312/head + f5bdea12d6...229ea4ade7 refs/pull/15336/head -> refs/pull/15336/head (forced update) 1202f8ea20..74f79259b0 refs/pull/15354/head -> refs/pull/15354/head + d22039ba23...80ff79cd3b refs/pull/15373/head -> refs/pull/15373/head (forced update) 189f8f2ab1..e5f8a1e690 refs/pull/15386/head -> refs/pull/15386/head c7ae5ecc28..2762be919b refs/pull/15395/head -> refs/pull/15395/head + 0dfd219ee9...90b3b40afe refs/pull/15395/merge -> refs/pull/15395/merge (forced update) + 68a8fd6753...7e6fcaff22 refs/pull/15408/head -> refs/pull/15408/head (forced update) 9f299528f1..fc605a2ed3 refs/pull/15461/head -> refs/pull/15461/head fe7efbc30e..fd61c060cd refs/pull/15463/head -> refs/pull/15463/head aa52033f78..2edf62b4dd refs/pull/15482/head -> refs/pull/15482/head 6c97449887..71fe4d6cd1 refs/pull/15491/head -> refs/pull/15491/head + c10f7864aa...90cd57e12a refs/pull/15504/head -> refs/pull/15504/head (forced update) + 504ccf58ba...dbf862ea4f 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) + 875470ef85...1eb7dc0d28 refs/pull/15550/merge -> refs/pull/15550/merge (forced update) + 954732a920...e15594e6e9 refs/pull/15552/head -> refs/pull/15552/head (forced update) + 224daf80cb...81753778d8 refs/pull/15561/head -> refs/pull/15561/head (forced update) + 3444f0503a...6553fec0a6 refs/pull/15561/merge -> refs/pull/15561/merge (forced update) c12842b590..6b5348bb8e refs/pull/15565/head -> refs/pull/15565/head + b6ba32315a...90a17221bc refs/pull/15565/merge -> refs/pull/15565/merge (forced update) 4f1bc77f58..23e33718e1 refs/pull/15583/head -> refs/pull/15583/head 9721929332..f395770691 refs/pull/15596/head -> refs/pull/15596/head 264b108886..3d16c8913a refs/pull/15611/head -> refs/pull/15611/head + 9f11e0c9bd...75e80da82c refs/pull/15647/head -> refs/pull/15647/head (forced update) + ca50fac7d6...c61368a3a4 refs/pull/15647/merge -> refs/pull/15647/merge (forced update) 2f440dea29..2f66062638 refs/pull/15652/head -> refs/pull/15652/head 0ef930287d..7d9c81e2ac refs/pull/15656/head -> refs/pull/15656/head 287de4cf8d..b5203794c1 refs/pull/15657/head -> refs/pull/15657/head + 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 129287d2d5..77e359b939 refs/pull/15674/head -> refs/pull/15674/head 78ce0ba24c..0d90afef8b refs/pull/15683/head -> refs/pull/15683/head + cbd3aacdd7...2360c5757e refs/pull/15706/head -> refs/pull/15706/head (forced update) + 611b1871b4...a5ce37744e refs/pull/15710/head -> refs/pull/15710/head (forced update) + a6514e946d...588f46c561 refs/pull/15714/head -> refs/pull/15714/head (forced update) + 5e76ec2cd6...6e3a58e381 refs/pull/15715/head -> refs/pull/15715/head (forced update) + 035a2a4f86...236c15967a refs/pull/15716/head -> refs/pull/15716/head (forced update) + 0286db9628...0012e95a50 refs/pull/15717/head -> refs/pull/15717/head (forced update) + 0c7200a710...72afc71015 refs/pull/15720/head -> refs/pull/15720/head (forced update) 831007cae6..6d130bacac refs/pull/15724/head -> refs/pull/15724/head + 1847467ce9...7e16ebf707 refs/pull/15725/head -> refs/pull/15725/head (forced update) + 9e52589b67...c8a6f244cb refs/pull/15728/head -> refs/pull/15728/head (forced update) 305f73598f..51455a89cf refs/pull/15737/head -> refs/pull/15737/head + 0f64a231c8...a50a2e46a6 refs/pull/15739/head -> refs/pull/15739/head (forced update) + 1ee7e48109...0526615db1 refs/pull/15741/head -> refs/pull/15741/head (forced update) + cb3bd873b7...8b5d95c130 refs/pull/15746/head -> refs/pull/15746/head (forced update) + ee37fada35...4440d5733a refs/pull/15747/merge -> refs/pull/15747/merge (forced update) + f2d75cc52c...9a888db400 refs/pull/15748/head -> refs/pull/15748/head (forced update) f54851e635..b0c154da93 refs/pull/15756/head -> refs/pull/15756/head 42fbd6ae4b..2ea499989a refs/pull/15757/head -> refs/pull/15757/head 681bc0c8db..f94a9c7507 refs/pull/15766/head -> refs/pull/15766/head + 34fbb31596...a0d0460e8c refs/pull/15767/head -> refs/pull/15767/head (forced update) + 420c9916ba...eb39e707c4 refs/pull/15770/head -> refs/pull/15770/head (forced update) + 91842377b2...e27ebc491d refs/pull/15771/head -> refs/pull/15771/head (forced update) + 458b9fccde...25d4c50886 refs/pull/15774/head -> refs/pull/15774/head (forced update) + 0b9c262cb4...54a870befd refs/pull/15775/head -> refs/pull/15775/head (forced update) + ea466c97e8...a114cd2388 refs/pull/15776/head -> refs/pull/15776/head (forced update) + 2a0df568cf...91524faadc refs/pull/15781/head -> refs/pull/15781/head (forced update) * [new ref] refs/pull/15783/head -> refs/pull/15783/head * [new ref] refs/pull/15784/head -> refs/pull/15784/head * [new ref] refs/pull/15785/head -> refs/pull/15785/head * [new ref] refs/pull/15790/head -> refs/pull/15790/head * [new ref] refs/pull/15791/head -> refs/pull/15791/head * [new ref] refs/pull/15791/merge -> refs/pull/15791/merge * [new ref] refs/pull/15793/head -> refs/pull/15793/head * [new ref] refs/pull/15794/head -> refs/pull/15794/head * [new ref] refs/pull/15800/head -> refs/pull/15800/head * [new ref] refs/pull/15800/merge -> refs/pull/15800/merge * [new ref] refs/pull/15802/head -> refs/pull/15802/head * [new ref] refs/pull/15803/head -> refs/pull/15803/head * [new ref] refs/pull/15805/head -> refs/pull/15805/head * [new ref] refs/pull/15806/head -> refs/pull/15806/head * [new ref] refs/pull/15815/head -> refs/pull/15815/head * [new ref] refs/pull/15816/head -> refs/pull/15816/head * [new ref] refs/pull/15817/head -> refs/pull/15817/head * [new ref] refs/pull/15818/head -> refs/pull/15818/head * [new ref] refs/pull/15819/head -> refs/pull/15819/head * [new ref] refs/pull/15819/merge -> refs/pull/15819/merge * [new ref] refs/pull/15820/head -> refs/pull/15820/head * [new ref] refs/pull/15824/head -> refs/pull/15824/head * [new ref] refs/pull/15825/head -> refs/pull/15825/head * [new ref] refs/pull/15826/head -> refs/pull/15826/head * [new ref] refs/pull/15827/head -> refs/pull/15827/head * [new ref] refs/pull/15828/head -> refs/pull/15828/head * [new ref] refs/pull/15829/head -> refs/pull/15829/head * [new ref] refs/pull/15831/head -> refs/pull/15831/head * [new ref] refs/pull/15832/head -> refs/pull/15832/head * [new ref] refs/pull/15833/head -> refs/pull/15833/head * [new ref] refs/pull/15834/head -> refs/pull/15834/head * [new ref] refs/pull/15836/head -> refs/pull/15836/head * [new ref] refs/pull/15837/head -> refs/pull/15837/head * [new ref] refs/pull/15839/head -> refs/pull/15839/head * [new ref] refs/pull/15842/head -> refs/pull/15842/head * [new ref] refs/pull/15842/merge -> refs/pull/15842/merge * [new ref] refs/pull/15853/head -> refs/pull/15853/head * [new ref] refs/pull/15855/head -> refs/pull/15855/head * [new ref] refs/pull/15857/head -> refs/pull/15857/head * [new ref] refs/pull/15860/head -> refs/pull/15860/head * [new ref] refs/pull/15860/merge -> refs/pull/15860/merge * [new ref] refs/pull/15861/head -> refs/pull/15861/head * [new ref] refs/pull/15863/head -> refs/pull/15863/head * [new ref] refs/pull/15863/merge -> refs/pull/15863/merge * [new ref] refs/pull/15864/head -> refs/pull/15864/head * [new ref] refs/pull/15864/merge -> refs/pull/15864/merge * [new ref] refs/pull/15865/head -> refs/pull/15865/head * [new ref] refs/pull/15866/head -> refs/pull/15866/head * [new ref] refs/pull/15866/merge -> refs/pull/15866/merge * [new ref] refs/pull/15867/head -> refs/pull/15867/head * [new ref] refs/pull/15869/head -> refs/pull/15869/head * [new ref] refs/pull/15870/head -> refs/pull/15870/head * [new ref] refs/pull/15871/head -> refs/pull/15871/head * [new ref] refs/pull/15872/head -> refs/pull/15872/head * [new ref] refs/pull/15878/head -> refs/pull/15878/head * [new ref] refs/pull/15886/head -> refs/pull/15886/head * [new ref] refs/pull/15889/head -> refs/pull/15889/head * [new ref] refs/pull/15889/merge -> refs/pull/15889/merge * [new ref] refs/pull/15890/head -> refs/pull/15890/head * [new ref] refs/pull/15893/head -> refs/pull/15893/head * [new ref] refs/pull/15900/head -> refs/pull/15900/head * [new ref] refs/pull/15901/head -> refs/pull/15901/head * [new ref] refs/pull/15902/head -> refs/pull/15902/head * [new ref] refs/pull/15904/head -> refs/pull/15904/head * [new ref] refs/pull/15906/head -> refs/pull/15906/head * [new ref] refs/pull/15907/head -> refs/pull/15907/head * [new ref] refs/pull/15908/head -> refs/pull/15908/head * [new ref] refs/pull/15919/head -> refs/pull/15919/head * [new ref] refs/pull/15922/head -> refs/pull/15922/head * [new ref] refs/pull/15922/merge -> refs/pull/15922/merge * [new ref] refs/pull/15923/head -> refs/pull/15923/head * [new ref] refs/pull/15926/head -> refs/pull/15926/head * [new ref] refs/pull/15928/head -> refs/pull/15928/head * [new ref] refs/pull/15929/head -> refs/pull/15929/head * [new ref] refs/pull/15931/head -> refs/pull/15931/head * [new ref] refs/pull/15932/head -> refs/pull/15932/head * [new ref] refs/pull/15933/head -> refs/pull/15933/head * [new ref] refs/pull/15935/head -> refs/pull/15935/head * [new ref] refs/pull/15936/head -> refs/pull/15936/head * [new ref] refs/pull/15937/head -> refs/pull/15937/head * [new ref] refs/pull/15940/head -> refs/pull/15940/head * [new ref] refs/pull/15941/head -> refs/pull/15941/head * [new ref] refs/pull/15943/head -> refs/pull/15943/head * [new ref] refs/pull/15944/head -> refs/pull/15944/head * [new ref] refs/pull/15946/head -> refs/pull/15946/head * [new ref] refs/pull/15947/head -> refs/pull/15947/head * [new ref] refs/pull/15948/head -> refs/pull/15948/head * [new ref] refs/pull/15950/head -> refs/pull/15950/head * [new ref] refs/pull/15952/head -> refs/pull/15952/head * [new ref] refs/pull/15953/head -> refs/pull/15953/head * [new ref] refs/pull/15954/head -> refs/pull/15954/head * [new ref] refs/pull/15967/head -> refs/pull/15967/head * [new ref] refs/pull/15977/head -> refs/pull/15977/head * [new ref] refs/pull/15978/head -> refs/pull/15978/head * [new ref] refs/pull/15979/head -> refs/pull/15979/head * [new ref] refs/pull/15982/head -> refs/pull/15982/head * [new ref] refs/pull/15983/head -> refs/pull/15983/head * [new ref] refs/pull/15989/head -> refs/pull/15989/head * [new ref] refs/pull/16000/head -> refs/pull/16000/head * [new ref] refs/pull/16001/head -> refs/pull/16001/head * [new ref] refs/pull/16002/head -> refs/pull/16002/head * [new ref] refs/pull/16004/head -> refs/pull/16004/head * [new ref] refs/pull/16006/head -> refs/pull/16006/head * [new ref] refs/pull/16009/head -> refs/pull/16009/head * [new ref] refs/pull/16010/head -> refs/pull/16010/head * [new ref] refs/pull/16010/merge -> refs/pull/16010/merge * [new ref] refs/pull/16011/head -> refs/pull/16011/head * [new ref] refs/pull/16013/head -> refs/pull/16013/head * [new ref] refs/pull/16014/head -> refs/pull/16014/head * [new ref] refs/pull/16015/head -> refs/pull/16015/head * [new ref] refs/pull/16018/head -> refs/pull/16018/head * [new ref] refs/pull/16021/head -> refs/pull/16021/head * [new ref] refs/pull/16023/head -> refs/pull/16023/head * [new ref] refs/pull/16024/head -> refs/pull/16024/head * [new ref] refs/pull/16027/head -> refs/pull/16027/head * [new ref] refs/pull/16029/head -> refs/pull/16029/head * [new ref] refs/pull/16032/head -> refs/pull/16032/head * [new ref] refs/pull/16034/head -> refs/pull/16034/head * [new ref] refs/pull/16035/head -> refs/pull/16035/head * [new ref] refs/pull/16036/head -> refs/pull/16036/head * [new ref] refs/pull/16038/head -> refs/pull/16038/head * [new ref] refs/pull/16039/head -> refs/pull/16039/head * [new ref] refs/pull/16040/head -> refs/pull/16040/head * [new ref] refs/pull/16041/head -> refs/pull/16041/head * [new ref] refs/pull/16043/head -> refs/pull/16043/head * [new ref] refs/pull/16044/head -> refs/pull/16044/head * [new ref] refs/pull/16045/head -> refs/pull/16045/head * [new ref] refs/pull/16047/head -> refs/pull/16047/head * [new ref] refs/pull/16048/head -> refs/pull/16048/head * [new ref] refs/pull/16050/head -> refs/pull/16050/head * [new ref] refs/pull/16051/head -> refs/pull/16051/head * [new ref] refs/pull/16054/head -> refs/pull/16054/head * [new ref] refs/pull/16055/head -> refs/pull/16055/head * [new ref] refs/pull/16055/merge -> refs/pull/16055/merge * [new ref] refs/pull/16056/head -> refs/pull/16056/head * [new ref] refs/pull/16062/head -> refs/pull/16062/head * [new ref] refs/pull/16069/head -> refs/pull/16069/head * [new ref] refs/pull/16072/head -> refs/pull/16072/head * [new ref] refs/pull/16072/merge -> refs/pull/16072/merge * [new ref] refs/pull/16073/head -> refs/pull/16073/head * [new ref] refs/pull/16074/head -> refs/pull/16074/head * [new ref] refs/pull/16079/head -> refs/pull/16079/head * [new ref] refs/pull/16080/head -> refs/pull/16080/head * [new ref] refs/pull/16082/head -> refs/pull/16082/head * [new ref] refs/pull/16083/head -> refs/pull/16083/head * [new ref] refs/pull/16087/head -> refs/pull/16087/head * [new ref] refs/pull/16089/head -> refs/pull/16089/head * [new ref] refs/pull/16093/head -> refs/pull/16093/head * [new ref] refs/pull/16094/head -> refs/pull/16094/head * [new ref] refs/pull/16096/head -> refs/pull/16096/head * [new ref] refs/pull/16097/head -> refs/pull/16097/head * [new ref] refs/pull/16098/head -> refs/pull/16098/head * [new ref] refs/pull/16100/head -> refs/pull/16100/head * [new ref] refs/pull/16102/head -> refs/pull/16102/head * [new ref] refs/pull/16106/head -> refs/pull/16106/head * [new ref] refs/pull/16107/head -> refs/pull/16107/head * [new ref] refs/pull/16108/head -> refs/pull/16108/head * [new ref] refs/pull/16109/head -> refs/pull/16109/head * [new ref] refs/pull/16112/head -> refs/pull/16112/head * [new ref] refs/pull/16113/head -> refs/pull/16113/head * [new ref] refs/pull/16115/head -> refs/pull/16115/head * [new ref] refs/pull/16117/head -> refs/pull/16117/head * [new ref] refs/pull/16118/head -> refs/pull/16118/head * [new ref] refs/pull/16119/head -> refs/pull/16119/head * [new ref] refs/pull/16131/head -> refs/pull/16131/head * [new ref] refs/pull/16131/merge -> refs/pull/16131/merge * [new ref] refs/pull/16133/head -> refs/pull/16133/head * [new ref] refs/pull/16137/head -> refs/pull/16137/head * [new ref] refs/pull/16138/head -> refs/pull/16138/head * [new ref] refs/pull/16139/head -> refs/pull/16139/head * [new ref] refs/pull/16142/head -> refs/pull/16142/head * [new ref] refs/pull/16143/head -> refs/pull/16143/head * [new ref] refs/pull/16145/head -> refs/pull/16145/head * [new ref] refs/pull/16146/head -> refs/pull/16146/head * [new ref] refs/pull/16152/head -> refs/pull/16152/head * [new ref] refs/pull/16155/head -> refs/pull/16155/head * [new ref] refs/pull/16156/head -> refs/pull/16156/head * [new ref] refs/pull/16157/head -> refs/pull/16157/head * [new ref] refs/pull/16161/head -> refs/pull/16161/head * [new ref] refs/pull/16163/head -> refs/pull/16163/head * [new ref] refs/pull/16172/head -> refs/pull/16172/head * [new ref] refs/pull/16174/head -> refs/pull/16174/head * [new ref] refs/pull/16177/head -> refs/pull/16177/head * [new ref] refs/pull/16179/head -> refs/pull/16179/head * [new ref] refs/pull/16180/head -> refs/pull/16180/head * [new ref] refs/pull/16181/head -> refs/pull/16181/head * [new ref] refs/pull/16182/head -> refs/pull/16182/head * [new ref] refs/pull/16183/head -> refs/pull/16183/head * [new ref] refs/pull/16184/head -> refs/pull/16184/head * [new ref] refs/pull/16185/head -> refs/pull/16185/head * [new ref] refs/pull/16193/head -> refs/pull/16193/head * [new ref] refs/pull/16193/merge -> refs/pull/16193/merge * [new ref] refs/pull/16199/head -> refs/pull/16199/head * [new ref] refs/pull/16200/head -> refs/pull/16200/head * [new ref] refs/pull/16201/head -> refs/pull/16201/head * [new ref] refs/pull/16204/head -> refs/pull/16204/head * [new ref] refs/pull/16207/head -> refs/pull/16207/head * [new ref] refs/pull/16209/head -> refs/pull/16209/head * [new ref] refs/pull/16221/head -> refs/pull/16221/head * [new ref] refs/pull/16222/head -> refs/pull/16222/head * [new ref] refs/pull/16223/head -> refs/pull/16223/head * [new ref] refs/pull/16225/head -> refs/pull/16225/head * [new ref] refs/pull/16229/head -> refs/pull/16229/head * [new ref] refs/pull/16230/head -> refs/pull/16230/head * [new ref] refs/pull/16231/head -> refs/pull/16231/head * [new ref] refs/pull/16232/head -> refs/pull/16232/head * [new ref] refs/pull/16235/head -> refs/pull/16235/head * [new ref] refs/pull/16238/head -> refs/pull/16238/head * [new ref] 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/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/16848/merge -> refs/pull/16848/merge * [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/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/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/17231/merge -> refs/pull/17231/merge * [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/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/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/17468/merge -> refs/pull/17468/merge * [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/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/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/17699/head -> refs/pull/17699/head * [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/17810/head -> refs/pull/17810/head * [new ref] refs/pull/17813/head -> refs/pull/17813/head * [new ref] refs/pull/17815/head -> refs/pull/17815/head * [new ref] refs/pull/17816/head -> refs/pull/17816/head * [new ref] refs/pull/17817/head -> refs/pull/17817/head * [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/17838/head -> refs/pull/17838/head * [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/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/17865/head -> refs/pull/17865/head * [new ref] refs/pull/17867/head -> refs/pull/17867/head * [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/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/17890/merge -> refs/pull/17890/merge * [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/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/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/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/17926/head -> refs/pull/17926/head * [new ref] refs/pull/17927/head -> refs/pull/17927/head * [new ref] refs/pull/17928/head -> refs/pull/17928/head * [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/17938/head -> refs/pull/17938/head * [new ref] refs/pull/17939/head -> refs/pull/17939/head * [new ref] refs/pull/17940/head -> refs/pull/17940/head * [new ref] refs/pull/17941/head -> refs/pull/17941/head * [new ref] refs/pull/17942/head -> refs/pull/17942/head * [new ref] refs/pull/17951/head -> refs/pull/17951/head * [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 * [new ref] refs/pull/17959/head -> refs/pull/17959/head * [new ref] refs/pull/17961/head -> refs/pull/17961/head * [new ref] refs/pull/17963/head -> refs/pull/17963/head * [new ref] refs/pull/17964/head -> refs/pull/17964/head * [new ref] refs/pull/17965/head -> refs/pull/17965/head * [new ref] refs/pull/17966/head -> refs/pull/17966/head * [new ref] refs/pull/17968/head -> refs/pull/17968/head * [new ref] refs/pull/17970/head -> refs/pull/17970/head * [new ref] refs/pull/17972/head -> refs/pull/17972/head * [new ref] refs/pull/17974/head -> refs/pull/17974/head * [new ref] refs/pull/17975/head -> refs/pull/17975/head * [new ref] refs/pull/17976/head -> refs/pull/17976/head * [new ref] refs/pull/17978/head -> refs/pull/17978/head * [new ref] refs/pull/17978/merge -> refs/pull/17978/merge * [new ref] refs/pull/17979/head -> refs/pull/17979/head * [new ref] refs/pull/17979/merge -> refs/pull/17979/merge * [new ref] refs/pull/17980/head -> refs/pull/17980/head * [new ref] refs/pull/17981/head -> refs/pull/17981/head * [new ref] refs/pull/17981/merge -> refs/pull/17981/merge * [new ref] refs/pull/17986/head -> refs/pull/17986/head * [new ref] refs/pull/17989/head -> refs/pull/17989/head * [new ref] refs/pull/17991/head -> refs/pull/17991/head * [new ref] refs/pull/17993/head -> refs/pull/17993/head * [new ref] refs/pull/17995/head -> refs/pull/17995/head * [new ref] refs/pull/17996/head -> refs/pull/17996/head * [new ref] refs/pull/17996/merge -> refs/pull/17996/merge * [new ref] refs/pull/18001/head -> refs/pull/18001/head * [new ref] refs/pull/18003/head -> refs/pull/18003/head * [new ref] refs/pull/18005/head -> refs/pull/18005/head * [new ref] refs/pull/18006/head -> refs/pull/18006/head * [new ref] refs/pull/18008/head -> refs/pull/18008/head * [new ref] refs/pull/18009/head -> refs/pull/18009/head * [new ref] refs/pull/18013/head -> refs/pull/18013/head * [new ref] refs/pull/18015/head -> refs/pull/18015/head * [new ref] refs/pull/18017/head -> refs/pull/18017/head * [new ref] refs/pull/18017/merge -> refs/pull/18017/merge * [new ref] refs/pull/18021/head -> refs/pull/18021/head * [new ref] refs/pull/18024/head -> refs/pull/18024/head * [new ref] refs/pull/18025/head -> refs/pull/18025/head * [new ref] refs/pull/18026/head -> refs/pull/18026/head * [new ref] refs/pull/18031/head -> refs/pull/18031/head * [new ref] refs/pull/18031/merge -> refs/pull/18031/merge * [new ref] refs/pull/18032/head -> refs/pull/18032/head * [new ref] refs/pull/18032/merge -> refs/pull/18032/merge * [new ref] refs/pull/18033/head -> refs/pull/18033/head * [new ref] refs/pull/18033/merge -> refs/pull/18033/merge * [new ref] refs/pull/18035/head -> refs/pull/18035/head * [new ref] refs/pull/18038/head -> refs/pull/18038/head * [new ref] refs/pull/18038/merge -> refs/pull/18038/merge * [new ref] refs/pull/18039/head -> refs/pull/18039/head * [new ref] refs/pull/18041/head -> refs/pull/18041/head * [new ref] refs/pull/18041/merge -> refs/pull/18041/merge * [new ref] refs/pull/18042/head -> refs/pull/18042/head * [new ref] refs/pull/18042/merge -> refs/pull/18042/merge * [new ref] refs/pull/18043/head -> refs/pull/18043/head * [new ref] refs/pull/18047/head -> refs/pull/18047/head * [new ref] refs/pull/18048/head -> refs/pull/18048/head * [new ref] refs/pull/18048/merge -> refs/pull/18048/merge * [new ref] refs/pull/18054/head -> refs/pull/18054/head * [new ref] refs/pull/18058/head -> refs/pull/18058/head * [new ref] refs/pull/18058/merge -> refs/pull/18058/merge * [new ref] refs/pull/18069/head -> refs/pull/18069/head * [new ref] refs/pull/18071/head -> refs/pull/18071/head * [new ref] refs/pull/18071/merge -> refs/pull/18071/merge * [new ref] refs/pull/18073/head -> refs/pull/18073/head * [new ref] refs/pull/18073/merge -> refs/pull/18073/merge * [new ref] refs/pull/18075/head -> refs/pull/18075/head * [new ref] refs/pull/18081/head -> refs/pull/18081/head * [new ref] refs/pull/18090/head -> refs/pull/18090/head * [new ref] refs/pull/18090/merge -> refs/pull/18090/merge * [new ref] refs/pull/18091/head -> refs/pull/18091/head * [new ref] refs/pull/18093/head -> refs/pull/18093/head * [new ref] refs/pull/18095/head -> refs/pull/18095/head * [new ref] refs/pull/18095/merge -> refs/pull/18095/merge * [new ref] refs/pull/18099/head -> refs/pull/18099/head * [new ref] refs/pull/18099/merge -> refs/pull/18099/merge * [new ref] refs/pull/18101/head -> refs/pull/18101/head * [new ref] refs/pull/18103/head -> refs/pull/18103/head * [new ref] refs/pull/18104/head -> refs/pull/18104/head * [new ref] refs/pull/18104/merge -> refs/pull/18104/merge * [new ref] refs/pull/18105/head -> refs/pull/18105/head * [new ref] refs/pull/18108/head -> refs/pull/18108/head * [new ref] refs/pull/18109/head -> refs/pull/18109/head * [new ref] refs/pull/18109/merge -> refs/pull/18109/merge * [new ref] refs/pull/18110/head -> refs/pull/18110/head * [new ref] refs/pull/18114/head -> refs/pull/18114/head * [new ref] refs/pull/18116/head -> refs/pull/18116/head * [new ref] refs/pull/18117/head -> refs/pull/18117/head * [new ref] refs/pull/18117/merge -> refs/pull/18117/merge * [new ref] refs/pull/18118/head -> refs/pull/18118/head * [new ref] refs/pull/18119/head -> refs/pull/18119/head * [new ref] refs/pull/18120/head -> refs/pull/18120/head * [new ref] refs/pull/18121/head -> refs/pull/18121/head * [new ref] refs/pull/18122/head -> refs/pull/18122/head * [new ref] refs/pull/18131/head -> refs/pull/18131/head * [new ref] refs/pull/18132/head -> refs/pull/18132/head * [new ref] refs/pull/18138/head -> refs/pull/18138/head * [new ref] refs/pull/18139/head -> refs/pull/18139/head * [new ref] refs/pull/18141/head -> refs/pull/18141/head * [new ref] refs/pull/18142/head -> refs/pull/18142/head * [new ref] refs/pull/18145/head -> refs/pull/18145/head * [new ref] refs/pull/18146/head -> refs/pull/18146/head * [new ref] refs/pull/18147/head -> refs/pull/18147/head * [new ref] refs/pull/18150/head -> refs/pull/18150/head * [new ref] refs/pull/18150/merge -> refs/pull/18150/merge * [new ref] refs/pull/18151/head -> refs/pull/18151/head * [new ref] refs/pull/18153/head -> refs/pull/18153/head * [new ref] refs/pull/18154/head -> refs/pull/18154/head * [new ref] refs/pull/18155/head -> refs/pull/18155/head * [new ref] refs/pull/18155/merge -> refs/pull/18155/merge * [new ref] refs/pull/18156/head -> refs/pull/18156/head * [new ref] refs/pull/18158/head -> refs/pull/18158/head * [new ref] refs/pull/18161/head -> refs/pull/18161/head * [new ref] refs/pull/18162/head -> refs/pull/18162/head * [new ref] refs/pull/18163/head -> refs/pull/18163/head * [new ref] refs/pull/18163/merge -> refs/pull/18163/merge * [new ref] refs/pull/18164/head -> refs/pull/18164/head * [new ref] refs/pull/18164/merge -> refs/pull/18164/merge * [new ref] refs/pull/18167/head -> refs/pull/18167/head * [new ref] refs/pull/18167/merge -> refs/pull/18167/merge * [new ref] refs/pull/18169/head -> refs/pull/18169/head * [new ref] refs/pull/18169/merge -> refs/pull/18169/merge * [new ref] refs/pull/18170/head -> refs/pull/18170/head * [new ref] refs/pull/18170/merge -> refs/pull/18170/merge * [new ref] refs/pull/18171/head -> refs/pull/18171/head * [new ref] refs/pull/18171/merge -> refs/pull/18171/merge * [new ref] refs/pull/18172/head -> refs/pull/18172/head * [new ref] refs/pull/18172/merge -> refs/pull/18172/merge * [new ref] refs/pull/18174/head -> refs/pull/18174/head * [new ref] refs/pull/18174/merge -> refs/pull/18174/merge * [new ref] refs/pull/18177/head -> refs/pull/18177/head * [new ref] refs/pull/18177/merge -> refs/pull/18177/merge * [new ref] refs/pull/18179/head -> refs/pull/18179/head * [new ref] refs/pull/18181/head -> refs/pull/18181/head * [new ref] refs/pull/18182/head -> refs/pull/18182/head * [new ref] refs/pull/18182/merge -> refs/pull/18182/merge * [new ref] refs/pull/18183/head -> refs/pull/18183/head * [new ref] refs/pull/18184/head -> refs/pull/18184/head * [new ref] refs/pull/18184/merge -> refs/pull/18184/merge * [new ref] refs/pull/18187/head -> refs/pull/18187/head * [new ref] refs/pull/18188/head -> refs/pull/18188/head * [new ref] refs/pull/18190/head -> refs/pull/18190/head * [new ref] refs/pull/18190/merge -> refs/pull/18190/merge * [new ref] refs/pull/18193/head -> refs/pull/18193/head * [new ref] refs/pull/18195/head -> refs/pull/18195/head * [new ref] refs/pull/18196/head -> refs/pull/18196/head * [new ref] refs/pull/18203/head -> refs/pull/18203/head * [new ref] refs/pull/18203/merge -> refs/pull/18203/merge * [new ref] refs/pull/18205/head -> refs/pull/18205/head * [new ref] refs/pull/18207/head -> refs/pull/18207/head * [new ref] refs/pull/18209/head -> refs/pull/18209/head * [new ref] refs/pull/18211/head -> refs/pull/18211/head * [new ref] refs/pull/18212/head -> refs/pull/18212/head * [new ref] refs/pull/18213/head -> refs/pull/18213/head * [new ref] refs/pull/18213/merge -> refs/pull/18213/merge * [new ref] refs/pull/18215/head -> refs/pull/18215/head * [new ref] refs/pull/18216/head -> refs/pull/18216/head * [new ref] refs/pull/18217/head -> refs/pull/18217/head * [new ref] refs/pull/18218/head -> refs/pull/18218/head * [new ref] refs/pull/18219/head -> refs/pull/18219/head * [new ref] refs/pull/18222/head -> refs/pull/18222/head * [new ref] refs/pull/18223/head -> refs/pull/18223/head * [new ref] refs/pull/18224/head -> refs/pull/18224/head * [new ref] refs/pull/18225/head -> refs/pull/18225/head * [new ref] refs/pull/18226/head -> refs/pull/18226/head * [new ref] refs/pull/18227/head -> refs/pull/18227/head * [new ref] refs/pull/18227/merge -> refs/pull/18227/merge * [new ref] refs/pull/18228/head -> refs/pull/18228/head * [new ref] refs/pull/18228/merge -> refs/pull/18228/merge * [new ref] refs/pull/18229/head -> refs/pull/18229/head * [new ref] refs/pull/18230/head -> refs/pull/18230/head * [new ref] refs/pull/18231/head -> refs/pull/18231/head * [new ref] refs/pull/18232/head -> refs/pull/18232/head * [new ref] refs/pull/18234/head -> refs/pull/18234/head * [new ref] refs/pull/18235/head -> refs/pull/18235/head * [new ref] refs/pull/18236/head -> refs/pull/18236/head * [new ref] refs/pull/18237/head -> refs/pull/18237/head * [new ref] refs/pull/18237/merge -> refs/pull/18237/merge * [new ref] refs/pull/18239/head -> refs/pull/18239/head * [new ref] refs/pull/18240/head -> refs/pull/18240/head * [new ref] refs/pull/18240/merge -> refs/pull/18240/merge * [new ref] refs/pull/18241/head -> refs/pull/18241/head * [new ref] refs/pull/18243/head -> refs/pull/18243/head * [new ref] refs/pull/18258/head -> refs/pull/18258/head * [new ref] refs/pull/18263/head -> refs/pull/18263/head * [new ref] refs/pull/18263/merge -> refs/pull/18263/merge * [new ref] refs/pull/18265/head -> refs/pull/18265/head * [new ref] refs/pull/18272/head -> refs/pull/18272/head * [new ref] refs/pull/18273/head -> refs/pull/18273/head * [new ref] refs/pull/18274/head -> refs/pull/18274/head * [new ref] refs/pull/18275/head -> refs/pull/18275/head * [new ref] refs/pull/18275/merge -> refs/pull/18275/merge * [new ref] refs/pull/18277/head -> refs/pull/18277/head * [new ref] refs/pull/18295/head -> refs/pull/18295/head * [new ref] refs/pull/18297/head -> refs/pull/18297/head * [new ref] refs/pull/18301/head -> refs/pull/18301/head * [new ref] refs/pull/18301/merge -> refs/pull/18301/merge * [new ref] refs/pull/18307/head -> refs/pull/18307/head * [new ref] refs/pull/18310/head -> refs/pull/18310/head * [new ref] refs/pull/18311/head -> refs/pull/18311/head * [new ref] refs/pull/18314/head -> refs/pull/18314/head * [new ref] refs/pull/18320/head -> refs/pull/18320/head * [new ref] refs/pull/18322/head -> refs/pull/18322/head * [new ref] refs/pull/18322/merge -> refs/pull/18322/merge * [new ref] refs/pull/18323/head -> refs/pull/18323/head * [new ref] refs/pull/18324/head -> refs/pull/18324/head * [new ref] refs/pull/18330/head -> refs/pull/18330/head * [new ref] refs/pull/18332/head -> refs/pull/18332/head * [new ref] refs/pull/18333/head -> refs/pull/18333/head * [new ref] refs/pull/18335/head -> refs/pull/18335/head * [new ref] refs/pull/18335/merge -> refs/pull/18335/merge * [new ref] refs/pull/18336/head -> refs/pull/18336/head * [new ref] refs/pull/18339/head -> refs/pull/18339/head * [new ref] refs/pull/18339/merge -> refs/pull/18339/merge * [new ref] refs/pull/18340/head -> refs/pull/18340/head * [new ref] refs/pull/18340/merge -> refs/pull/18340/merge * [new ref] refs/pull/18343/head -> refs/pull/18343/head * [new ref] refs/pull/18346/head -> refs/pull/18346/head * [new ref] refs/pull/18347/head -> refs/pull/18347/head * [new ref] refs/pull/18347/merge -> refs/pull/18347/merge * [new ref] refs/pull/18348/head -> refs/pull/18348/head * [new ref] refs/pull/18350/head -> refs/pull/18350/head * [new ref] refs/pull/18350/merge -> refs/pull/18350/merge * [new ref] refs/pull/18351/head -> refs/pull/18351/head * [new ref] refs/pull/18352/head -> refs/pull/18352/head * [new ref] refs/pull/18354/head -> refs/pull/18354/head * [new ref] refs/pull/18354/merge -> refs/pull/18354/merge * [new ref] refs/pull/18358/head -> refs/pull/18358/head * [new ref] refs/pull/18359/head -> refs/pull/18359/head * [new ref] refs/pull/18359/merge -> refs/pull/18359/merge * [new ref] refs/pull/18362/head -> refs/pull/18362/head * [new ref] refs/pull/18363/head -> refs/pull/18363/head * [new ref] refs/pull/18363/merge -> refs/pull/18363/merge * [new ref] refs/pull/18367/head -> refs/pull/18367/head * [new ref] refs/pull/18367/merge -> refs/pull/18367/merge * [new ref] refs/pull/18375/head -> refs/pull/18375/head * [new ref] refs/pull/18376/head -> refs/pull/18376/head * [new ref] refs/pull/18378/head -> refs/pull/18378/head * [new ref] refs/pull/18378/merge -> refs/pull/18378/merge * [new ref] refs/pull/18379/head -> refs/pull/18379/head * [new ref] refs/pull/18383/head -> refs/pull/18383/head * [new ref] refs/pull/18386/head -> refs/pull/18386/head * [new ref] refs/pull/18387/head -> refs/pull/18387/head * [new ref] refs/pull/18387/merge -> refs/pull/18387/merge * [new ref] refs/pull/18389/head -> refs/pull/18389/head * [new ref] refs/pull/18391/head -> refs/pull/18391/head * [new ref] refs/pull/18391/merge -> refs/pull/18391/merge * [new ref] refs/pull/18393/head -> refs/pull/18393/head * [new ref] refs/pull/18395/head -> refs/pull/18395/head * [new ref] refs/pull/18396/head -> refs/pull/18396/head * [new ref] refs/pull/18399/head -> refs/pull/18399/head * [new ref] refs/pull/18400/head -> refs/pull/18400/head * [new ref] refs/pull/18401/head -> refs/pull/18401/head * [new ref] refs/pull/18402/head -> refs/pull/18402/head * [new ref] refs/pull/18403/head -> refs/pull/18403/head * [new ref] refs/pull/18404/head -> refs/pull/18404/head * [new ref] refs/pull/18404/merge -> refs/pull/18404/merge * [new ref] refs/pull/18406/head -> refs/pull/18406/head * [new ref] refs/pull/18406/merge -> refs/pull/18406/merge * [new ref] refs/pull/18407/head -> refs/pull/18407/head * [new ref] refs/pull/18407/merge -> refs/pull/18407/merge * [new ref] refs/pull/18408/head -> refs/pull/18408/head * [new ref] refs/pull/18409/head -> refs/pull/18409/head * [new ref] refs/pull/18409/merge -> refs/pull/18409/merge * [new ref] refs/pull/18410/head -> refs/pull/18410/head * [new ref] refs/pull/18411/head -> refs/pull/18411/head * [new ref] refs/pull/18413/head -> refs/pull/18413/head * [new ref] refs/pull/18414/head -> refs/pull/18414/head * [new ref] refs/pull/18415/head -> refs/pull/18415/head * [new ref] refs/pull/18416/head -> refs/pull/18416/head * [new ref] refs/pull/18417/head -> refs/pull/18417/head * [new ref] refs/pull/18421/head -> refs/pull/18421/head * [new ref] refs/pull/18421/merge -> refs/pull/18421/merge * [new ref] refs/pull/18424/head -> refs/pull/18424/head * [new ref] refs/pull/18424/merge -> refs/pull/18424/merge * [new ref] refs/pull/18426/head -> refs/pull/18426/head * [new ref] refs/pull/18427/head -> refs/pull/18427/head * [new ref] refs/pull/18427/merge -> refs/pull/18427/merge * [new ref] refs/pull/18428/head -> refs/pull/18428/head * [new ref] refs/pull/18428/merge -> refs/pull/18428/merge * [new ref] refs/pull/18429/head -> refs/pull/18429/head * [new ref] refs/pull/18429/merge -> refs/pull/18429/merge * [new ref] refs/pull/18435/head -> refs/pull/18435/head * [new ref] refs/pull/18437/head -> refs/pull/18437/head * [new ref] refs/pull/18438/head -> refs/pull/18438/head * [new ref] refs/pull/18440/head -> refs/pull/18440/head * [new ref] refs/pull/18440/merge -> refs/pull/18440/merge * [new ref] refs/pull/18442/head -> refs/pull/18442/head * [new ref] refs/pull/18443/head -> refs/pull/18443/head * [new ref] refs/pull/18443/merge -> refs/pull/18443/merge * [new ref] refs/pull/18446/head -> refs/pull/18446/head * [new ref] refs/pull/18447/head -> refs/pull/18447/head * [new ref] refs/pull/18448/head -> refs/pull/18448/head * [new ref] refs/pull/18448/merge -> refs/pull/18448/merge * [new ref] refs/pull/18449/head -> refs/pull/18449/head * [new ref] refs/pull/18449/merge -> refs/pull/18449/merge * [new ref] refs/pull/18450/head -> refs/pull/18450/head * [new ref] refs/pull/18451/head -> refs/pull/18451/head * [new ref] refs/pull/18454/head -> refs/pull/18454/head * [new ref] refs/pull/18457/head -> refs/pull/18457/head * [new ref] refs/pull/18458/head -> refs/pull/18458/head * [new ref] refs/pull/18458/merge -> refs/pull/18458/merge * [new ref] refs/pull/18460/head -> refs/pull/18460/head * [new ref] refs/pull/18460/merge -> refs/pull/18460/merge * [new ref] refs/pull/18461/head -> refs/pull/18461/head * [new ref] refs/pull/18463/head -> refs/pull/18463/head * [new ref] refs/pull/18464/head -> refs/pull/18464/head * [new ref] refs/pull/18465/head -> refs/pull/18465/head * [new ref] refs/pull/18468/head -> refs/pull/18468/head * [new ref] refs/pull/18470/head -> refs/pull/18470/head * [new ref] refs/pull/18470/merge -> refs/pull/18470/merge * [new ref] refs/pull/18471/head -> refs/pull/18471/head * [new ref] refs/pull/18472/head -> refs/pull/18472/head * [new ref] refs/pull/18474/head -> refs/pull/18474/head * [new ref] refs/pull/18476/head -> refs/pull/18476/head * [new ref] refs/pull/18477/head -> refs/pull/18477/head * [new ref] refs/pull/18477/merge -> refs/pull/18477/merge * [new ref] refs/pull/18478/head -> refs/pull/18478/head * [new ref] refs/pull/18478/merge -> refs/pull/18478/merge * [new ref] refs/pull/18480/head -> refs/pull/18480/head * [new ref] refs/pull/18484/head -> refs/pull/18484/head * [new ref] refs/pull/18485/head -> refs/pull/18485/head * [new ref] refs/pull/18485/merge -> refs/pull/18485/merge * [new ref] refs/pull/18486/head -> refs/pull/18486/head * [new ref] refs/pull/18486/merge -> refs/pull/18486/merge * [new ref] refs/pull/18489/head -> refs/pull/18489/head * [new ref] refs/pull/18490/head -> refs/pull/18490/head * [new ref] refs/pull/18492/head -> refs/pull/18492/head * [new ref] refs/pull/18496/head -> refs/pull/18496/head * [new ref] refs/pull/18497/head -> refs/pull/18497/head * [new ref] refs/pull/18498/head -> refs/pull/18498/head * [new ref] refs/pull/18499/head -> refs/pull/18499/head * [new ref] refs/pull/18499/merge -> refs/pull/18499/merge * [new ref] refs/pull/18500/head -> refs/pull/18500/head * [new ref] refs/pull/18500/merge -> refs/pull/18500/merge * [new ref] refs/pull/18501/head -> refs/pull/18501/head * [new ref] refs/pull/18502/head -> refs/pull/18502/head * [new ref] refs/pull/18502/merge -> refs/pull/18502/merge * [new ref] refs/pull/18506/head -> refs/pull/18506/head * [new ref] refs/pull/18506/merge -> refs/pull/18506/merge * [new ref] refs/pull/18508/head -> refs/pull/18508/head * [new ref] refs/pull/18508/merge -> refs/pull/18508/merge * [new ref] refs/pull/18510/head -> refs/pull/18510/head * [new ref] refs/pull/18510/merge -> refs/pull/18510/merge * [new ref] refs/pull/18512/head -> refs/pull/18512/head * [new ref] refs/pull/18517/head -> refs/pull/18517/head * [new ref] refs/pull/18519/head -> refs/pull/18519/head * [new ref] refs/pull/18519/merge -> refs/pull/18519/merge * [new ref] refs/pull/18521/head -> refs/pull/18521/head * [new ref] refs/pull/18521/merge -> refs/pull/18521/merge * [new ref] refs/pull/18522/head -> refs/pull/18522/head * [new ref] refs/pull/18522/merge -> refs/pull/18522/merge * [new ref] refs/pull/18523/head -> refs/pull/18523/head * [new ref] refs/pull/18523/merge -> refs/pull/18523/merge * [new ref] refs/pull/18528/head -> refs/pull/18528/head * [new ref] refs/pull/18530/head -> refs/pull/18530/head * [new ref] refs/pull/18530/merge -> refs/pull/18530/merge * [new ref] refs/pull/18531/head -> refs/pull/18531/head * [new ref] refs/pull/18531/merge -> refs/pull/18531/merge * [new ref] refs/pull/18534/head -> refs/pull/18534/head * [new ref] refs/pull/18534/merge -> refs/pull/18534/merge * [new ref] refs/pull/18536/head -> refs/pull/18536/head * [new ref] refs/pull/18538/head -> refs/pull/18538/head * [new ref] refs/pull/18538/merge -> refs/pull/18538/merge * [new ref] refs/pull/18541/head -> refs/pull/18541/head * [new ref] refs/pull/18541/merge -> refs/pull/18541/merge * [new ref] refs/pull/18543/head -> refs/pull/18543/head * [new ref] refs/pull/18544/head -> refs/pull/18544/head * [new ref] refs/pull/18544/merge -> refs/pull/18544/merge * [new ref] refs/pull/18545/head -> refs/pull/18545/head * [new ref] refs/pull/18548/head -> refs/pull/18548/head * [new ref] refs/pull/18548/merge -> refs/pull/18548/merge * [new ref] refs/pull/18552/head -> refs/pull/18552/head * [new ref] refs/pull/18552/merge -> refs/pull/18552/merge * [new ref] refs/pull/18553/head -> refs/pull/18553/head * [new ref] refs/pull/18555/head -> refs/pull/18555/head * [new ref] refs/pull/18555/merge -> refs/pull/18555/merge * [new ref] refs/pull/18557/head -> refs/pull/18557/head * [new ref] refs/pull/18557/merge -> refs/pull/18557/merge * [new ref] refs/pull/18558/head -> refs/pull/18558/head * [new ref] refs/pull/18558/merge -> refs/pull/18558/merge * [new ref] refs/pull/18559/head -> refs/pull/18559/head * [new ref] refs/pull/18560/head -> refs/pull/18560/head * [new ref] refs/pull/18561/head -> refs/pull/18561/head * [new ref] refs/pull/18561/merge -> refs/pull/18561/merge * [new ref] refs/pull/18562/head -> refs/pull/18562/head * [new ref] refs/pull/18562/merge -> refs/pull/18562/merge * [new ref] refs/pull/18563/head -> refs/pull/18563/head * [new ref] refs/pull/18563/merge -> refs/pull/18563/merge * [new ref] refs/pull/18564/head -> refs/pull/18564/head * [new ref] refs/pull/18564/merge -> refs/pull/18564/merge * [new ref] refs/pull/18565/head -> refs/pull/18565/head * [new ref] refs/pull/18565/merge -> refs/pull/18565/merge * [new ref] refs/pull/18566/head -> refs/pull/18566/head * [new ref] refs/pull/18566/merge -> refs/pull/18566/merge * [new ref] refs/pull/18567/head -> refs/pull/18567/head * [new ref] refs/pull/18567/merge -> refs/pull/18567/merge * [new ref] refs/pull/18569/head -> refs/pull/18569/head * [new ref] refs/pull/18569/merge -> refs/pull/18569/merge * [new ref] refs/pull/18570/head -> refs/pull/18570/head * [new ref] refs/pull/18570/merge -> refs/pull/18570/merge * [new ref] refs/pull/18572/head -> refs/pull/18572/head * [new ref] refs/pull/18572/merge -> refs/pull/18572/merge * [new ref] refs/pull/18575/head -> refs/pull/18575/head * [new ref] refs/pull/18575/merge -> refs/pull/18575/merge 9ef92f4b4f..634c0500ad refs/pull/8252/head -> refs/pull/8252/head 87dc338a6a..380e1ca23d refs/pull/8257/head -> refs/pull/8257/head 9431fc88e2..0eec96e2a7 refs/pull/9069/head -> refs/pull/9069/head cacb24f39e..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.23.0 -> v0.23.0 * [new tag] v0.23.0-preview.5 -> v0.23.0-preview.5 * [new tag] v0.23.0-preview.6 -> v0.23.0-preview.6 * [new tag] v0.24.0 -> v0.24.0 * [new tag] v0.24.0-nightly.20260103.30f5c4af4 -> v0.24.0-nightly.20260103.30f5c4af4 * [new tag] v0.24.0-nightly.20260115.c9d6f9b22 -> v0.24.0-nightly.20260115.c9d6f9b22 * [new tag] v0.24.0-preview.0 -> v0.24.0-preview.0 * [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 -> v0.27.0 * [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.27.0-preview.4 -> v0.27.0-preview.4 * [new tag] v0.27.0-preview.5 -> v0.27.0-preview.5 * [new tag] v0.27.0-preview.6 -> v0.27.0-preview.6 * [new tag] v0.27.0-preview.7 -> v0.27.0-preview.7 * [new tag] v0.27.0-preview.8 -> v0.27.0-preview.8 * [new tag] v0.27.1 -> v0.27.1 * [new tag] v0.27.2 -> v0.27.2 * [new tag] v0.27.3 -> v0.27.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 * [new tag] v0.28.0-nightly.20260201.b0f38104d -> v0.28.0-nightly.20260201.b0f38104d * [new tag] v0.28.0-nightly.20260202.707b3e85d -> v0.28.0-nightly.20260202.707b3e85d * [new tag] v0.28.0-preview.0 -> v0.28.0-preview.0 * [new tag] v0.28.0-preview.1 -> v0.28.0-preview.1 * [new tag] v0.28.0-preview.2 -> v0.28.0-preview.2 * [new tag] v0.28.0-preview.3 -> v0.28.0-preview.3 * [new tag] v0.28.0-preview.4 -> v0.28.0-preview.4 * [new tag] v0.28.0-preview.5 -> v0.28.0-preview.5 * [new tag] v0.29.0-nightly.20260205.a3af4a8ca -> v0.29.0-nightly.20260205.a3af4a8ca * [new tag] v0.29.0-nightly.20260206.4ffc349c1 -> v0.29.0-nightly.20260206.4ffc349c1 ==> Validating source files with b2sums... gemini-cli ... Passed ]3008;start=d3c1b7d5933c431b9cade33c531cebb9;user=root;hostname=regice.felixc.at;machineid=01ca1404c26b4b3a80152fb4f25f4ca7;bootid=aa6ae1c133be473eb631a0e970bf46c2;pid=1785025;comm=systemd-nspawn;container=arch-nspawn-1785025;type=container\]11;?\]2;๐Ÿ”ต Container arch-nspawn-1785025 on regice.felixc.at\==> Making package: gemini-cli 1:0.27.3-1 (Sun Feb 8 16:26:31 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?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.6.0-1 59.52 MiB 15.44 MiB Total Download Size: 15.44 MiB Total Installed Size: 66.79 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... nodejs-25.6.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==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (11) New Version Net Change Download Size extra/node-gyp 12.2.0-1 7.84 MiB 1.15 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.3-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.8.0-1 7.06 MiB 1.38 MiB Total Download Size: 2.53 MiB Total Installed Size: 45.58 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... npm-11.8.0-1-any downloading... node-gyp-12.2.0-1-any downloading... 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==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Creating working copy of gemini-cli git repo... Cloning into 'gemini-cli'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead added 1318 packages, and audited 1324 packages in 1m 360 packages are looking for funding run `npm fund` for details 6 vulnerabilities (1 moderate, 5 high) To address all issues, run: npm audit fix Run `npm audit` for details. npm notice npm notice New minor version of npm available! 11.8.0 -> 11.9.0 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0 npm notice To update run: npm install -g npm@11.9.0 npm notice ==> Starting build()... > @google/gemini-cli@0.27.3 bundle > npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js > @google/gemini-cli@0.27.3 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.27.3 prepare > husky && npm run bundle > @google/gemini-cli@0.27.3 bundle > npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js > @google/gemini-cli@0.27.3 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.27.3 npm notice Tarball Contents npm notice 11.4kB LICENSE npm notice 12.1kB 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 42.7kB bundle/docs/changelogs/index.md npm notice 23.0kB bundle/docs/changelogs/latest.md npm notice 20.4kB bundle/docs/changelogs/preview.md npm notice 105B bundle/docs/cli/authentication.md npm notice 3.1kB bundle/docs/cli/checkpointing.md npm notice 17.4kB 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 9.6kB 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 18.2kB bundle/docs/cli/settings.md npm notice 7.3kB bundle/docs/cli/skills.md npm notice 4.6kB 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.0kB bundle/docs/cli/tutorials/skills-getting-started.md npm notice 1.6kB bundle/docs/cli/uninstall.md npm notice 4.8kB bundle/docs/core/index.md npm notice 6.4kB bundle/docs/core/memport.md npm notice 10.6kB bundle/docs/core/policy-engine.md npm notice 2.9kB bundle/docs/core/remote-agents.md npm notice 7.0kB bundle/docs/core/subagents.md npm notice 6.9kB bundle/docs/core/tools-api.md npm notice 2.8kB bundle/docs/examples/proxy-script.md npm notice 3.8kB bundle/docs/extensions/best-practices.md npm notice 1.3kB bundle/docs/extensions/index.md npm notice 11.9kB bundle/docs/extensions/reference.md npm notice 7.4kB bundle/docs/extensions/releasing.md npm notice 11.3kB bundle/docs/extensions/writing-extensions.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 58.6kB 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 16.8kB bundle/docs/hooks/best-practices.md npm notice 8.2kB bundle/docs/hooks/index.md npm notice 12.7kB bundle/docs/hooks/reference.md npm notice 10.9kB 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 4.9kB bundle/docs/sidebar.json npm notice 10.1kB bundle/docs/tools/file-system.md npm notice 4.7kB bundle/docs/tools/index.md npm notice 33.5kB 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.4kB bundle/docs/troubleshooting.md npm notice 23.5MB bundle/gemini.js npm notice 1.5kB bundle/policies/agent.toml npm notice 254B bundle/policies/discovered.toml npm notice 2.3kB 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.27.3 npm notice filename: google-gemini-cli-0.27.3.tgz npm notice package size: 8.8 MB npm notice unpacked size: 37.4 MB npm notice shasum: edfc61713a49f0da1f1581a9c3806f270e8863d6 npm notice integrity: sha512-mGv1Q5A0U+6XY[...]JbaexHw+mxbgw== npm notice bundled deps: 80 npm notice bundled files: 0 npm notice own files: 4495 npm notice total files: 4495 npm notice google-gemini-cli-0.27.3.tgz ==> Starting check()... > @google/gemini-cli@0.27.3 build > node scripts/build.js > @google/gemini-cli@0.27.3 generate > node scripts/generate-git-commit-info.js > @google/gemini-cli-a2a-server@0.27.3 build > node ../../scripts/build_package.js Successfully copied files. > @google/gemini-cli@0.27.3 build > node ../../scripts/build_package.js Successfully copied files. > @google/gemini-cli-core@0.27.3 build > node ../../scripts/build_package.js Successfully copied files. Copied documentation to dist/docs > @google/gemini-cli-test-utils@0.27.3 build > node ../../scripts/build_package.js Successfully copied files. > gemini-cli-vscode-ide-companion@0.27.3 build > npm run build:dev > gemini-cli-vscode-ide-companion@0.27.3 build:dev > npm run check-types && npm run lint && node esbuild.js > gemini-cli-vscode-ide-companion@0.27.3 check-types > tsc --noEmit > gemini-cli-vscode-ide-companion@0.27.3 lint > eslint src [watch] build started [watch] build finished > @google/gemini-cli@0.27.3 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.27.3 test > vitest run RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/a2a-server Coverage enabled with v8 โœ“ src/persistence/gcs.test.ts (12 tests) 236ms โœ“ src/agent/task.test.ts (17 tests) 547ms (node:1659) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) โœ“ src/http/app.test.ts (20 tests) 1732ms โœ“ E2E Tests > should create a new task and stream status updates (text-content) via POST / 451ms โœ“ src/commands/memory.test.ts (7 tests) 111ms โœ“ src/config/settings.test.ts (6 tests) 48ms โœ“ src/commands/init.test.ts (5 tests) 161ms โœ“ src/commands/restore.test.ts (6 tests) 47ms โœ“ src/http/endpoints.test.ts (5 tests) 443ms โœ“ src/config/config.test.ts (6 tests) 61ms โœ“ src/commands/command-registry.test.ts (6 tests) 40ms โœ“ src/commands/extensions.test.ts (8 tests) 33ms Test Files 11 passed (11) Tests 98 passed (98) Start at 16:34:17 Duration 64.15s (transform 11.53s, setup 0ms, collect 138.75s, tests 3.46s, environment 20ms, prepare 8.05s) JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/a2a-server/junit.xml % Coverage report from v8 > @google/gemini-cli@0.27.3 test > vitest run RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/cli Coverage enabled with v8 stdout | src/config/config.test.ts > parseArguments > should set isCommand to true for hooks command Usage: gemini hooks migrate --from-claude Migrate hooks from Claude Code to Gemini CLI format. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should leave proxy to empty by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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  at Module._resolveFilename (node:internal/modules/cjs/loader:1453:15)  at defaultResolveImpl (node:internal/modules/cjs/loader:1064:19)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1069:22)  at Module._load (node:internal/modules/cjs/loader:1239:25)  at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)  at Module.require (node:internal/modules/cjs/loader:1553:12)  at require (node:internal/modules/helpers:152:16) at Object. (/build/gemini-cli/src/gemini-cli/node_modules/node-pty/src/unixTerminal.ts:20:11)  at Module._compile (node:internal/modules/cjs/loader:1809:14)  at Object..js (node:internal/modules/cjs/loader:1940:10) { code: 'MODULE_NOT_FOUND', requireStack: [ '/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' ] } stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [https_proxy] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [http_proxy] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTPS_PROXY] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTP_PROXY] Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > should use default fileFilter options when unconfigured Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig > should be non-interactive when isCommand is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Hierarchical Memory Loading (config.ts) - Placeholder Suite > should pass extension context file paths to loadServerHierarchicalMemory Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Hierarchical Memory Loading (config.ts) - Placeholder Suite > should pass includeDirectories to loadServerHierarchicalMemory when loadMemoryFromIncludeDirectories is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Hierarchical Memory Loading (config.ts) - Placeholder Suite > should NOT pass includeDirectories to loadServerHierarchicalMemory when loadMemoryFromIncludeDirectories is false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeMcpServers > should not modify the original settings object Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should merge excludeTools from settings and extensions Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. (node:1976) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) stdout | src/config/config.test.ts > mergeExcludeTools > should handle overlapping excludeTools between settings and extensions Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should handle overlapping excludeTools between extensions Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should return an empty array when no excludeTools are specified and it is interactive Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should return default excludes when no excludeTools are specified and it is not interactive Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should handle settings with excludeTools but no extensions Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should handle extensions with excludeTools but no settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > mergeExcludeTools > should not modify the original settings object Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with default approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with explicit default approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude only shell tools in non-interactive mode with auto_edit approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with yolo approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with plan approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with legacy yolo flag Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should merge approval mode exclusions with settings exclusions in auto_edit mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should throw an error if YOLO mode is attempted when disableYoloMode is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should throw an error for invalid approval mode values in loadCliConfig Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow all MCP servers if the flag is not provided Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow only the specified MCP server Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow multiple specified MCP servers Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should handle server names that do not exist Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow no MCP servers if the flag is provided but empty Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should read allowMCPServers from settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should read excludeMCPServers from settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should override allowMCPServers with excludeMCPServers if overlapping Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should prioritize mcp server flag if set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should prioritize CLI flag over both allowed and excluded settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig model selection > selects a model from settings.json if provided Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig model selection > uses the default gemini model if nothing is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig model selection > always prefers model from argv Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig model selection > selects the model from argv if provided Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig model selection > selects the default auto model if provided via auto alias Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be false when folderTrust is false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be true when folderTrust is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be false by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig with includeDirectories > should combine and resolve paths from settings and CLI arguments Ignore file not found: /home/user/project/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig compressionThreshold > should pass settings to the core config Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig compressionThreshold > should have default compressionThreshold if not in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be true by default when useRipgrep is not set in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be false when useRipgrep is set to false in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be true when useRipgrep is explicitly set to true in settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings true) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings false) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should prioritize --screen-reader CLI flag (true) over settings (false) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > screenReader configuration > should be false by default when no flag or setting is present Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode without YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude interactive tools in non-interactive mode without YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in non-interactive mode with YOLO Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool" is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude web-fetch in non-interactive mode when not allowed Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude web-fetch in non-interactive mode when allowed Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. โฏ src/ui/components/InputPrompt.test.tsx (150 tests | 1 failed) 16829ms โœ“ InputPrompt > should call shellHistory.getPreviousCommand on up arrow in shell mode 853ms โœ“ InputPrompt > should call shellHistory.getNextCommand on down arrow in shell mode 134ms โœ“ InputPrompt > should set the buffer text when a shell history command is retrieved 258ms โœ“ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 124ms โœ“ InputPrompt > should NOT call shell history methods when not in shell mode 114ms โœ“ InputPrompt > should call completion.navigateUp for both up arrow and Ctrl+P when suggestions are showing 110ms โœ“ InputPrompt > should call completion.navigateDown for both down arrow and Ctrl+N when suggestions are showing 105ms โœ“ InputPrompt > should NOT call completion navigation when suggestions are not showing 68ms โœ“ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 79ms โœ“ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 86ms โœ“ InputPrompt > clipboard image paste > should handle image save failure gracefully 201ms โœ“ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 74ms โœ“ InputPrompt > clipboard image paste > should handle errors during clipboard operations 73ms โœ“ InputPrompt > clipboard text paste > should insert text from clipboard on Ctrl+V 62ms โœ“ InputPrompt > clipboard text paste > should use OSC 52 when useOSC52Paste setting is enabled 60ms โœ“ InputPrompt > 'should complete a partial parent commโ€ฆ' 94ms โœ“ InputPrompt > 'should append a sub-command when pareโ€ฆ' 76ms โœ“ InputPrompt > 'should handle the backspace edge caseโ€ฆ' 94ms โœ“ InputPrompt > 'should complete a partial argument foโ€ฆ' 81ms โœ“ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 80ms โœ“ InputPrompt > should complete a command based on its altNames 71ms โœ“ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 88ms โœ“ InputPrompt > should submit directly on Enter when isPerfectMatch is true 125ms โœ“ InputPrompt > should execute perfect match on Enter even if suggestions are showing, if at first suggestion 83ms โœ“ InputPrompt > should autocomplete and NOT execute on Enter if a DIFFERENT suggestion is selected even if perfect match 88ms โœ“ InputPrompt > should submit directly on Enter when a complete leaf command is typed 83ms โœ“ InputPrompt > should auto-execute commands with autoExecute: true on Enter 90ms โœ“ InputPrompt > should autocomplete commands with autoExecute: false on Enter 76ms โœ“ InputPrompt > should autocomplete on Tab, even for executable commands 70ms โœ“ InputPrompt > should autocomplete custom commands from .toml files on Enter 95ms โœ“ InputPrompt > should auto-execute argument completion when command has autoExecute: true 98ms โœ“ InputPrompt > should autocomplete argument completion when command has autoExecute: false 79ms โœ“ InputPrompt > should autocomplete command name even with autoExecute: true if command has completion function 76ms โœ“ InputPrompt > should autocomplete an @-path on Enter without submitting 132ms โœ“ InputPrompt > should add a newline on enter when the line ends with a backslash 60ms โœ“ InputPrompt > should clear the buffer on Ctrl+C if it has text 63ms โœ“ InputPrompt > should render correctly in plan mode 67ms โœ“ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 60ms โœ“ InputPrompt > should call setBannerVisible(false) when clear screen key is pressed 62ms โœ“ InputPrompt > Background Color Styles > should render with background color by default 110ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is 'black' 104ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#000000' 88ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#000' 83ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is 'default (black)' 133ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is 'white' 129ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#ffffff' 97ms โœ“ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#fff' 129ms โœ“ InputPrompt > Background Color Styles > should NOT render with background color but SHOULD render horizontal lines when color depth is < 24 and background is NOT black 108ms โœ“ InputPrompt > Background Color Styles > should handle 4-bit color mode (16 colors) as low color depth 89ms โœ“ InputPrompt > Background Color Styles > should render horizontal lines (but NO background) in 8-bit mode when background is blue 78ms โœ“ InputPrompt > Background Color Styles > should render with plain borders when useBackgroundColor is false 79ms โœ“ InputPrompt > cursor-based completion trigger > 'should trigger completion when cursorโ€ฆ' 72ms โœ“ InputPrompt > cursor-based completion trigger > 'should trigger completion when cursorโ€ฆ' 67ms โœ“ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cuโ€ฆ' 66ms โœ“ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cuโ€ฆ' 57ms โœ“ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cuโ€ฆ' 72ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle multiline text correctly' 89ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters (emoโ€ฆ' 103ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters withโ€ฆ' 142ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle escaped spaces in pathsโ€ฆ' 69ms โœ“ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion after uโ€ฆ' 58ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle multiple escaped spacesโ€ฆ' 78ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle escaped spaces in slashโ€ฆ' 68ms โœ“ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters withโ€ฆ' 69ms โœ“ InputPrompt > vim mode > 'should not call buffer.handleInput whโ€ฆ' 95ms โœ“ InputPrompt > vim mode > 'should call buffer.handleInput when vโ€ฆ' 73ms โœ“ InputPrompt > vim mode > 'should call handleInput when vim modeโ€ฆ' 59ms โœ“ InputPrompt > unfocused paste > should handle bracketed paste when not focused 75ms โœ“ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 115ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'mid-word' 108ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the beginning of the line' 59ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of the line' 62ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a highlighted token' 68ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'for multi-byte unicode characters' 90ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'after multi-byte unicode characters' 85ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of a line with unicode chaโ€ฆ' 57ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of a short line with unicoโ€ฆ' 60ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on an empty line' 72ms โœ“ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a space between words' 56ms โœ“ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'in the middle of a line' in a multiline block 157ms โœ“ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the beginning of a line' in a multiline block 123ms โœ“ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the end of a line' in a multiline block 72ms โœ“ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor on a blank line in a multiline block 84ms โœ“ InputPrompt > multiline rendering > should correctly render multiline input including blank lines 116ms โœ“ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 96ms โœ“ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 78ms โœ“ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 79ms โœ“ InputPrompt > large paste placeholder > should handle large clipboard paste (lines > 5) by calling buffer.insert 108ms โœ“ InputPrompt > large paste placeholder > should handle large clipboard paste (chars > 500) by calling buffer.insert 78ms โœ“ InputPrompt > large paste placeholder > should handle normal clipboard paste by calling buffer.insert 89ms โœ“ InputPrompt > large paste placeholder > should replace placeholder with actual content on submit 64ms โœ“ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after an unsafe paste 246ms โœ“ InputPrompt > paste auto-submission protection > should allow submission after unsafe paste protection timeout 200ms โœ“ InputPrompt > paste auto-submission protection > should allow immediate submission for a trusted paste ('kitty') 143ms โœ“ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 119ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should clear buffer on Ctrl-C 72ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should submit /rewind on double ESC when buffer is empty 106ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should clear the buffer on esc esc if it has text 70ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should reset escape state on any non-ESC key 108ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should handle ESC in shell mode by disabling shell mode 102ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should handle ESC when completion suggestions are showing 74ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should not call onEscapePromptChange when not provided 73ms โœ“ InputPrompt > enhanced input UX - keyboard shortcuts > should not interfere with existing keyboard shortcuts 69ms โœ“ InputPrompt > reverse search > invokes reverse search on Ctrl+R 102ms โœ“ InputPrompt > reverse search > resets reverse search state on Escape ('standard') 164ms โœ“ InputPrompt > reverse search > resets reverse search state on Escape ('kitty') 94ms โœ“ InputPrompt > reverse search > completes the highlighted entry on Tab and exits reverse-search 204ms โœ“ InputPrompt > reverse search > submits the highlighted entry on Enter and exits reverse-search 145ms โœ“ InputPrompt > reverse search > should restore text and cursor position after reverse search" 167ms โœ“ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 85ms โœ“ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 72ms โœ“ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 105ms โœ“ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 275ms โœ“ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 166ms โœ“ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 125ms โœ“ InputPrompt > Tab focus toggle > 'should toggle focus in on Tab when noโ€ฆ' 82ms โœ“ InputPrompt > Tab focus toggle > 'should accept ghost text and NOT toggโ€ฆ' 93ms โœ“ InputPrompt > Tab focus toggle > 'should NOT toggle focus on Tab when sโ€ฆ' 103ms โœ“ InputPrompt > mouse interaction > should move cursor on mouse click - 'first line, first char' 81ms โœ“ InputPrompt > mouse interaction > should move cursor on mouse click - 'first line, middle char' 78ms โœ“ InputPrompt > mouse interaction > should move cursor on mouse click - 'second line, first char' 84ms โœ“ InputPrompt > mouse interaction > should move cursor on mouse click - 'second line, end char' 104ms โœ“ InputPrompt > mouse interaction > should unfocus embedded shell on click 87ms โœ“ InputPrompt > mouse interaction > should toggle paste expansion on double-click 245ms ร— InputPrompt > mouse interaction > should collapse expanded paste on double-click after the end of the line 1375ms โ†’ expected 'โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ€ฆ' to contain '[Pasted Text: 10 lines]' โœ“ InputPrompt > mouse interaction > should move cursor on mouse click with plain borders 92ms โœ“ InputPrompt > queued message editing > should load all queued messages when up arrow is pressed with empty input 76ms โœ“ InputPrompt > queued message editing > should not load queued messages when input is not empty 105ms โœ“ InputPrompt > queued message editing > should handle undefined messages from popAllMessages 126ms โœ“ InputPrompt > queued message editing > should work with NAVIGATION_UP key as well 102ms โœ“ InputPrompt > queued message editing > should handle single queued message 75ms โœ“ InputPrompt > queued message editing > should only check for queued messages when buffer text is trimmed empty 121ms โœ“ InputPrompt > queued message editing > should not call popAllMessages if it is not provided 129ms โœ“ InputPrompt > queued message editing > should navigate input history on fresh start when no queued messages exist 124ms โœ“ InputPrompt > snapshots > should render correctly in shell mode 75ms โœ“ InputPrompt > snapshots > should render correctly when accepting edits 75ms โœ“ InputPrompt > snapshots > should render correctly in yolo mode 102ms โœ“ InputPrompt > snapshots > should not show inverted cursor when shell is focused 70ms โœ“ InputPrompt > should still allow input when shell is not focused 118ms โœ“ InputPrompt > command queuing while streaming > 'should prevent slash commands' 83ms โœ“ InputPrompt > command queuing while streaming > 'should prevent shell commands' 94ms โœ“ InputPrompt > command queuing while streaming > 'should allow regular messages' 76ms โœ“ InputPrompt > IME Cursor Support > should report correct cursor position for simple ASCII text 126ms โœ“ InputPrompt > IME Cursor Support > should report correct cursor position for text with double-width characters 86ms โœ“ InputPrompt > IME Cursor Support > should report correct cursor position for a line full of "๐Ÿ˜€" emojis 76ms โœ“ InputPrompt > IME Cursor Support > should report correct cursor position for mixed emojis and multi-line input 92ms โœ“ InputPrompt > IME Cursor Support > should report correct cursor position and focus for multi-line input 101ms โœ“ InputPrompt > IME Cursor Support > should report cursor position 0 when input is empty and placeholder is shown 108ms โœ“ InputPrompt > image path transformation snapshots > should snapshot collapsed image path 158ms โœ“ InputPrompt > image path transformation snapshots > should snapshot expanded image path when cursor is on it 87ms stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="run_shell_command" is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool(wc)" is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if isTTY and no prompt Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if prompt-interactive is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if not isTTY and no prompt Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if prompt is set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with other flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with extensions flag Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle multiple positional words correctly Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle multiple positional words with flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle empty positional arguments Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should handle extensions flag with positional arguments correctly Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if no positional prompt words are provided with flags Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should default to DEFAULT approval mode when no flags are set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when -y flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set DEFAULT approval mode when --approval-mode=default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set AUTO_EDIT approval mode when --approval-mode=auto_edit Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > should prioritize --approval-mode over --yolo when both would be valid (but validation prevents this) Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > should set Plan approval mode when --approval-mode=plan is used and experimental.plan is enabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should ignore "yolo" in settings.tools.approvalMode and fall back to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should throw error when --approval-mode=plan is used but experimental.plan is disabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > should throw error when --approval-mode=plan is used but experimental.plan setting is missing Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should remain DEFAULT when --approval-mode=default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should use approvalMode from settings when no CLI flags are set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --approval-mode flag over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stderr | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings YOLO mode is enabled. All tool calls will be automatically approved. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should respect plan mode from settings when experimental.plan is enabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should throw error if plan mode is in settings but experimental.plan is disabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Output format > should default to TEXT Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Output format > should use the format from settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Output format > should prioritize the format from argv Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Output format > should accept stream-json as a valid output format Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_TARGET over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should throw when GEMINI_TELEMETRY_TARGET is invalid Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_ENDPOINT over settings and default env var Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_PROTOCOL over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_LOG_PROMPTS over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OUTFILE over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_USE_COLLECTOR over settings Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should use settings value when GEMINI_TELEMETRY_ENABLED is not set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should use settings value when GEMINI_TELEMETRY_TARGET is not set Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_ENABLED='1' as true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_ENABLED='0' as false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='1' as true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='false' as false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to true when -p flag is used Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to false in interactive mode Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass merged allowed tools from CLI and settings to createPolicyEngineConfig Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass merged exclude tools from CLI logic and settings to createPolicyEngineConfig Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig disableYoloMode > should allow auto_edit mode even if yolo mode is disabled Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. 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. stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should set disableYoloMode to true when secureModeEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should enable MCP by default Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should disable MCP when mcpEnabled is false Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should enable MCP when mcpEnabled is true Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it. โœ“ src/config/config.test.ts (176 tests) 8242ms โœ“ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings 547ms 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"} โฏ src/ui/components/shared/text-buffer.test.ts (213 tests | 2 failed) 25660ms โœ“ textBufferReducer > should return the initial state if state is undefined 38ms โœ“ textBufferReducer > set_text action > should set new text and move cursor to the end 25ms โœ“ textBufferReducer > set_text action > should not create an undo snapshot if pushToUndo is false 10ms โœ“ textBufferReducer > insert action > should insert a character 14ms โœ“ textBufferReducer > insert action > should insert a newline 3ms โœ“ textBufferReducer > insert action with options > should filter input using inputFilter option 8ms โœ“ textBufferReducer > insert action with options > should strip newlines when singleLine option is true 3ms โœ“ textBufferReducer > insert action with options > should apply both inputFilter and singleLine options 3ms โœ“ textBufferReducer > add_pasted_content action > should add content to pastedContent Record 2ms โœ“ textBufferReducer > backspace action > should remove a character 8ms โœ“ textBufferReducer > backspace action > should join lines if at the beginning of a line 3ms โœ“ textBufferReducer > atomic placeholder deletion > paste placeholders > backspace at end of paste placeholder removes entire placeholder 4ms โœ“ textBufferReducer > atomic placeholder deletion > paste placeholders > delete at start of paste placeholder removes entire placeholder 4ms โœ“ textBufferReducer > atomic placeholder deletion > paste placeholders > backspace inside paste placeholder does normal deletion 4ms โœ“ textBufferReducer > atomic placeholder deletion > image placeholders > backspace at end of image path removes entire path 4ms โœ“ textBufferReducer > atomic placeholder deletion > image placeholders > delete at start of image path removes entire path 3ms โœ“ textBufferReducer > atomic placeholder deletion > image placeholders > backspace inside image path does normal deletion 3ms โœ“ textBufferReducer > atomic placeholder deletion > undo behavior > undo after placeholder deletion restores everything 4ms โœ“ textBufferReducer > undo/redo actions > should undo and redo a change 5ms โœ“ textBufferReducer > create_undo_snapshot action > should create a snapshot without changing state 4ms โœ“ textBufferReducer > delete_word_left action > should delete 'simple word' 10ms โœ“ textBufferReducer > delete_word_left action > should delete 'path segment' 3ms โœ“ textBufferReducer > delete_word_left action > should delete 'variable_name parts' 5ms โœ“ textBufferReducer > delete_word_left action > should act like backspace at the beginning of a line 3ms โœ“ textBufferReducer > delete_word_right action > should delete 'simple word' 4ms โœ“ textBufferReducer > delete_word_right action > should delete 'variable_name parts' 4ms โœ“ textBufferReducer > delete_word_right action > should delete path segments progressively 4ms โœ“ textBufferReducer > delete_word_right action > should act like delete at the end of a line 3ms โœ“ textBufferReducer > toggle_paste_expansion action > should expand a placeholder correctly 8ms โœ“ textBufferReducer > toggle_paste_expansion action > should collapse an expanded placeholder correctly 5ms โœ“ textBufferReducer > toggle_paste_expansion action > should expand single-line content correctly 3ms โœ“ textBufferReducer > toggle_paste_expansion action > should return current state if placeholder ID not found in pastedContent 2ms โœ“ textBufferReducer > toggle_paste_expansion action > should preserve expandedPaste when lines change from edits outside the region 4ms โœ“ useTextBuffer > Initialization > should initialize with empty text and cursor at (0,0) by default 105ms โœ“ useTextBuffer > Initialization > should initialize with provided initialText 11ms โœ“ useTextBuffer > Initialization > should initialize with initialText and initialCursorOffset 11ms โœ“ useTextBuffer > Initialization > should wrap visual lines 10ms โœ“ useTextBuffer > Initialization > should wrap visual lines with multiple spaces 10ms โœ“ useTextBuffer > Initialization > should wrap visual lines even without spaces 9ms โœ“ useTextBuffer > Initialization > should initialize with multi-byte unicode characters and correct cursor offset 170ms โœ“ useTextBuffer > Basic Editing > insert: should insert a character and update cursor 15ms โœ“ useTextBuffer > Basic Editing > insert: should insert text in the middle of a line 13ms โœ“ useTextBuffer > Basic Editing > insert: should use placeholder for large text paste 22ms โœ“ useTextBuffer > Basic Editing > insert: should NOT use placeholder for large text if NOT a paste 26ms โœ“ useTextBuffer > Basic Editing > insert: should clean up pastedContent when placeholder is deleted 39ms โœ“ useTextBuffer > Basic Editing > insert: should clean up pastedContent when placeholder is removed via atomic backspace 15ms โœ“ useTextBuffer > Basic Editing > newline: should create a new line and move cursor 39ms โœ“ useTextBuffer > Basic Editing > backspace: should delete char to the left or merge lines 17ms โœ“ useTextBuffer > Basic Editing > del: should delete char to the right or merge lines 15ms โœ“ useTextBuffer > Drag and Drop File Paths > should prepend @ to a valid file path on insert 14ms โœ“ useTextBuffer > Drag and Drop File Paths > should not prepend @ to an invalid file path on insert 13ms โœ“ useTextBuffer > Drag and Drop File Paths > should handle quoted paths 10ms โœ“ useTextBuffer > Drag and Drop File Paths > should not prepend @ to short text that is not a path 11ms โœ“ useTextBuffer > Drag and Drop File Paths > should prepend @ to multiple valid file paths on insert 14ms โœ“ useTextBuffer > Drag and Drop File Paths > should handle multiple paths with escaped spaces 14ms โœ“ useTextBuffer > Drag and Drop File Paths > should only prepend @ to valid paths in multi-path paste 12ms โœ“ useTextBuffer > Shell Mode Behavior > should not prepend @ to valid file paths when shellModeActive is true 10ms โœ“ useTextBuffer > Shell Mode Behavior > should not prepend @ to quoted paths when shellModeActive is true 14ms โœ“ useTextBuffer > Shell Mode Behavior > should behave normally with invalid paths when shellModeActive is true 28ms โœ“ useTextBuffer > Shell Mode Behavior > should behave normally with short text when shellModeActive is true 11ms โœ“ useTextBuffer > Cursor Movement > move: left/right should work within and across visual lines (due to wrapping) 59ms โœ“ useTextBuffer > Cursor Movement > move: up/down should preserve preferred visual column 49ms โœ“ useTextBuffer > Cursor Movement > move: home/end should go to visual line start/end 19ms โœ“ useTextBuffer > Visual Layout & Viewport > should wrap long lines correctly into visualLines 43ms โœ“ useTextBuffer > Visual Layout & Viewport > should update visualScrollRow when visualCursor moves out of viewport 25ms โœ“ useTextBuffer > Undo/Redo > should undo and redo an insert operation 59ms โœ“ useTextBuffer > Undo/Redo > should undo and redo a newline operation 85ms โœ“ useTextBuffer > Unicode Handling > insert: should correctly handle multi-byte unicode characters 40ms โœ“ useTextBuffer > Unicode Handling > backspace: should correctly delete multi-byte unicode characters 34ms โœ“ useTextBuffer > Unicode Handling > move: left/right should treat multi-byte chars as single units for visual cursor 13ms โœ“ useTextBuffer > Unicode Handling > move: up/down should work on wrapped lines (regression test) 37ms โœ“ useTextBuffer > Unicode Handling > moveToVisualPosition: should correctly handle wide characters (Chinese) 20ms โœ“ useTextBuffer > handleInput > should insert printable characters 24ms โœ“ useTextBuffer > handleInput > should handle "Enter" key as newline 21ms โœ“ useTextBuffer > handleInput > should handle Ctrl+J as newline 10ms โœ“ useTextBuffer > handleInput > should do nothing for a tab key press 8ms โœ“ useTextBuffer > handleInput > should do nothing for a shift tab key press 8ms โœ“ useTextBuffer > handleInput > should handle "Backspace" key 10ms โœ“ useTextBuffer > handleInput > should handle multiple delete characters in one input 15ms โœ“ useTextBuffer > handleInput > should handle inserts that contain delete characters 26ms โœ“ useTextBuffer > handleInput > should handle inserts with a mix of regular and delete characters 14ms โœ“ useTextBuffer > handleInput > should handle arrow keys for movement 13ms โœ“ useTextBuffer > handleInput > should strip ANSI escape codes when pasting text 10ms โœ“ useTextBuffer > handleInput > should handle VSCode terminal Shift+Enter as newline 21ms โœ“ useTextBuffer > handleInput > should correctly handle repeated pasting of long text 34ms โœ“ useTextBuffer > replaceRange > should replace a single-line range with single-line text 16ms โœ“ useTextBuffer > replaceRange > should replace a multi-line range with single-line text 11ms โœ“ useTextBuffer > replaceRange > should delete a range when replacing with an empty string 15ms โœ“ useTextBuffer > replaceRange > should handle replacing at the beginning of the text 11ms โœ“ useTextBuffer > replaceRange > should handle replacing at the end of the text 15ms โœ“ useTextBuffer > replaceRange > should handle replacing the entire buffer content 12ms โœ“ useTextBuffer > replaceRange > should correctly replace with unicode characters 15ms โœ“ useTextBuffer > replaceRange > should handle invalid range by returning false and not changing text 30ms โœ“ useTextBuffer > replaceRange > replaceRange: multiple lines with a single character 10ms โœ“ useTextBuffer > replaceRange > should replace a single-line range with multi-line text 12ms โœ“ useTextBuffer > Input Sanitization > should strip 'ANSI escape codes' from input 11ms โœ“ useTextBuffer > Input Sanitization > should strip 'control characters' from input 10ms โœ“ useTextBuffer > Input Sanitization > should strip 'mixed ANSI and control characters' from input 9ms โœ“ useTextBuffer > Input Sanitization > should strip 'pasted text with ANSI' from input 11ms โœ“ useTextBuffer > Input Sanitization > should not strip standard characters or newlines 14ms ร— useTextBuffer > Input Sanitization > should sanitize large text (>5000 chars) and strip unsafe characters 6919ms โ†’ 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 16246ms โ†’ 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 10ms โœ“ useTextBuffer > inputFilter > should filter input based on the provided filter function 10ms โœ“ useTextBuffer > inputFilter > should handle empty result from filter 9ms โœ“ useTextBuffer > inputFilter > should filter pasted text 13ms โœ“ useTextBuffer > inputFilter > should not filter newlines if they are allowed by the filter 12ms โœ“ useTextBuffer > inputFilter > should filter before newline check in insert 9ms โœ“ useTextBuffer > stripAnsi > should correctly strip ANSI escape codes 2ms โœ“ useTextBuffer > stripAnsi > should handle multiple ANSI codes 2ms โœ“ useTextBuffer > stripAnsi > should not modify text without ANSI codes 2ms โœ“ useTextBuffer > stripAnsi > should handle empty string 2ms โœ“ useTextBuffer > Memoization > should keep action references stable across re-renders 12ms โœ“ useTextBuffer > Memoization > should have memoized actions that operate on the latest state 12ms โœ“ useTextBuffer > singleLine mode > should not insert a newline character when singleLine is true 9ms โœ“ useTextBuffer > singleLine mode > should not create a new line when newline() is called and singleLine is true 11ms โœ“ useTextBuffer > singleLine mode > should not handle "Enter" key as newline when singleLine is true 9ms โœ“ useTextBuffer > singleLine mode > should not print anything for function keys when singleLine is true 9ms โœ“ useTextBuffer > singleLine mode > should strip newlines from pasted text when singleLine is true 9ms โœ“ offsetToLogicalPos > should handle 'offset 0' 1ms โœ“ offsetToLogicalPos > should handle 'single line start' 1ms โœ“ offsetToLogicalPos > should handle 'single line middle' 1ms โœ“ offsetToLogicalPos > should handle 'single line end' 1ms โœ“ offsetToLogicalPos > should handle 'beyond end clamps' 1ms โœ“ offsetToLogicalPos > should handle 'empty lines - first char' 1ms โœ“ offsetToLogicalPos > should handle 'empty lines - end of first' 1ms โœ“ offsetToLogicalPos > should handle 'empty lines - empty line' 1ms โœ“ offsetToLogicalPos > should handle 'empty lines - last line start' 1ms โœ“ offsetToLogicalPos > should handle 'empty lines - last line end' 1ms โœ“ offsetToLogicalPos > should handle 'newline end - before newline' 1ms โœ“ offsetToLogicalPos > should handle 'newline end - after newline' 1ms โœ“ offsetToLogicalPos > should handle 'newline end - beyond' 1ms โœ“ offsetToLogicalPos > should handle 'newline start - first line' 1ms โœ“ offsetToLogicalPos > should handle 'newline start - second line' 1ms โœ“ offsetToLogicalPos > should handle 'newline start - middle of second' 1ms โœ“ offsetToLogicalPos > should handle 'empty string at 0' 1ms โœ“ offsetToLogicalPos > should handle 'empty string beyond' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - start' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - after first char' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - end first line' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - second line start' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - second line middle' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - second line end' 1ms โœ“ offsetToLogicalPos > should handle 'unicode - beyond' 1ms โœ“ offsetToLogicalPos > should handle 'at newline - end of line' 1ms โœ“ offsetToLogicalPos > should handle 'at newline - after newline' 1ms โœ“ offsetToLogicalPos > should handle 'emoji - start' 1ms โœ“ offsetToLogicalPos > should handle 'emoji - middle' 1ms โœ“ offsetToLogicalPos > should handle 'emoji - end' 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ +0, +0 ] for 'start of first line' (offset +0) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ +0, 3 ] for 'middle of first line' (offset 3) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ +0, 5 ] for 'end of first line' (offset 5) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 1, +0 ] for 'start of second line' (offset 6) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 1, 2 ] for 'middle of second line' (offset 8) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 1, 5 ] for 'end of second line' (offset 11) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 2, +0 ] for 'start of third line' (offset 12) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 2, 1 ] for 'middle of third line' (offset 13) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'end of third line' (offset 15) 1ms โœ“ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'beyond end' (offset 20) 1ms โœ“ logicalPosToOffset > should convert row/col position to offset correctly 2ms โœ“ logicalPosToOffset > should handle empty lines 2ms โœ“ logicalPosToOffset > should handle single empty line 1ms โœ“ logicalPosToOffset > should be inverse of offsetToLogicalPos 3ms โœ“ logicalPosToOffset > should handle out-of-bounds positions 1ms โœ“ textBufferReducer vim operations > vim_delete_line > should delete a single line including newline in multi-line text 7ms โœ“ textBufferReducer vim operations > vim_delete_line > should delete multiple lines when count > 1 6ms โœ“ textBufferReducer vim operations > vim_delete_line > should clear single line content when only one line exists 2ms โœ“ textBufferReducer vim operations > vim_delete_line > should handle deleting the last line properly 2ms โœ“ textBufferReducer vim operations > vim_delete_line > should handle deleting all lines and maintain valid state for subsequent paste 4ms โœ“ Unicode helper functions > findWordEndInLine with Unicode > should handle combining characters 5ms โœ“ Unicode helper functions > findWordEndInLine with Unicode > should handle precomposed characters with diacritics 1ms โœ“ Unicode helper functions > findWordEndInLine with Unicode > should return null when no word end found 1ms โœ“ Unicode helper functions > findNextWordStartInLine with Unicode > should handle right-to-left text 2ms โœ“ Unicode helper functions > findNextWordStartInLine with Unicode > should handle Chinese characters 1ms โœ“ Unicode helper functions > findNextWordStartInLine with Unicode > should return null at end of line 1ms โœ“ Unicode helper functions > findNextWordStartInLine with Unicode > should handle combining characters 1ms โœ“ Unicode helper functions > findNextWordStartInLine with Unicode > should handle precomposed characters with diacritics 1ms โœ“ Unicode helper functions > isWordCharStrict with Unicode > should return true for ASCII word characters 1ms โœ“ Unicode helper functions > isWordCharStrict with Unicode > should return false for punctuation 1ms โœ“ Unicode helper functions > isWordCharStrict with Unicode > should return true for non-Latin scripts 1ms โœ“ Unicode helper functions > isWordCharStrict with Unicode > should return false for whitespace 1ms โœ“ Unicode helper functions > cpLen with Unicode > should handle combining characters 1ms โœ“ Unicode helper functions > cpLen with Unicode > should handle Chinese and Arabic text 1ms โœ“ Unicode helper functions > useTextBuffer CJK Navigation > should navigate by word in Chinese 62ms โœ“ Unicode helper functions > useTextBuffer CJK Navigation > should navigate mixed English and Chinese 33ms โœ“ Transformation Utilities > getTransformedImagePath > should transform a simple image path 7ms โœ“ Transformation Utilities > getTransformedImagePath > should handle paths with directories 8ms โœ“ Transformation Utilities > getTransformedImagePath > should truncate long filenames 8ms โœ“ Transformation Utilities > getTransformedImagePath > should handle different image extensions 7ms โœ“ Transformation Utilities > getTransformedImagePath > should handle POSIX-style forward-slash paths on any platform 3ms โœ“ Transformation Utilities > getTransformedImagePath > should handle Windows-style backslash paths on any platform 3ms โœ“ Transformation Utilities > getTransformedImagePath > should handle escaped spaces in paths 6ms โœ“ Transformation Utilities > getTransformationsForLine > should find transformations in a line 17ms โœ“ Transformation Utilities > getTransformationsForLine > should handle no transformations 7ms โœ“ Transformation Utilities > getTransformationsForLine > should handle empty line 7ms โœ“ Transformation Utilities > getTransformationsForLine > should keep adjacent image paths as separate transformations 4ms โœ“ Transformation Utilities > getTransformationsForLine > should handle multiple transformations in a row 4ms โœ“ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is inside it 3ms โœ“ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is at start 3ms โœ“ Transformation Utilities > getTransformUnderCursor > should NOT find transformation when cursor is at end 3ms โœ“ Transformation Utilities > getTransformUnderCursor > should return null when cursor is not on a transformation 3ms โœ“ Transformation Utilities > getTransformUnderCursor > should handle empty transformations array 3ms โœ“ Transformation Utilities > getTransformUnderCursor > regression: should not find paste transformation when clicking one character after it 24ms โœ“ Transformation Utilities > calculateTransformedLine > should transform a line with one transformation 9ms โœ“ Transformation Utilities > calculateTransformedLine > should handle cursor inside transformation 8ms โœ“ Transformation Utilities > calculateTransformedLine > should handle line with no transformations 8ms โœ“ Transformation Utilities > calculateTransformedLine > should handle empty line 7ms โœ“ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via setText' 96ms โœ“ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via replaceRange' 22ms โœ“ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when viewport width changes 26ms โœ“ Transformation Utilities > Layout Caching and Invalidation > should correctly handle cursor expansion/collapse in cached layout 24ms โœ“ Transformation Utilities > Layout Caching and Invalidation > should reuse cache for unchanged lines during editing 21ms โœ“ Transformation Utilities > Scroll Regressions > should not show empty viewport when collapsing a large paste that was scrolled 17ms (node:2055) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 retry-attempt listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) โœ“ src/ui/hooks/useGeminiStream.test.tsx (64 tests) 3890ms โœ“ src/config/settings.test.ts (69 tests) 1578ms 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 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:2079) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with memory usage enabled [SessionSummary] No chats directory found 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 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 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 show Workingโ€ฆ in title for redirected commands after 2 mins [SessionSummary] No chats directory found stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Workingโ€ฆ in title for silent non-redirected commands after 1 min [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 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 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 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 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 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 > Agent Configuration Dialog Integration > should initialize with dialog closed and no agent selected [SessionSummary] No chats directory found stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Agent Configuration Dialog Integration > should update state when openAgentConfigDialog is called [SessionSummary] No chats directory found stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Agent Configuration Dialog Integration > should clear state when closeAgentConfigDialog is called [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 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/ui/AppContainer.test.tsx (70 tests) 9482ms โœ“ AppContainer State Management > State Initialization > handles debug mode state 1010ms โœ“ AppContainer State Management > Error Handling > handles config methods that might throw 315ms โœ“ AppContainer State Management > Session Resumption > initializes chat recording service when config has it 360ms โœ“ AppContainer State Management > Session Recording Integration > provides chat recording service configuration 512ms โœ“ AppContainer State Management > Session Recording Integration > handles session recording when messages are added 423ms โœ“ AppContainer State Management > Session Resume Flow > accepts resumed session data 592ms โœ“ AppContainer State Management > Session Resume Flow > does not attempt resume when client is not initialized 334ms (node:2120) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) stderr | src/config/extension.test.ts > extension tests > installExtension > should prompt for settings if promptForSettings Extension "my-local-extension" has missing settings: API Key. Please run "gemini extensions config my-local-extension [setting-name]" to configure them. stderr | src/config/extension.test.ts > extension tests > installExtension > should auto-update if settings have changed Extension "my-auto-update-ext" has missing settings: OLD_SETTING. Please run "gemini extensions config my-auto-update-ext [setting-name]" to configure them. stderr | src/config/extension.test.ts > extension tests > installExtension > should auto-update if settings have changed Extension "my-auto-update-ext" has missing settings: NEW_SETTING. Please run "gemini extensions config my-auto-update-ext [setting-name]" to configure them. โœ“ src/config/extension.test.ts (76 tests) 2681ms โœ“ src/nonInteractiveCli.test.ts (43 tests) 1480ms โœ“ runNonInteractive > should handle cancellation (Ctrl+C) 436ms โœ“ src/ui/hooks/vim.test.tsx (93 tests) 3522ms โœ“ src/utils/sessionCleanup.test.ts (70 tests) 618ms 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 ]0;โ—‡ Ready (cli) ]0;๐Ÿ”ต โ—‡ Ready (cli) \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. Error resuming session: Session not foundstderr | 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. Error: The --prompt-interactive flag cannot be used when input is piped from stdin. 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. Error resuming session: sessionSelector.resolveSession is not a functionstderr | 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. ]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 (33 tests | 1 skipped) 851ms stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should pass through original query if only a lone @ symbol is present Ignore file not found: /tmp/folder-structure-test-DexPJj/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid text file path Ignore file not found: /tmp/folder-structure-test-LFaSZx/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid text file path Ignore file not found: /tmp/folder-structure-test-LFaSZx/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid directory path and convert to glob Ignore file not found: /tmp/folder-structure-test-ZSo1LS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid directory path and convert to glob Ignore file not found: /tmp/folder-structure-test-ZSo1LS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle query with text before and after @command Ignore file not found: /tmp/folder-structure-test-wPxgp9/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle query with text before and after @command Ignore file not found: /tmp/folder-structure-test-wPxgp9/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly unescape paths with escaped spaces Ignore file not found: /tmp/folder-structure-test-7472Dg/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly unescape paths with escaped spaces Ignore file not found: /tmp/folder-structure-test-7472Dg/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references Ignore file not found: /tmp/folder-structure-test-7urMhb/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references Ignore file not found: /tmp/folder-structure-test-7urMhb/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references with interleaved text Ignore file not found: /tmp/folder-structure-test-CGBoro/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references with interleaved text Ignore file not found: /tmp/folder-structure-test-CGBoro/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references Ignore file not found: /tmp/folder-structure-test-rsjfqZ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references Ignore file not found: /tmp/folder-structure-test-rsjfqZ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references Ignore file not found: /tmp/folder-structure-test-rsjfqZ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return original query if all @paths are invalid or lone @ Ignore file not found: /tmp/folder-structure-test-e3zuvA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return original query if all @paths are invalid or lone @ Ignore file not found: /tmp/folder-structure-test-e3zuvA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands Ignore file not found: /tmp/folder-structure-test-zHmjcc/.geminiignore, continue without it. Ignored 1 files: Git-ignored: /tmp/folder-structure-test-zHmjcc/node_modules/package.json stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should process non-git-ignored files normally Ignore file not found: /tmp/folder-structure-test-dbgkQK/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should process non-git-ignored files normally Ignore file not found: /tmp/folder-structure-test-dbgkQK/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files Ignore file not found: /tmp/folder-structure-test-g7T3oM/.geminiignore, continue without it. 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-g7T3oM/.env stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files Ignore file not found: /tmp/folder-structure-test-g7T3oM/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files Ignore file not found: /tmp/folder-structure-test-ZgcpfQ/.geminiignore, continue without it. Ignored 1 files: Git-ignored: /tmp/folder-structure-test-ZgcpfQ/.git/config stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > when recursive file search is disabled > should not use glob search for a nonexistent file Ignore file not found: /tmp/folder-structure-test-rsjLKw/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands Loading ignore patterns from: /tmp/folder-structure-test-zvDQYZ/.geminiignore Ignored 1 files: Gemini-ignored: /tmp/folder-structure-test-zvDQYZ/build/output.js stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process non-ignored files when .geminiignore is present Loading ignore patterns from: /tmp/folder-structure-test-oHH27S/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process non-ignored files when .geminiignore is present Loading ignore patterns from: /tmp/folder-structure-test-oHH27S/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files Loading ignore patterns from: /tmp/folder-structure-test-07dCUM/.geminiignore 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-07dCUM/dist/bundle.js stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files Loading ignore patterns from: /tmp/folder-structure-test-07dCUM/.geminiignore stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'comma' Ignore file not found: /tmp/folder-structure-test-BZxaJW/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'comma' Ignore file not found: /tmp/folder-structure-test-BZxaJW/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'period' Ignore file not found: /tmp/folder-structure-test-G4DQTP/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'period' Ignore file not found: /tmp/folder-structure-test-G4DQTP/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'semicolon' Ignore file not found: /tmp/folder-structure-test-v1BfNd/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'semicolon' Ignore file not found: /tmp/folder-structure-test-v1BfNd/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'exclamation mark' Ignore file not found: /tmp/folder-structure-test-4ghrhZ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'exclamation mark' Ignore file not found: /tmp/folder-structure-test-4ghrhZ/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'question mark' Ignore file not found: /tmp/folder-structure-test-0c5Tbj/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'question mark' Ignore file not found: /tmp/folder-structure-test-0c5Tbj/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening parenthesis' Ignore file not found: /tmp/folder-structure-test-4tWUrn/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening parenthesis' Ignore file not found: /tmp/folder-structure-test-4tWUrn/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing parenthesis' Ignore file not found: /tmp/folder-structure-test-iMUABH/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing parenthesis' Ignore file not found: /tmp/folder-structure-test-iMUABH/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening square bracket' Ignore file not found: /tmp/folder-structure-test-xdQ3nL/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening square bracket' Ignore file not found: /tmp/folder-structure-test-xdQ3nL/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing square bracket' Ignore file not found: /tmp/folder-structure-test-iYNXYU/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing square bracket' Ignore file not found: /tmp/folder-structure-test-iYNXYU/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening curly brace' Ignore file not found: /tmp/folder-structure-test-5dGODn/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening curly brace' Ignore file not found: /tmp/folder-structure-test-5dGODn/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing curly brace' Ignore file not found: /tmp/folder-structure-test-wTgq25/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing curly brace' Ignore file not found: /tmp/folder-structure-test-wTgq25/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle multiple @paths terminated by different punctuation Ignore file not found: /tmp/folder-structure-test-UV9qdS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle multiple @paths terminated by different punctuation Ignore file not found: /tmp/folder-structure-test-UV9qdS/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should still handle escaped spaces in paths before punctuation Ignore file not found: /tmp/folder-structure-test-aUnvmF/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should still handle escaped spaces in paths before punctuation Ignore file not found: /tmp/folder-structure-test-aUnvmF/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should not break file paths with periods in extensions Ignore file not found: /tmp/folder-structure-test-Lqq5CM/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should not break file paths with periods in extensions Ignore file not found: /tmp/folder-structure-test-Lqq5CM/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle file paths ending with period followed by space Ignore file not found: /tmp/folder-structure-test-c1eZkP/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle file paths ending with period followed by space Ignore file not found: /tmp/folder-structure-test-c1eZkP/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle comma termination with complex file paths Ignore file not found: /tmp/folder-structure-test-wYCI6N/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle comma termination with complex file paths Ignore file not found: /tmp/folder-structure-test-wYCI6N/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should correctly handle file paths with multiple periods Ignore file not found: /tmp/folder-structure-test-XE5NJO/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should correctly handle file paths with multiple periods Ignore file not found: /tmp/folder-structure-test-XE5NJO/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle end of string termination for period and comma Ignore file not found: /tmp/folder-structure-test-f8tzAG/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle end of string termination for period and comma Ignore file not found: /tmp/folder-structure-test-f8tzAG/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle files with special characters in names Ignore file not found: /tmp/folder-structure-test-J8UaS1/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle files with special characters in names Ignore file not found: /tmp/folder-structure-test-J8UaS1/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle basic file names without special characters Ignore file not found: /tmp/folder-structure-test-ssvghA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle basic file names without special characters Ignore file not found: /tmp/folder-structure-test-ssvghA/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute file paths correctly Ignore file not found: /tmp/folder-structure-test-gLZeBy/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute file paths correctly Ignore file not found: /tmp/folder-structure-test-gLZeBy/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute directory paths correctly Ignore file not found: /tmp/folder-structure-test-6D45Fg/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute directory paths correctly Ignore file not found: /tmp/folder-structure-test-6D45Fg/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should skip absolute paths outside workspace Ignore file not found: /tmp/folder-structure-test-kqx6bl/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should not add the user's turn to history, as that is the caller's responsibility Ignore file not found: /tmp/folder-structure-test-FElYX6/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should not add the user's turn to history, as that is the caller's responsibility Ignore file not found: /tmp/folder-structure-test-FElYX6/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > attaches MCP resource content when @serverName:uri matches registry Ignore file not found: /tmp/folder-structure-test-LIv7oV/.geminiignore, continue without it. stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable Ignore file not found: /tmp/folder-structure-test-J9TNHD/.geminiignore, continue without it. stderr | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable [ "Error reading resource resource://server-1/logs: MCP client for server 'server-1' is not available or not connected." ] stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return error if the read_many_files tool is cancelled by user Ignore file not found: /tmp/folder-structure-test-LInx3a/.geminiignore, continue without it. โœ“ src/ui/hooks/atCommandProcessor.test.ts (45 tests) 2839ms โœ“ handleAtCommand > should process a valid text file path 675ms โœ“ src/services/FileCommandLoader.test.ts (44 tests) 1431ms โœ“ FileCommandLoader > loads a single command from a file 394ms 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: true โœ“ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 209ms โœ“ src/ui/contexts/KeypressContext.test.tsx (98 tests) 1610ms โœ“ KeypressContext > Enter key handling > should recognize 'regular enter key (keycode 13)' in kitty protocol 305ms 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: true stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex State Management > should track modified settings correctly [DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: true [DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: true 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: true 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: true 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: true [DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: false [DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: true [DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: false [DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: true 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: true [DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: false [DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: true โœ“ src/utils/settingsUtils.test.ts (73 tests) 257ms 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: true [DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: true [DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: true stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > String Settings Editing > should allow editing and committing a string setting [DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: true [DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: true โœ“ src/ui/hooks/useToolScheduler.test.ts (23 tests) 854ms โœ“ src/ui/hooks/useSlashCompletion.test.ts (25 tests) 1034ms โฏ src/ui/components/SettingsDialog.test.tsx (58 tests | 33 failed) 47205ms โœ“ SettingsDialog > Initial Rendering > should render the settings dialog with default state 1129ms ร— SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors 787ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Initial Rendering > should render settings list with visual indicators 718ms โ†’ Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched ร— SettingsDialog > Initial Rendering > should use almost full height of the window but no more when the window height is 25 rows 1262ms โ†’ expected 117 to be less than or equal to 25 ร— SettingsDialog > Setting Descriptions > should render descriptions for settings that have them 685ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' ร— SettingsDialog > Settings Navigation > should navigate with 'arrow keys' 556ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' ร— SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)' 487ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' ร— SettingsDialog > Settings Navigation > wraps around when at the top of the list 1927ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Hook Notifications' ร— SettingsDialog > Settings Toggling > should toggle setting with Enter key 1744ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Preview Features (e.g., models)' โœ“ SettingsDialog > Settings Toggling > enum values > 'toggles to next value' 319ms โœ“ SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end' 291ms โœ“ SettingsDialog > Settings Toggling > should handle vim mode setting specially 895ms โœ“ SettingsDialog > Scope Selection > should switch between scopes 1229ms ร— SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 1551ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' โœ“ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 630ms โœ“ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 700ms ร— SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 1518ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' โœ“ SettingsDialog > Settings Persistence > should persist settings across scope changes 916ms ร— SettingsDialog > Settings Persistence > should show different values for different scopes 355ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' โœ“ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 775ms โœ“ SettingsDialog > Complex State Management > should track modified settings correctly 519ms โœ“ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 581ms โœ“ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 665ms ร— SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states 369ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' โœ“ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 718ms โœ“ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 345ms โœ“ SettingsDialog > Specific Settings Behavior > should clear restart prompt when switching scopes 393ms ร— SettingsDialog > Settings Display Values > should show correct values for inherited settings 299ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Settings Display Values > should show override indicator for overridden settings 555ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' โœ“ SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโ€ฆ' 689ms โœ“ SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโ€ฆ' 408ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 804ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+C' to reset current setting to default 385ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+L' to reset current setting to default 545ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 785ms ร— SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 1489ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' ร— SettingsDialog > Error Recovery > should handle malformed settings gracefully 383ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Error Recovery > should handle missing setting definitions gracefully 385ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 1394ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' โœ“ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 588ms โœ“ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 1121ms โœ“ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 691ms ร— SettingsDialog > Restart and Search Conflict Regression > should prioritize restart request over search text box when showRestartPrompt is true 1305ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Show Color' ร— SettingsDialog > Restart and Search Conflict Regression > should hide search box when showRestartPrompt is true 440ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Search to filter' โœ“ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 1629ms ร— SettingsDialog > Search Functionality > should display text entered in search 319ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Search to filter' ร— SettingsDialog > Search Functionality > should show search query and filter settings as user types 1643ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'yolo' ร— SettingsDialog > Search Functionality > should exit search settings when Escape is pressed 1823ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'vim' ร— SettingsDialog > Search Functionality > should handle backspace to modify search query 1756ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'vimm' ร— SettingsDialog > Search Functionality > should display nothing when search yields no results 1912ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'nonexistentsetting' ร— SettingsDialog > Snapshot Tests > should render 'default state' correctly 318ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 333ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 505ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 663ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 656ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 441ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 469ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 393ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched 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 โœ“ src/ui/commands/extensionsCommand.test.ts (49 tests) 1156ms โœ“ src/ui/hooks/slashCommandProcessor.test.tsx (35 tests) 1794ms โœ“ useSlashCommandProcessor > Console Clear Safety > should not call console.clear if alternate buffer is active 313ms โœ“ src/ui/hooks/useSelectionList.test.tsx (47 tests) 657ms โœ“ src/ui/commands/hooksCommand.test.ts (34 tests) 1052ms โœ“ src/services/prompt-processors/shellProcessor.test.ts (34 tests) 587ms โœ“ src/config/extensions/extensionSettings.test.ts (26 tests) 520ms โœ“ src/ui/commands/chatCommand.test.ts (33 tests) 883ms (node:2567) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) โœ“ src/ui/hooks/useQuotaAndFallback.test.ts (18 tests) 608ms โœ“ src/ui/hooks/shellCommandProcessor.test.tsx (20 tests) 499ms stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should create a new session [STARTUP] StartupProfiler.flush() called with 0 phases stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should create a new session with mcp servers [STARTUP] StartupProfiler.flush() called with 0 phases stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should handle authentication failure gracefully [STARTUP] StartupProfiler.flush() called with 0 phases stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should initialize file system service if client supports it [STARTUP] StartupProfiler.flush() called with 0 phases stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should cancel a session [STARTUP] StartupProfiler.flush() called with 0 phases stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should delegate prompt to session [STARTUP] StartupProfiler.flush() called with 0 phases 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"} 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. โœ“ src/zed-integration/zedIntegration.test.ts (20 tests) 568ms โœ“ src/utils/sessions.test.ts (17 tests) 195ms โฏ src/ui/components/AskUserDialog.test.tsx (25 tests | 6 failed) 17989ms โœ“ AskUserDialog > renders question and options 671ms โœ“ AskUserDialog > Submission: 'Single Select' > submits correct values for Single Select 576ms โœ“ AskUserDialog > Submission: 'Multi-select' > submits correct values for Multi-select 1236ms โœ“ AskUserDialog > Submission: 'Text Input' > submits correct values for Text Input 494ms ร— AskUserDialog > handles custom option in single select with inline typing 2086ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Enter a custom value' ร— AskUserDialog > navigates to custom option when typing unbound characters (Type-to-Jump) 1514ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain '3. A' ร— AskUserDialog > shows progress header for multiple questions 1398ms โ†’ Snapshot `AskUserDialog > shows progress header for multiple questions 1` mismatched ร— AskUserDialog > hides progress header for single question 1482ms โ†’ Snapshot `AskUserDialog > hides progress header for single question 1` mismatched ร— AskUserDialog > shows keyboard hints 1748ms โ†’ Snapshot `AskUserDialog > shows keyboard hints 1` mismatched โœ“ AskUserDialog > navigates between questions with arrow keys 637ms โœ“ AskUserDialog > preserves answers when navigating back 1024ms ร— AskUserDialog > shows Review tab in progress header for multiple questions 976ms โ†’ Snapshot `AskUserDialog > shows Review tab in progress header for multiple questions 1` mismatched โœ“ AskUserDialog > allows navigating to Review tab and back 466ms โœ“ AskUserDialog > shows warning for unanswered questions on Review tab 308ms โœ“ AskUserDialog > submits with unanswered questions when user confirms on Review 355ms โœ“ AskUserDialog > Text type questions > renders text input for type: "text" 50ms โœ“ AskUserDialog > Text type questions > shows default placeholder when none provided 91ms โœ“ AskUserDialog > Text type questions > supports backspace in text mode 151ms โœ“ AskUserDialog > Text type questions > shows correct keyboard hints for text type 59ms โœ“ AskUserDialog > Text type questions > preserves text answer when navigating between questions 765ms โœ“ AskUserDialog > Text type questions > handles mixed text and choice questions 710ms โœ“ AskUserDialog > Text type questions > does not submit empty text 76ms โœ“ AskUserDialog > Text type questions > clears text on Ctrl+C 507ms โœ“ AskUserDialog > Text type questions > allows immediate arrow navigation after switching away from text input 301ms โœ“ AskUserDialog > Text type questions > handles rapid sequential answers correctly (stale closure protection) 294ms 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/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/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/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/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 allow write_file to plans directory in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/my-plan.md"} [PolicyEngine.check] MATCHED rule: toolName=write_file, decision=allow, priority=1.05, argsPattern="file_path":"[^"]+\/\.gemini\/tmp\/[a-f0-9]{64}\/plans\/[a-zA-Z0-9_-]+\.md" stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should allow write_file to plans directory in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/feature_auth.md"} [PolicyEngine.check] MATCHED rule: toolName=write_file, decision=allow, priority=1.05, argsPattern="file_path":"[^"]+\/\.gemini\/tmp\/[a-f0-9]{64}\/plans\/[a-zA-Z0-9_-]+\.md" stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should deny write_file outside plans directory in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/project/src/file.ts"} [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 deny write_file outside plans directory in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/script.js"} [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 deny write_file outside plans directory in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/../../../etc/passwd.md"} [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 deny write_file outside plans directory in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/abc123/plans/plan.md"} [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 deny write_file to subdirectories in Plan mode [PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/subdir/plan.md"} [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/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 โœ“ src/config/policy-engine.integration.test.ts (16 tests) 869ms โœ“ src/ui/hooks/useApprovalModeIndicator.test.ts (18 tests) 449ms (node:2723) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [EventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) โœ“ src/config/extensions/github.test.ts (33 tests) 409ms โœ“ src/utils/errors.test.ts (29 tests) 244ms 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 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. useMemo useMemo 57. useCallback useCallback 58. useCallback useCallback 59. useCallback useCallback 60. useCallback useCallback 61. useCallback useCallback 62. useCallback useCallback 63. useCallback useCallback 64. useCallback useCallback 65. useMemo useMemo 66. useState useState 67. useState useState 68. useState useState 69. useState useState 70. useState useState 71. useState useState 72. useCallback useCallback 73. useCallback useCallback 74. useCallback useCallback 75. useMemo useMemo 76. 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) 1204ms 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 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 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 โœ“ src/config/extensions/extensionEnablement.test.ts (48 tests) 314ms โœ“ src/ui/commands/skillsCommand.test.ts (19 tests) 557ms 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) 347ms โฏ src/ui/components/messages/ToolGroupMessage.test.tsx (21 tests | 6 failed) 5204ms โœ“ > Golden Snapshots > renders single successful tool call 548ms โœ“ > Golden Snapshots > renders multiple tool calls with different statuses 323ms ร— > Golden Snapshots > renders tool call awaiting confirmation 607ms โ†’ Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched โœ“ > Golden Snapshots > renders shell command with yellow border 365ms โœ“ > Golden Snapshots > renders mixed tool calls including shell command 567ms ร— > Golden Snapshots > renders with limited terminal height 203ms โ†’ Snapshot ` > Golden Snapshots > renders with limited terminal height 1` mismatched โœ“ > Golden Snapshots > renders when not focused 110ms โœ“ > Golden Snapshots > renders with narrow terminal width 188ms โœ“ > Golden Snapshots > renders empty tool calls array 32ms โœ“ > Golden Snapshots > renders header when scrolled 244ms โœ“ > Golden Snapshots > renders tool call with outputFile 147ms โœ“ > Golden Snapshots > renders two tool groups where only the last line of the previous group is visible 179ms โœ“ > Border Color Logic > uses yellow border when tools are pending 147ms โœ“ > Border Color Logic > uses yellow border for shell commands even when successful 155ms โœ“ > Border Color Logic > uses gray border when all tools are successful and no shell commands 294ms ร— > Height Calculation > calculates available height correctly with multiple tools with results 322ms โ†’ Snapshot ` > Height Calculation > calculates available height correctly with multiple tools with results 1` mismatched ร— > Confirmation Handling > shows confirmation dialog for first confirming tool only 289ms โ†’ Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched ร— > Confirmation Handling > renders confirmation with permanent approval enabled 231ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Allow for all future sessions' ร— > Confirmation Handling > renders confirmation with permanent approval disabled 138ms โ†’ Snapshot ` > Confirmation Handling > renders confirmation with permanent approval disabled 1` mismatched โœ“ > Event-Driven Scheduler > hides confirming tools when event-driven scheduler is enabled 25ms โœ“ > Event-Driven Scheduler > shows only successful tools when mixed with confirming tools 66ms โœ“ src/utils/sessionUtils.test.ts (20 tests) 231ms stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to BaseSettingsDialog inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to BaseSettingsDialog inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures 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/BaseSettingsDialog.test.tsx (27 tests | 10 failed) 14753ms โœ“ BaseSettingsDialog > rendering > should render the dialog with title 480ms โœ“ BaseSettingsDialog > rendering > should render all items 104ms ร— BaseSettingsDialog > rendering > should render help text with Ctrl+L for reset 868ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Use Enter to select' ร— BaseSettingsDialog > rendering > should render scope selector when showScopeSelector is true 596ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Apply To' โœ“ BaseSettingsDialog > rendering > should not render scope selector when showScopeSelector is false 170ms ร— BaseSettingsDialog > rendering > should render footer content when provided 459ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Custom Footer' โœ“ BaseSettingsDialog > keyboard navigation > should close dialog on Escape 187ms ร— BaseSettingsDialog > keyboard navigation > should navigate down with arrow key 447ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Boolean Setting' โœ“ BaseSettingsDialog > keyboard navigation > should navigate up with arrow key 406ms โœ“ BaseSettingsDialog > keyboard navigation > should wrap around when navigating past last item 209ms โœ“ BaseSettingsDialog > keyboard navigation > should wrap around when navigating before first item 230ms ร— BaseSettingsDialog > keyboard navigation > should switch focus with Tab when scope selector is shown 303ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain '> Test Settings' ร— BaseSettingsDialog > scrolling and resizing list (search filtering) > should preserve focus on the active item if it remains in the filtered list 2067ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Boolean Setting' ร— BaseSettingsDialog > scrolling and resizing list (search filtering) > should reset focus to the top if the active item is filtered out 1845ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Boolean Setting' โœ“ BaseSettingsDialog > item interactions > should call onItemToggle for boolean items on Enter 209ms โœ“ BaseSettingsDialog > item interactions > should call onItemToggle for enum items on Enter 160ms ร— BaseSettingsDialog > item interactions > should enter edit mode for string items on Enter 1302ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'test-value' ร— BaseSettingsDialog > item interactions > should enter edit mode for number items on Enter 1199ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain '42' โœ“ BaseSettingsDialog > item interactions > should call onItemClear on Ctrl+L 107ms โœ“ BaseSettingsDialog > edit mode > should commit edit on Enter 361ms โœ“ BaseSettingsDialog > edit mode > should commit edit on Escape 231ms โœ“ BaseSettingsDialog > edit mode > should commit edit and navigate on Down arrow 394ms โœ“ BaseSettingsDialog > edit mode > should commit edit and navigate on Up arrow 266ms โœ“ BaseSettingsDialog > edit mode > should allow number input for number fields 351ms โœ“ BaseSettingsDialog > edit mode > should support quick number entry for number fields 160ms โœ“ BaseSettingsDialog > custom key handling > should call onKeyPress and respect its return value 96ms ร— BaseSettingsDialog > focus management > should keep focus on settings when scope selector is hidden 1524ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain '> Test Settings' โœ“ src/services/McpPromptLoader.test.ts (31 tests) 210ms โœ“ src/config/settingsSchema.test.ts (22 tests) 229ms (node:2992) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) โœ“ src/validateNonInterActiveAuth.test.ts (17 tests) 207ms โฏ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests | 10 failed) 9493ms โœ“ BaseSelectionList > Rendering and Structure > should render all items using the renderItem prop 418ms โœ“ BaseSelectionList > Rendering and Structure > should render the selection indicator (โ— or space) and layout 56ms โœ“ BaseSelectionList > Rendering and Structure > should handle an empty list gracefully 34ms โœ“ BaseSelectionList > useSelectionList Integration > should pass props correctly to useSelectionList 63ms โœ“ BaseSelectionList > useSelectionList Integration > should use the activeIndex returned by the hook 129ms โœ“ BaseSelectionList > Styling and Colors > should apply success color to the selected item 193ms โœ“ BaseSelectionList > Styling and Colors > should apply primary color to unselected, enabled items 78ms โœ“ BaseSelectionList > Styling and Colors > should apply secondary color to disabled items (when not selected) 131ms โœ“ BaseSelectionList > Styling and Colors > should apply success color to disabled items if they are selected 106ms โœ“ BaseSelectionList > Numbering (showNumbers) > should show numbers by default with correct formatting 62ms โœ“ BaseSelectionList > Numbering (showNumbers) > should hide numbers when showNumbers is false 55ms โœ“ BaseSelectionList > Numbering (showNumbers) > should apply correct padding for alignment in long lists 390ms โœ“ BaseSelectionList > Numbering (showNumbers) > should apply secondary color to numbers if showNumbers is false (internal logic check) 43ms ร— BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially 151ms โ†’ 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 1163ms โ†’ 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 1207ms โ†’ 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 1125ms โ†’ 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 98ms โ†’ 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 59ms โœ“ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item when scrolled (high index) 96ms ร— BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length 186ms โ†’ expected 'โ— 1. I\n t\n e\n m\n โ€ฆ' to contain 'Item 1' โœ“ BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows by default 47ms ร— BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top) 1161ms โ†’ 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 1174ms โ†’ 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 1130ms โ†’ 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 117ms โ†’ expected 'โ–ฒ\nโ— 1. I\n t\n e\n m\n โ€ฆ' to contain 'Item A' โœ“ src/ui/commands/directoryCommand.test.tsx (21 tests) 150ms โœ“ src/ui/utils/clipboardUtils.test.ts (34 tests) 947ms โœ“ src/config/trustedFolders.test.ts (23 tests) 186ms โœ“ src/ui/hooks/useToolExecutionScheduler.test.ts (9 tests) 271ms (node:3092) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-client-update listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) 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) 1174ms โœ“ Composer > Footer Display Settings > renders Footer by default when hideFooter is false 332ms 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 | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures 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/sandbox.test.ts (7 tests) 190ms stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures 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/commands/memoryCommand.test.ts (11 tests) 252ms โœ“ src/commands/hooks/migrate.test.ts (17 tests) 419ms โœ“ src/ui/commands/agentsCommand.test.ts (20 tests) 369ms โœ“ src/ui/hooks/useSessionResume.test.ts (12 tests) 408ms โœ“ src/config/extensions/consent.test.ts (20 tests) 300ms 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 โœ“ src/ui/auth/AuthDialog.test.tsx (24 tests) 3319ms โœ“ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'in Cloud Shell' 936ms โœ“ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'with GEMINI_CLI_USE_COMPUTE_ADC' 307ms โœ“ src/utils/installationInfo.test.ts (17 tests) 87ms โœ“ src/ui/keyMatchers.test.ts (55 tests) 150ms โœ“ src/ui/components/StatsDisplay.test.tsx (14 tests) 2275ms โœ“ > renders only the Performance section in its zero state 646ms โœ“ src/ui/utils/rewindFileOps.test.ts (9 tests) 279ms โœ“ src/config/settings-validation.test.ts (25 tests) 234ms โœ“ src/utils/handleAutoUpdate.test.ts (19 tests) 271ms โœ“ src/ui/contexts/ScrollProvider.test.tsx (9 tests) 400ms 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) 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/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/commands/mcp/add.test.ts > mcp add command > should handle MCP server args with -- separator MCP server "my-server" added to project settings. (stdio) 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/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) 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) 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) โฏ src/ui/components/shared/ScrollableList.test.tsx (4 tests | 4 failed) 3448ms ร— ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up 1074ms โ†’ expected '\n โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Item 1001' ร— ScrollableList Demo Behavior > should display sticky header when scrolled past the item 1126ms โ†’ 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 73ms โ†’ expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0' ร— ScrollableList Demo Behavior > Width Prop > should apply the width prop to the container 1167ms โ†’ expected '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' to contain 'Item 1' 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) 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) 700ms โœ“ src/ui/hooks/usePermissionsModifyTrust.test.ts (13 tests) 282ms โœ“ src/services/CommandService.test.ts (11 tests) 99ms โœ“ src/ui/hooks/useMessageQueue.test.tsx (15 tests) 342ms โฏ src/ui/components/messages/ToolMessage.test.tsx (19 tests | 1 failed) 3894ms โœ“ > renders basic tool information 710ms โœ“ > JSON rendering > pretty prints valid JSON 212ms โœ“ > JSON rendering > renders pretty JSON in ink frame 189ms โœ“ > JSON rendering > uses JSON renderer even when renderOutputAsMarkdown=true is true 106ms โœ“ > JSON rendering > falls back to plain text for malformed JSON 91ms โœ“ > JSON rendering > rejects mixed text + JSON renders as plain text 102ms โœ“ > JSON rendering > rejects ANSI-tained JSON renders as plain text 94ms โœ“ > JSON rendering > pretty printing 10kb JSON completes in <50ms 1424ms โœ“ > ToolStatusIndicator rendering > shows โœ“ for Success status 75ms โœ“ > ToolStatusIndicator rendering > shows o for Pending status 80ms โœ“ > ToolStatusIndicator rendering > shows ? for Confirming status 111ms โœ“ > ToolStatusIndicator rendering > shows - for Canceled status 63ms โœ“ > ToolStatusIndicator rendering > shows x for Error status 61ms โœ“ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is Idle 59ms โœ“ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is WaitingForConfirmation 66ms โœ“ > ToolStatusIndicator rendering > shows MockRespondingSpinner for Executing status when streamingState is Responding 68ms โœ“ > renders DiffRenderer for diff results 84ms ร— > renders emphasis correctly 157ms โ†’ Snapshot ` > renders emphasis correctly 1` mismatched โœ“ > renders AnsiOutputText for AnsiOutput results 133ms โœ“ src/services/BuiltinCommandLoader.test.ts (13 tests) 1287ms โœ“ BuiltinCommandLoader profile > should not include profile command when isDevelopment is false 391ms โœ“ BuiltinCommandLoader profile > should include profile command when isDevelopment is true 798ms โœ“ src/utils/commentJson.test.ts (12 tests) 127ms โœ“ src/ui/hooks/usePhraseCycler.test.tsx (12 tests) 1119ms โœ“ usePhraseCycler > should initialize with a witty phrase when not active and not waiting 428ms โฏ src/ui/components/Footer.test.tsx (21 tests | 4 failed) 1921ms โœ“