==> Building on regice ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/gemini-cli ./ .SRCINFO 591 100% 0.00kB/s 0:00:00 591 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,279 100% 1.22MB/s 0:00:00 1,279 100% 1.22MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) gemini-cli-1:0.22.4-1.log 777 100% 758.79kB/s 0:00:00 777 100% 758.79kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,601 bytes received 186 bytes 1,858.00 bytes/sec total size is 3,149 speedup is 1.13 ==> Patching arch to riscv64... ==> Running pkgctl build --arch riscv64 --repo extra on remote host... ==> WARNING: unsupported architecture: riscv64 ==> Building gemini-cli  -> repo: extra  -> arch: riscv64  -> worker: felix-1 ==> Building gemini-cli for [extra] (riscv64) ]2;๐Ÿ”ต Container arch-nspawn-230378 on regice.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-1]...done ==> Making package: gemini-cli 1:0.22.4-1 (Thu Jan 1 07:23:19 2026) ==> Retrieving sources...  -> Cloning gemini-cli git repo... Cloning into bare repository '/home/felix/packages/gemini-cli/gemini-cli'... remote: Enumerating objects: 331483, done. remote: Counting objects: 0% (1/1017) remote: Counting objects: 1% (11/1017) remote: Counting objects: 2% (21/1017) remote: Counting objects: 3% (31/1017) remote: Counting objects: 4% (41/1017) remote: Counting objects: 5% (51/1017) remote: Counting objects: 6% (62/1017) remote: Counting objects: 7% (72/1017) remote: Counting objects: 8% (82/1017) remote: Counting objects: 9% (92/1017) remote: Counting objects: 10% (102/1017) remote: Counting objects: 11% (112/1017) remote: Counting objects: 12% (123/1017) remote: Counting objects: 13% (133/1017) remote: Counting objects: 14% (143/1017) remote: Counting objects: 15% (153/1017) remote: Counting objects: 16% (163/1017) remote: Counting objects: 17% (173/1017) remote: Counting objects: 18% (184/1017) remote: Counting objects: 19% (194/1017) remote: Counting objects: 20% (204/1017) remote: Counting objects: 21% (214/1017) remote: Counting objects: 22% (224/1017) remote: Counting objects: 23% (234/1017) remote: Counting objects: 24% (245/1017) remote: Counting objects: 25% (255/1017) remote: Counting objects: 26% (265/1017) remote: Counting objects: 27% (275/1017) remote: Counting objects: 28% (285/1017) remote: Counting objects: 29% (295/1017) remote: Counting objects: 30% (306/1017) remote: Counting objects: 31% (316/1017) remote: Counting objects: 32% (326/1017) remote: Counting objects: 33% (336/1017) remote: Counting objects: 34% (346/1017) remote: Counting objects: 35% (356/1017) remote: Counting objects: 36% (367/1017) remote: Counting objects: 37% (377/1017) remote: Counting objects: 38% (387/1017) remote: Counting objects: 39% (397/1017) remote: Counting objects: 40% (407/1017) remote: Counting objects: 41% (417/1017) remote: Counting objects: 42% (428/1017) remote: Counting objects: 43% (438/1017) remote: Counting objects: 44% (448/1017) remote: Counting objects: 45% (458/1017) remote: Counting objects: 46% (468/1017) remote: Counting objects: 47% (478/1017) remote: Counting objects: 48% (489/1017) remote: Counting objects: 49% (499/1017) remote: Counting objects: 50% (509/1017) remote: Counting objects: 51% (519/1017) remote: Counting objects: 52% (529/1017) remote: Counting objects: 53% (540/1017) remote: Counting objects: 54% (550/1017) remote: Counting objects: 55% (560/1017) remote: Counting objects: 56% (570/1017) remote: Counting objects: 57% (580/1017) remote: Counting objects: 58% (590/1017) remote: Counting objects: 59% (601/1017) remote: Counting objects: 60% (611/1017) remote: Counting objects: 61% (621/1017) remote: Counting objects: 62% (631/1017) remote: Counting objects: 63% (641/1017) remote: Counting objects: 64% (651/1017) remote: Counting objects: 65% (662/1017) remote: Counting objects: 66% (672/1017) remote: Counting objects: 67% (682/1017) remote: Counting objects: 68% (692/1017) remote: Counting objects: 69% (702/1017) remote: Counting objects: 70% (712/1017) remote: Counting objects: 71% (723/1017) remote: Counting objects: 72% (733/1017) remote: Counting objects: 73% (743/1017) remote: Counting objects: 74% (753/1017) remote: Counting objects: 75% (763/1017) remote: Counting objects: 76% (773/1017) remote: Counting objects: 77% (784/1017) remote: Counting objects: 78% (794/1017) remote: Counting objects: 79% (804/1017) remote: Counting objects: 80% (814/1017) remote: Counting objects: 81% (824/1017) remote: Counting objects: 82% (834/1017) remote: Counting objects: 83% (845/1017) remote: Counting objects: 84% (855/1017) remote: Counting objects: 85% (865/1017) remote: Counting objects: 86% (875/1017) remote: Counting objects: 87% (885/1017) remote: Counting objects: 88% (895/1017) remote: Counting objects: 89% (906/1017) remote: Counting objects: 90% (916/1017) remote: Counting objects: 91% (926/1017) remote: Counting objects: 92% (936/1017) remote: Counting objects: 93% (946/1017) remote: Counting objects: 94% (956/1017) remote: Counting objects: 95% (967/1017) remote: Counting objects: 96% (977/1017) remote: Counting objects: 97% (987/1017) remote: Counting objects: 98% (997/1017) remote: Counting objects: 99% (1007/1017) remote: Counting objects: 100% (1017/1017) remote: Counting objects: 100% (1017/1017), done. remote: Compressing objects: 0% (1/785) remote: Compressing objects: 1% (8/785) remote: Compressing objects: 2% (16/785) remote: Compressing objects: 3% (24/785) remote: Compressing objects: 4% (32/785) remote: Compressing objects: 5% (40/785) remote: Compressing objects: 6% (48/785) remote: Compressing objects: 7% (55/785) remote: Compressing objects: 8% (63/785) remote: Compressing objects: 9% (71/785) remote: Compressing objects: 10% (79/785) remote: Compressing objects: 11% (87/785) remote: Compressing objects: 12% (95/785) remote: Compressing objects: 13% (103/785) remote: Compressing objects: 14% (110/785) remote: Compressing objects: 15% (118/785) remote: Compressing objects: 16% (126/785) remote: Compressing objects: 17% (134/785) remote: Compressing objects: 18% (142/785) remote: Compressing objects: 19% (150/785) remote: Compressing objects: 20% (157/785) remote: Compressing objects: 21% (165/785) remote: Compressing objects: 22% (173/785) remote: Compressing objects: 23% (181/785) remote: Compressing objects: 24% (189/785) remote: Compressing objects: 25% (197/785) remote: Compressing objects: 26% (205/785) remote: Compressing objects: 27% (212/785) remote: Compressing objects: 28% (220/785) remote: Compressing objects: 29% (228/785) remote: Compressing objects: 30% (236/785) remote: Compressing objects: 31% (244/785) remote: Compressing objects: 32% (252/785) remote: Compressing objects: 33% (260/785) remote: Compressing objects: 34% (267/785) remote: Compressing objects: 35% (275/785) remote: Compressing objects: 36% (283/785) remote: Compressing objects: 37% (291/785) remote: Compressing objects: 38% (299/785) remote: Compressing objects: 39% (307/785) remote: Compressing objects: 40% (314/785) remote: Compressing objects: 41% (322/785) remote: Compressing objects: 42% (330/785) remote: Compressing objects: 43% (338/785) remote: Compressing objects: 44% (346/785) remote: Compressing objects: 45% (354/785) remote: Compressing objects: 46% (362/785) remote: Compressing objects: 47% (369/785) remote: Compressing objects: 48% (377/785) remote: Compressing objects: 49% (385/785) remote: Compressing objects: 50% (393/785) remote: Compressing objects: 51% (401/785) remote: Compressing objects: 52% (409/785) remote: Compressing objects: 53% (417/785) remote: Compressing objects: 54% (424/785) remote: Compressing objects: 55% (432/785) remote: Compressing objects: 56% (440/785) remote: Compressing objects: 57% (448/785) remote: Compressing objects: 58% (456/785) remote: Compressing objects: 59% (464/785) remote: Compressing objects: 60% (471/785) remote: Compressing objects: 61% (479/785) remote: Compressing objects: 62% (487/785) remote: Compressing objects: 63% (495/785) remote: Compressing objects: 64% (503/785) remote: Compressing objects: 65% (511/785) remote: Compressing objects: 66% (519/785) remote: Compressing objects: 67% (526/785) remote: Compressing objects: 68% (534/785) remote: Compressing objects: 69% (542/785) remote: Compressing objects: 70% (550/785) remote: Compressing objects: 71% (558/785) remote: Compressing objects: 72% (566/785) remote: Compressing objects: 73% (574/785) remote: Compressing objects: 74% (581/785) remote: Compressing objects: 75% (589/785) remote: Compressing objects: 76% (597/785) remote: Compressing objects: 77% (605/785) remote: Compressing objects: 78% (613/785) remote: Compressing objects: 79% (621/785) remote: Compressing objects: 80% (628/785) remote: Compressing objects: 81% (636/785) remote: Compressing objects: 82% (644/785) remote: Compressing objects: 83% (652/785) remote: Compressing objects: 84% (660/785) remote: Compressing objects: 85% (668/785) remote: Compressing objects: 86% (676/785) remote: Compressing objects: 87% (683/785) remote: Compressing objects: 88% (691/785) remote: Compressing objects: 89% (699/785) remote: Compressing objects: 90% (707/785) remote: Compressing objects: 91% (715/785) remote: Compressing objects: 92% (723/785) remote: Compressing objects: 93% (731/785) remote: Compressing objects: 94% (738/785) remote: Compressing objects: 95% (746/785) remote: Compressing objects: 96% (754/785) remote: Compressing objects: 97% (762/785) remote: Compressing objects: 98% (770/785) remote: Compressing objects: 99% (778/785) remote: Compressing objects: 100% (785/785) remote: Compressing objects: 100% (785/785), done. Receiving objects: 0% (1/331483) Receiving objects: 0% (601/331483), 276.00 KiB | 224.00 KiB/s Receiving objects: 0% (1096/331483), 416.00 KiB | 240.00 KiB/s Receiving objects: 0% (1706/331483), 652.00 KiB | 228.00 KiB/s Receiving objects: 0% (2166/331483), 972.00 KiB | 241.00 KiB/s Receiving objects: 0% (2827/331483), 1.36 MiB | 276.00 KiB/s Receiving objects: 1% (3315/331483), 1.36 MiB | 276.00 KiB/s Receiving objects: 1% (5055/331483), 1.95 MiB | 384.00 KiB/s Receiving objects: 2% (6630/331483), 3.14 MiB | 569.00 KiB/s Receiving objects: 2% (7475/331483), 3.14 MiB | 569.00 KiB/s Receiving objects: 2% (8050/331483), 5.00 MiB | 928.00 KiB/s Receiving objects: 2% (8053/331483), 5.79 MiB | 1.04 MiB/s Receiving objects: 2% (8054/331483), 6.01 MiB | 889.00 KiB/s Receiving objects: 2% (8115/331483), 6.23 MiB | 837.00 KiB/s Receiving objects: 2% (9227/331483), 7.32 MiB | 729.00 KiB/s Receiving objects: 3% (9945/331483), 8.54 MiB | 781.00 KiB/s Receiving objects: 3% (10905/331483), 9.42 MiB | 822.00 KiB/s Receiving objects: 3% (13126/331483), 12.34 MiB | 1.40 MiB/s Receiving objects: 4% (13260/331483), 12.34 MiB | 1.40 MiB/s Receiving objects: 4% (15237/331483), 14.57 MiB | 1.86 MiB/s Receiving objects: 5% (16575/331483), 15.71 MiB | 2.06 MiB/s Receiving objects: 5% (18822/331483), 16.61 MiB | 2.19 MiB/s Receiving objects: 6% (19889/331483), 17.57 MiB | 2.19 MiB/s Receiving objects: 6% (21676/331483), 19.34 MiB | 2.32 MiB/s Receiving objects: 7% (23204/331483), 19.34 MiB | 2.32 MiB/s Receiving objects: 8% (26519/331483), 21.71 MiB | 2.63 MiB/s Receiving objects: 8% (27992/331483), 23.39 MiB | 2.78 MiB/s Receiving objects: 9% (29834/331483), 24.64 MiB | 2.65 MiB/s Receiving objects: 10% (33149/331483), 24.64 MiB | 2.65 MiB/s Receiving objects: 10% (33929/331483), 26.71 MiB | 2.83 MiB/s Receiving objects: 10% (33932/331483), 32.05 MiB | 3.52 MiB/s Receiving objects: 10% (33936/331483), 34.51 MiB | 3.83 MiB/s Receiving objects: 11% (36464/331483), 36.66 MiB | 4.16 MiB/s Receiving objects: 12% (39778/331483), 39.19 MiB | 4.33 MiB/s Receiving objects: 12% (41813/331483), 41.21 MiB | 4.26 MiB/s Receiving objects: 13% (43093/331483), 41.21 MiB | 4.26 MiB/s Receiving objects: 14% (46408/331483), 43.82 MiB | 4.46 MiB/s Receiving objects: 14% (47202/331483), 43.82 MiB | 4.46 MiB/s Receiving objects: 15% (49723/331483), 47.99 MiB | 4.64 MiB/s Receiving objects: 15% (49905/331483), 47.99 MiB | 4.64 MiB/s Receiving objects: 16% (53038/331483), 49.91 MiB | 4.61 MiB/s Receiving objects: 17% (56353/331483), 49.91 MiB | 4.61 MiB/s Receiving objects: 18% (59667/331483), 49.91 MiB | 4.61 MiB/s Receiving objects: 19% (62982/331483), 52.18 MiB | 4.36 MiB/s Receiving objects: 20% (66297/331483), 52.18 MiB | 4.36 MiB/s Receiving objects: 20% (68836/331483), 52.18 MiB | 4.36 MiB/s Receiving objects: 21% (69612/331483), 52.18 MiB | 4.36 MiB/s Receiving objects: 22% (72927/331483), 54.30 MiB | 4.33 MiB/s Receiving objects: 22% (76150/331483), 57.14 MiB | 4.46 MiB/s Receiving objects: 23% (76242/331483), 60.54 MiB | 4.65 MiB/s Receiving objects: 23% (79525/331483), 62.66 MiB | 4.67 MiB/s Receiving objects: 24% (79556/331483), 62.66 MiB | 4.67 MiB/s Receiving objects: 24% (80670/331483), 70.44 MiB | 5.39 MiB/s Receiving objects: 25% (82871/331483), 70.44 MiB | 5.39 MiB/s Receiving objects: 26% (86186/331483), 72.85 MiB | 5.37 MiB/s Receiving objects: 27% (89501/331483), 74.50 MiB | 5.32 MiB/s Receiving objects: 28% (92816/331483), 74.50 MiB | 5.32 MiB/s Receiving objects: 28% (94905/331483), 74.50 MiB | 5.32 MiB/s Receiving objects: 29% (96131/331483), 74.50 MiB | 5.32 MiB/s Receiving objects: 30% (99445/331483), 78.21 MiB | 5.66 MiB/s Receiving objects: 31% (102760/331483), 78.21 MiB | 5.66 MiB/s Receiving objects: 32% (106075/331483), 81.05 MiB | 5.70 MiB/s Receiving objects: 32% (107729/331483), 81.05 MiB | 5.70 MiB/s Receiving objects: 33% (109390/331483), 81.05 MiB | 5.70 MiB/s Receiving objects: 34% (112705/331483), 83.67 MiB | 5.70 MiB/s Receiving objects: 34% (114255/331483), 84.94 MiB | 4.84 MiB/s Receiving objects: 34% (114660/331483), 85.03 MiB | 4.44 MiB/s Receiving objects: 35% (116020/331483), 85.53 MiB | 3.02 MiB/s Receiving objects: 35% (116988/331483), 85.53 MiB | 3.02 MiB/s Receiving objects: 36% (119334/331483), 86.04 MiB | 2.64 MiB/s Receiving objects: 37% (122649/331483), 86.69 MiB | 2.43 MiB/s Receiving objects: 37% (123547/331483), 87.62 MiB | 1.87 MiB/s Receiving objects: 37% (123973/331483), 88.65 MiB | 1.33 MiB/s Receiving objects: 38% (125964/331483), 88.65 MiB | 1.33 MiB/s Receiving objects: 38% (127802/331483), 94.25 MiB | 1.74 MiB/s Receiving objects: 38% (127802/331483), 94.64 MiB | 1.36 MiB/s Receiving objects: 38% (127802/331483), 98.44 MiB | 1.84 MiB/s Receiving objects: 38% (128274/331483), 100.32 MiB | 2.04 MiB/s Receiving objects: 39% (129279/331483), 100.32 MiB | 2.04 MiB/s Receiving objects: 39% (130517/331483), 103.79 MiB | 2.35 MiB/s Receiving objects: 40% (132594/331483), 104.95 MiB | 2.38 MiB/s Receiving objects: 41% (135909/331483), 104.95 MiB | 2.38 MiB/s Receiving objects: 41% (138994/331483), 107.58 MiB | 2.90 MiB/s Receiving objects: 42% (139223/331483), 107.58 MiB | 2.90 MiB/s Receiving objects: 43% (142538/331483), 107.58 MiB | 2.90 MiB/s Receiving objects: 44% (145853/331483), 107.58 MiB | 2.90 MiB/s Receiving objects: 45% (149168/331483), 107.58 MiB | 2.90 MiB/s Receiving objects: 46% (152483/331483), 110.17 MiB | 2.57 MiB/s Receiving objects: 47% (155798/331483), 110.17 MiB | 2.57 MiB/s Receiving objects: 47% (158305/331483), 110.17 MiB | 2.57 MiB/s Receiving objects: 48% (159112/331483), 111.98 MiB | 2.71 MiB/s Receiving objects: 48% (161849/331483), 119.25 MiB | 4.44 MiB/s Receiving objects: 48% (161849/331483), 119.93 MiB | 3.62 MiB/s Receiving objects: 48% (161851/331483), 121.21 MiB | 3.52 MiB/s Receiving objects: 49% (162427/331483), 124.80 MiB | 3.91 MiB/s Receiving objects: 50% (165742/331483), 124.80 MiB | 3.91 MiB/s Receiving objects: 51% (169057/331483), 126.86 MiB | 4.10 MiB/s Receiving objects: 51% (169245/331483), 126.86 MiB | 4.10 MiB/s Receiving objects: 52% (172372/331483), 126.86 MiB | 4.10 MiB/s Receiving objects: 53% (175686/331483), 126.86 MiB | 4.10 MiB/s Receiving objects: 54% (179001/331483), 128.54 MiB | 3.93 MiB/s Receiving objects: 55% (182316/331483), 128.54 MiB | 3.93 MiB/s Receiving objects: 55% (184439/331483), 130.56 MiB | 3.84 MiB/s Receiving objects: 56% (185631/331483), 130.56 MiB | 3.84 MiB/s Receiving objects: 57% (188946/331483), 133.21 MiB | 4.00 MiB/s Receiving objects: 58% (192261/331483), 133.21 MiB | 4.00 MiB/s Receiving objects: 59% (195575/331483), 133.21 MiB | 4.00 MiB/s Receiving objects: 60% (198890/331483), 133.21 MiB | 4.00 MiB/s Receiving objects: 61% (202205/331483), 135.93 MiB | 3.88 MiB/s Receiving objects: 61% (204548/331483), 135.93 MiB | 3.88 MiB/s Receiving objects: 62% (205520/331483), 135.93 MiB | 3.88 MiB/s Receiving objects: 63% (208835/331483), 135.93 MiB | 3.88 MiB/s Receiving objects: 64% (212150/331483), 135.93 MiB | 3.88 MiB/s Receiving objects: 65% (215464/331483), 139.36 MiB | 3.81 MiB/s Receiving objects: 66% (218779/331483), 139.36 MiB | 3.81 MiB/s Receiving objects: 67% (222094/331483), 139.36 MiB | 3.81 MiB/s Receiving objects: 68% (225409/331483), 139.36 MiB | 3.81 MiB/s Receiving objects: 68% (225936/331483), 144.36 MiB | 5.12 MiB/s Receiving objects: 68% (225952/331483), 144.97 MiB | 4.45 MiB/s Receiving objects: 69% (228724/331483), 146.38 MiB | 4.32 MiB/s Receiving objects: 70% (232039/331483), 146.38 MiB | 4.32 MiB/s Receiving objects: 71% (235353/331483), 146.38 MiB | 4.32 MiB/s Receiving objects: 72% (238668/331483), 149.21 MiB | 4.57 MiB/s Receiving objects: 72% (241505/331483), 149.21 MiB | 4.57 MiB/s Receiving objects: 73% (241983/331483), 149.21 MiB | 4.57 MiB/s Receiving objects: 74% (245298/331483), 149.21 MiB | 4.57 MiB/s Receiving objects: 75% (248613/331483), 149.21 MiB | 4.57 MiB/s Receiving objects: 75% (249129/331483), 155.00 MiB | 4.82 MiB/s Receiving objects: 76% (251928/331483), 155.00 MiB | 4.82 MiB/s Receiving objects: 77% (255242/331483), 155.86 MiB | 4.40 MiB/s Receiving objects: 78% (258557/331483), 156.83 MiB | 3.87 MiB/s Receiving objects: 78% (259802/331483), 156.83 MiB | 3.87 MiB/s Receiving objects: 79% (261872/331483), 156.83 MiB | 3.87 MiB/s Receiving objects: 79% (263401/331483), 160.07 MiB | 3.47 MiB/s Receiving objects: 79% (263624/331483), 164.14 MiB | 3.89 MiB/s Receiving objects: 79% (263722/331483), 166.17 MiB | 3.60 MiB/s Receiving objects: 79% (263789/331483), 170.79 MiB | 3.13 MiB/s Receiving objects: 79% (263886/331483), 173.01 MiB | 3.40 MiB/s Receiving objects: 79% (264027/331483), 177.46 MiB | 3.19 MiB/s Receiving objects: 79% (264111/331483), 178.66 MiB | 3.01 MiB/s Receiving objects: 79% (264167/331483), 179.89 MiB | 2.74 MiB/s Receiving objects: 79% (264403/331483), 184.74 MiB | 2.82 MiB/s Receiving objects: 79% (264434/331483), 186.38 MiB | 2.63 MiB/s Receiving objects: 79% (264474/331483), 187.96 MiB | 1.96 MiB/s Receiving objects: 79% (264522/331483), 191.89 MiB | 2.41 MiB/s Receiving objects: 79% (264716/331483), 193.91 MiB | 2.44 MiB/s Receiving objects: 79% (264775/331483), 196.37 MiB | 2.37 MiB/s Receiving objects: 79% (264824/331483), 198.14 MiB | 2.54 MiB/s Receiving objects: 79% (264958/331483), 203.19 MiB | 2.74 MiB/s Receiving objects: 79% (264958/331483), 205.57 MiB | 2.82 MiB/s Receiving objects: 79% (264958/331483), 210.26 MiB | 3.25 MiB/s Receiving objects: 79% (265115/331483), 214.88 MiB | 3.40 MiB/s Receiving objects: 80% (265187/331483), 214.88 MiB | 3.40 MiB/s Receiving objects: 80% (265244/331483), 218.18 MiB | 3.74 MiB/s Receiving objects: 80% (265436/331483), 223.55 MiB | 4.11 MiB/s Receiving objects: 80% (265696/331483), 228.14 MiB | 4.54 MiB/s Receiving objects: 80% (265743/331483), 232.77 MiB | 4.44 MiB/s Receiving objects: 80% (265991/331483), 236.21 MiB | 4.36 MiB/s Receiving objects: 80% (266331/331483), 243.87 MiB | 5.07 MiB/s Receiving objects: 81% (268502/331483), 247.29 MiB | 5.31 MiB/s Receiving objects: 82% (271817/331483), 247.29 MiB | 5.31 MiB/s Receiving objects: 83% (275131/331483), 247.29 MiB | 5.31 MiB/s Receiving objects: 83% (277414/331483), 247.29 MiB | 5.31 MiB/s Receiving objects: 84% (278446/331483), 247.29 MiB | 5.31 MiB/s Receiving objects: 85% (281761/331483), 252.95 MiB | 5.81 MiB/s Receiving objects: 86% (285076/331483), 252.95 MiB | 5.81 MiB/s Receiving objects: 87% (288391/331483), 252.95 MiB | 5.81 MiB/s Receiving objects: 88% (291706/331483), 252.95 MiB | 5.81 MiB/s Receiving objects: 89% (295020/331483), 258.67 MiB | 6.74 MiB/s Receiving objects: 90% (298335/331483), 258.67 MiB | 6.74 MiB/s Receiving objects: 90% (300172/331483), 263.14 MiB | 6.95 MiB/s Receiving objects: 91% (301650/331483), 263.14 MiB | 6.95 MiB/s Receiving objects: 92% (304965/331483), 264.18 MiB | 6.77 MiB/s Receiving objects: 92% (305804/331483), 264.18 MiB | 6.77 MiB/s Receiving objects: 93% (308280/331483), 267.40 MiB | 7.02 MiB/s Receiving objects: 94% (311595/331483), 267.40 MiB | 7.02 MiB/s Receiving objects: 95% (314909/331483), 269.25 MiB | 6.70 MiB/s Receiving objects: 96% (318224/331483), 269.25 MiB | 6.70 MiB/s Receiving objects: 97% (321539/331483), 269.25 MiB | 6.70 MiB/s Receiving objects: 97% (322979/331483), 269.25 MiB | 6.70 MiB/s Receiving objects: 98% (324854/331483), 269.25 MiB | 6.70 MiB/s Receiving objects: 99% (328169/331483), 271.21 MiB | 6.51 MiB/s remote: Total 331483 (delta 743), reused 286 (delta 230), pack-reused 330466 (from 3) Receiving objects: 100% (331483/331483), 273.19 MiB | 6.47 MiB/s Receiving objects: 100% (331483/331483), 273.46 MiB | 3.27 MiB/s, done. Resolving deltas: 0% (0/238360) Resolving deltas: 1% (2384/238360) Resolving deltas: 2% (4768/238360) Resolving deltas: 3% (7151/238360) Resolving deltas: 3% (8967/238360) Resolving deltas: 4% (9535/238360) Resolving deltas: 5% (11918/238360) Resolving deltas: 6% (14302/238360) Resolving deltas: 7% (16686/238360) Resolving deltas: 7% (17852/238360) Resolving deltas: 7% (18571/238360) Resolving deltas: 8% (19069/238360) Resolving deltas: 9% (21453/238360) Resolving deltas: 10% (23836/238360) Resolving deltas: 10% (24884/238360) Resolving deltas: 11% (26220/238360) Resolving deltas: 12% (28604/238360) Resolving deltas: 13% (30987/238360) Resolving deltas: 14% (33371/238360) Resolving deltas: 15% (35754/238360) Resolving deltas: 15% (35926/238360) Resolving deltas: 16% (38138/238360) Resolving deltas: 17% (40522/238360) Resolving deltas: 18% (42905/238360) Resolving deltas: 19% (45289/238360) Resolving deltas: 20% (47672/238360) Resolving deltas: 21% (50056/238360) Resolving deltas: 22% (52440/238360) Resolving deltas: 23% (54823/238360) Resolving deltas: 24% (57207/238360) Resolving deltas: 24% (59121/238360) Resolving deltas: 25% (59590/238360) Resolving deltas: 26% (61974/238360) Resolving deltas: 27% (64358/238360) Resolving deltas: 28% (66741/238360) Resolving deltas: 29% (69125/238360) Resolving deltas: 30% (71508/238360) Resolving deltas: 31% (73892/238360) Resolving deltas: 32% (76276/238360) Resolving deltas: 33% (78659/238360) Resolving deltas: 34% (81043/238360) Resolving deltas: 35% (83426/238360) Resolving deltas: 36% (85810/238360) Resolving deltas: 37% (88194/238360) Resolving deltas: 37% (89817/238360) Resolving deltas: 38% (90577/238360) Resolving deltas: 39% (92961/238360) Resolving deltas: 40% (95344/238360) Resolving deltas: 41% (97728/238360) Resolving deltas: 41% (99440/238360) Resolving deltas: 42% (100112/238360) Resolving deltas: 42% (102483/238360) Resolving deltas: 43% (102495/238360) Resolving deltas: 44% (104880/238360) Resolving deltas: 45% (107262/238360) Resolving deltas: 46% (109646/238360) Resolving deltas: 47% (112030/238360) Resolving deltas: 48% (114413/238360) Resolving deltas: 49% (116797/238360) Resolving deltas: 50% (119180/238360) Resolving deltas: 51% (121564/238360) Resolving deltas: 52% (123948/238360) Resolving deltas: 53% (126331/238360) Resolving deltas: 53% (127326/238360) Resolving deltas: 54% (128715/238360) Resolving deltas: 55% (131098/238360) Resolving deltas: 56% (133482/238360) Resolving deltas: 57% (135866/238360) Resolving deltas: 58% (138249/238360) Resolving deltas: 59% (140633/238360) Resolving deltas: 60% (143016/238360) Resolving deltas: 61% (145400/238360) Resolving deltas: 62% (147784/238360) Resolving deltas: 63% (150167/238360) Resolving deltas: 64% (152551/238360) Resolving deltas: 65% (154934/238360) Resolving deltas: 66% (157318/238360) Resolving deltas: 67% (159702/238360) Resolving deltas: 68% (162085/238360) Resolving deltas: 69% (164469/238360) Resolving deltas: 70% (166852/238360) Resolving deltas: 70% (169059/238360) Resolving deltas: 71% (169236/238360) Resolving deltas: 72% (171620/238360) Resolving deltas: 73% (174003/238360) Resolving deltas: 74% (176387/238360) Resolving deltas: 75% (178770/238360) Resolving deltas: 76% (181154/238360) Resolving deltas: 77% (183538/238360) Resolving deltas: 78% (185921/238360) Resolving deltas: 79% (188305/238360) Resolving deltas: 80% (190688/238360) Resolving deltas: 81% (193072/238360) Resolving deltas: 82% (195456/238360) Resolving deltas: 83% (197839/238360) Resolving deltas: 84% (200223/238360) Resolving deltas: 85% (202606/238360) Resolving deltas: 86% (204990/238360) Resolving deltas: 86% (205066/238360) Resolving deltas: 87% (207374/238360) Resolving deltas: 88% (209757/238360) Resolving deltas: 89% (212141/238360) Resolving deltas: 90% (214524/238360) Resolving deltas: 91% (216908/238360) Resolving deltas: 92% (219292/238360) Resolving deltas: 93% (221675/238360) Resolving deltas: 94% (224059/238360) Resolving deltas: 95% (226442/238360) Resolving deltas: 95% (227367/238360) Resolving deltas: 96% (228826/238360) Resolving deltas: 97% (231210/238360) Resolving deltas: 98% (233593/238360) Resolving deltas: 99% (235977/238360) Resolving deltas: 100% (238360/238360) Resolving deltas: 100% (238360/238360), done. ==> Validating source files with sha512sums... gemini-cli ... Passed ]2;๐Ÿ”ต Container arch-nspawn-231795 on regice.felixc.at\==> Making package: gemini-cli 1:0.22.4-1 (Thu Jan 1 07:25:26 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (5) New Version Net Change extra/c-ares 1.34.6-1 0.51 MiB extra/libngtcp2 1.19.0-1 0.61 MiB extra/libuv 1.51.0-1 0.60 MiB extra/simdjson 1:4.2.4-1 6.17 MiB extra/nodejs 25.2.1-1 55.37 MiB Total Installed Size: 63.26 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing c-ares... installing libngtcp2... 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 extra/node-gyp 12.1.0-1 7.81 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.2.5-1 0.21 MiB extra/git 2.52.0-2 28.75 MiB extra/jq 1.8.1-1 0.46 MiB extra/npm 11.6.4-1 7.14 MiB Total Installed Size: 45.62 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing oniguruma... installing jq... installing nodejs-nopt... installing semver... installing node-gyp... Optional dependencies for node-gyp gcc: to build C++ modules [installed] make: to build C++ modules [installed] python: to build C++ modules installing npm... Optional dependencies for npm git: for dependencies using Git URL's [installed] :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Checking for old perl modules... [?25h==> 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 1307 packages, and audited 1313 packages in 1m 349 packages are looking for funding run `npm fund` for details 5 high severity vulnerabilities To address all issues, run: npm audit fix Run `npm audit` for details. npm notice npm notice New minor version of npm available! 11.6.4 -> 11.7.0 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.7.0 npm notice To update run: npm install -g npm@11.7.0 npm notice ==> Starting build()... > @google/gemini-cli@0.22.4 bundle > npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js > @google/gemini-cli@0.22.4 generate > node scripts/generate-git-commit-info.js Copied 5 policy files to bundle/policies/ Assets copied to bundle/ > @google/gemini-cli@0.22.4 prepare > husky && npm run bundle > @google/gemini-cli@0.22.4 bundle > npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js > @google/gemini-cli@0.22.4 generate > node scripts/generate-git-commit-info.js Copied 5 policy files to bundle/policies/ Assets copied to bundle/ npm notice npm notice ๐Ÿ“ฆ @google/gemini-cli@0.22.4 npm notice Tarball Contents npm notice 11.4kB LICENSE npm notice 11.7kB README.md npm notice 21.6MB bundle/gemini.js npm notice 1.5kB bundle/policies/agent.toml npm notice 254B bundle/policies/discovered.toml npm notice 1.9kB 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.2kB package.json npm notice Bundled Dependencies npm notice node-pty npm notice minimist 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 cli-boxes npm notice cli-cursor npm notice cli-truncate npm notice code-excerpt npm notice convert-to-spaces npm notice debug npm notice deep-extend npm notice environment npm notice es-toolkit npm notice get-east-asian-width npm notice indent-string npm notice ini npm notice ink npm notice ky npm notice latest-version npm notice mimic-fn npm notice onetime npm notice package-json npm notice patch-console npm notice proto-list npm notice rc npm notice react-reconciler npm notice registry-auth-token npm notice registry-url npm notice restore-cursor npm notice scheduler npm notice semver npm notice slice-ansi npm notice stack-utils npm notice strip-ansi npm notice wrap-ansi npm notice ws npm notice yoga-layout npm notice nan npm notice mnemonist 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.22.4 npm notice filename: google-gemini-cli-0.22.4.tgz npm notice package size: 5.7 MB npm notice unpacked size: 31.1 MB npm notice shasum: 0b1f998482adf9227f78caf5fe4dbec14c22c160 npm notice integrity: sha512-8VaXUMXqwZ/5g[...]4La4cwI+C2urQ== npm notice bundled deps: 51 npm notice bundled files: 0 npm notice own files: 4155 npm notice total files: 4155 npm notice google-gemini-cli-0.22.4.tgz ==> Starting check()... > @google/gemini-cli@0.22.4 build > node scripts/build.js > @google/gemini-cli@0.22.4 generate > node scripts/generate-git-commit-info.js > @google/gemini-cli-a2a-server@0.22.4 build > node ../../scripts/build_package.js Successfully copied files. > @google/gemini-cli@0.22.4 build > node ../../scripts/build_package.js Successfully copied files. > @google/gemini-cli-core@0.22.4 build > node ../../scripts/build_package.js Successfully copied files. > @google/gemini-cli-test-utils@0.22.4 build > node ../../scripts/build_package.js Successfully copied files. > gemini-cli-vscode-ide-companion@0.22.4 build > npm run build:dev > gemini-cli-vscode-ide-companion@0.22.4 build:dev > npm run check-types && npm run lint && node esbuild.js > gemini-cli-vscode-ide-companion@0.22.4 check-types > tsc --noEmit > gemini-cli-vscode-ide-companion@0.22.4 lint > eslint src [watch] build started [watch] build finished > @google/gemini-cli@0.22.4 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.22.4 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) 387ms โœ“ src/config/settings.test.ts (6 tests) 212ms โœ“ src/commands/init.test.ts (5 tests) 273ms โœ“ src/agent/task.test.ts (15 tests) 793ms โœ“ src/http/app.test.ts (19 tests) 1783ms โœ“ E2E Tests > should create a new task and stream status updates (text-content) via POST / 772ms โœ“ src/commands/restore.test.ts (6 tests) 81ms โœ“ src/http/endpoints.test.ts (5 tests) 829ms โœ“ Agent Server Endpoints > should create a new task via POST /tasks 522ms โฏ src/commands/command-registry.test.ts (6 tests | 3 failed) 24992ms ร— CommandRegistry > should register ExtensionsCommand on initialization 5113ms โ†’ 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". ร— CommandRegistry > should register sub commands on initialization 5018ms โ†’ 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". ร— CommandRegistry > get() should return undefined for a non-existent command 5207ms โ†’ 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". โœ“ CommandRegistry > register() should register a new command 4651ms โœ“ CommandRegistry > register() should register a nested command 2236ms โœ“ CommandRegistry > register() should not enter an infinite loop with a cyclic command 2731ms โœ“ src/commands/extensions.test.ts (8 tests) 40ms โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ Failed Tests 3 โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ FAIL src/commands/command-registry.test.ts > CommandRegistry > should register ExtensionsCommand on initialization Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". โฏ src/commands/command-registry.test.ts:36:3 34| }); 35| 36| it('should register ExtensionsCommand on initialization', async () =โ€ฆ | ^ 37| const { commandRegistry } = await import('./command-registry.js'); 38| expect(mockExtensionsCommand).toHaveBeenCalled(); โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ[1/3]โŽฏ FAIL src/commands/command-registry.test.ts > CommandRegistry > should register sub commands on initialization Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". โฏ src/commands/command-registry.test.ts:43:3 41| }); 42| 43| it('should register sub commands on initialization', async () => { | ^ 44| const { commandRegistry } = await import('./command-registry.js'); 45| const command = commandRegistry.get('extensions list'); โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ[2/3]โŽฏ FAIL src/commands/command-registry.test.ts > CommandRegistry > get() should return undefined for a non-existent command Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". โฏ src/commands/command-registry.test.ts:49:3 47| }); 48| 49| it('get() should return undefined for a non-existent command', asyncโ€ฆ | ^ 50| const { commandRegistry } = await import('./command-registry.js'); 51| const command = commandRegistry.get('non-existent'); โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ[3/3]โŽฏ Test Files 1 failed | 8 passed (9) Tests 3 failed | 79 passed (82) Start at 07:33:45 Duration 78.53s (transform 17.65s, setup 0ms, collect 141.00s, tests 29.39s, environment 18ms, prepare 10.58s) JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/a2a-server/junit.xml npm error Lifecycle script `test` failed with error: npm error code 1 npm error path /build/gemini-cli/src/gemini-cli/packages/a2a-server npm error workspace @google/gemini-cli-a2a-server@0.22.4 npm error location /build/gemini-cli/src/gemini-cli/packages/a2a-server npm error command failed npm error command sh -c vitest run > @google/gemini-cli@0.22.4 test > vitest run RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/cli Coverage enabled with v8 stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should submit tool responses when all tool calls are completed and ready Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should handle all tool calls being cancelled Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should group multiple cancelled tool call responses into a single history entry Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should not flicker streaming state to Idle between tool completion and submission Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > Memory Refresh on save_memory > should call performMemoryRefresh when a save_memory tool call completes successfully Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function โœ“ src/ui/components/shared/text-buffer.test.ts (166 tests) 3204ms โœ“ src/ui/hooks/useGeminiStream.test.tsx (54 tests) 2821ms โœ“ src/ui/components/InputPrompt.test.tsx (113 tests) 16051ms โœ“ InputPrompt > should call shellHistory.getPreviousCommand on up arrow in shell mode 715ms โœ“ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 332ms โœ“ InputPrompt > reverse search > submits the highlighted entry on Enter and exits reverse-search 322ms โœ“ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 593ms โœ“ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 302ms stdout | src/config/settings.test.ts > Settings Loading and Merging > migrateDeprecatedSettings > should migrate disabled extensions from user and workspace settings Migrating deprecated extensions.disabled settings from User settings... Migrating deprecated extensions.disabled settings from Workspace settings... stderr | src/config/settings.test.ts > Settings Loading and Merging > migrateDeprecatedSettings > should migrate disabled extensions from user and workspace settings [WARN] Skipping unreadable directory: /mock/workspace (ENOENT: no such file or directory, stat '/mock/workspace') stderr | src/config/settings.test.ts > Settings Loading and Merging > migrateDeprecatedSettings > should not do anything if there are no deprecated settings [WARN] Skipping unreadable directory: /mock/workspace (ENOENT: no such file or directory, stat '/mock/workspace') โœ“ src/config/settings.test.ts (81 tests) 1138ms โœ“ src/config/extension.test.ts (73 tests) 3092ms 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 ConfigContext with config object [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 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 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:1420:15)  at defaultResolveImpl (node:internal/modules/cjs/loader:1058:19)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1063:22)  at Module._load (node:internal/modules/cjs/loader:1226:37)  at TracingChannel.traceSync (node:diagnostics_channel:328:14)  at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)  at Module.require (node:internal/modules/cjs/loader:1503: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:1760:14) { 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/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 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. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with legacy yolo flag YOLO mode is enabled. All tool calls will be automatically approved. stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode YOLO mode is enabled. All tool calls will be automatically approved. 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 > Terminal Title Update Feature > verifies useStdout is mocked [SessionSummary] No chats directory found 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/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 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 > 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 โœ“ src/nonInteractiveCli.test.ts (34 tests) 1385ms โœ“ runNonInteractive > should handle cancellation (Ctrl+C) 458ms 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 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 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 > 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 > 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 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. 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. โœ“ src/ui/AppContainer.test.tsx (61 tests) 10414ms โœ“ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 460ms โœ“ AppContainer State Management > State Initialization > handles debug mode state 1723ms โœ“ AppContainer State Management > Error Handling > handles config methods that might throw 449ms โœ“ AppContainer State Management > Session Resumption > initializes chat recording service when config has it 455ms โœ“ AppContainer State Management > Session Recording Integration > provides chat recording service configuration 543ms โœ“ AppContainer State Management > Session Recording Integration > handles session recording when messages are added 516ms โœ“ AppContainer State Management > Session Resume Flow > accepts resumed session data 314ms โœ“ AppContainer State Management > Session Resume Flow > does not attempt resume when client is not initialized 313ms โœ“ AppContainer State Management > Token Counting from Session Stats > tracks token counts from session messages 319ms stderr | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if positional prompt words are provided with multiple flags YOLO mode is enabled. All tool calls will be automatically approved. 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. 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. stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo YOLO mode is enabled. All tool calls will be automatically approved. stderr | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set YOLO mode is enabled. All tool calls will be automatically approved. 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. stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT Approval mode overridden to "default" because the current folder is not trusted. stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT YOLO mode is enabled. All tool calls will be automatically approved. Approval mode overridden to "default" because the current folder is not trusted. โœ“ src/config/config.test.ts (146 tests) 20789ms โœ“ parseArguments > should throw an error when using conflicting prompt flags ('long flags') 444ms โœ“ loadCliConfig > Proxy configuration > should leave proxy to empty by default 748ms โœ“ Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode 778ms โœ“ loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO 312ms โœ“ loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when true 316ms โœ“ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings 435ms stderr | DebugLogger.error (/build/gemini-cli/src/gemini-cli/packages/core/src/utils/debugLogger.ts:59: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:103: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/utils/sessionCleanup.test.ts (70 tests) 1129ms ]2;Gemini - clistderr | 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. stderr | 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. stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 42 for no input provided [STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again. ]2;Gemini - root[?7l]2;Gemini - root[?7l]2;Gemini - root[?7l]2;Gemini - root[?7l]2;Gemini - root[?7l]2;Gemini - root[?7l โœ“ src/gemini.test.tsx (33 tests | 1 skipped) 1751ms โœ“ gemini.tsx main function > verifies that we dont load the config before relaunchAppInChildProcess 397ms stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands Ignored 1 files: Git-ignored: /tmp/folder-structure-test-vB9sog/node_modules/package.json stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files Ignored 1 files: Git-ignored: /tmp/folder-structure-test-bIw2yE/.env stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files Ignored 1 files: Git-ignored: /tmp/folder-structure-test-UlZQup/.git/config stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands Ignored 1 files: Gemini-ignored: /tmp/folder-structure-test-M18ctM/build/output.js 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-hGlRGB/dist/bundle.js โœ“ src/ui/hooks/vim.test.tsx (87 tests) 5301ms 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." ] โœ“ src/ui/hooks/atCommandProcessor.test.ts (45 tests) 4957ms โœ“ handleAtCommand > should process a valid text file path 868ms โœ“ src/services/FileCommandLoader.test.ts (40 tests) 2056ms โœ“ FileCommandLoader > loads a single command from a file 637ms โœ“ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 376ms โœ“ src/utils/settingsUtils.test.ts (73 tests) 233ms stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > should toggle setting with Enter key [DEBUG SettingsDialog] Saving general.vimMode immediately with value: true 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 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 โœ“ src/ui/hooks/slashCommandProcessor.test.tsx (37 tests) 2604ms 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 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 โœ“ src/ui/hooks/useToolScheduler.test.ts (23 tests) 1621ms โœ“ useReactToolScheduler > should handle live output updates 698ms stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > String Settings Editing > should allow editing and committing a string setting [DEBUG SettingsDialog] Saving general.vimMode immediately with value: true [DEBUG SettingsDialog] Saving general.vimMode immediately with value: true โœ“ src/ui/hooks/useSelectionList.test.tsx (45 tests) 943ms โœ“ src/ui/contexts/KeypressContext.test.tsx (87 tests) 1674ms โœ“ src/ui/hooks/useSlashCompletion.test.ts (21 tests) 1338ms โœ“ useSlashCompletion > Top-Level Commands > should suggest all top-level commands for the root slash 373ms โœ“ src/ui/commands/extensionsCommand.test.ts (38 tests) 532ms โœ“ src/services/prompt-processors/shellProcessor.test.ts (33 tests) 514ms โœ“ src/ui/hooks/shellCommandProcessor.test.tsx (20 tests) 572ms โœ“ src/config/extensions/extensionSettings.test.ts (23 tests) 543ms โœ“ src/ui/commands/chatCommand.test.ts (30 tests) 657ms โœ“ src/utils/sessions.test.ts (17 tests) 261ms โฏ src/ui/components/SettingsDialog.test.tsx (54 tests | 25 failed) 143028ms โœ“ SettingsDialog > Initial Rendering > should render the settings dialog with default state 1466ms ร— SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors 1197ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Initial Rendering > should render settings list with visual indicators 11091ms โ†’ Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched โœ“ SettingsDialog > Settings Navigation > should navigate with 'arrow keys' 1295ms โœ“ SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)' 1656ms โœ“ SettingsDialog > Settings Navigation > wraps around when at the top of the list 896ms โœ“ SettingsDialog > Settings Toggling > should toggle setting with Enter key 1072ms โœ“ SettingsDialog > Settings Toggling > enum values > 'toggles to next value' 441ms โœ“ SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end' 275ms โœ“ SettingsDialog > Settings Toggling > should handle vim mode setting specially 890ms โœ“ SettingsDialog > Scope Selection > should switch between scopes 871ms ร— SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 648ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Apply To' โœ“ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 473ms โœ“ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 633ms ร— SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 1614ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' โœ“ SettingsDialog > Settings Persistence > should persist settings across scope changes 858ms ร— SettingsDialog > Settings Persistence > should show different values for different scopes 632ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' โœ“ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 930ms โœ“ SettingsDialog > Complex State Management > should track modified settings correctly 761ms โœ“ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 531ms โœ“ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 577ms ร— SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states 346ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' โœ“ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 732ms โœ“ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 509ms โœ“ SettingsDialog > Specific Settings Behavior > should clear restart prompt when switching scopes 497ms ร— SettingsDialog > Settings Display Values > should show correct values for inherited settings 475ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Settings Display Values > should show override indicator for overridden settings 469ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' โœ“ SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโ€ฆ' 736ms โœ“ SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโ€ฆ' 565ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 646ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+C' to reset current setting to default 515ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+L' to reset current setting to default 594ms โœ“ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 682ms ร— SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 1640ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' ร— SettingsDialog > Error Recovery > should handle malformed settings gracefully 452ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Error Recovery > should handle missing setting definitions gracefully 355ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Settings' ร— SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 1635ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Vim Mode' โœ“ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 611ms โœ“ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 1113ms โœ“ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 648ms โœ“ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 1189ms ร— SettingsDialog > Search Functionality > should display text entered in search 832ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Search to filter' ร— SettingsDialog > Search Functionality > should show search query and filter settings as user types 1909ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'yolo' ร— SettingsDialog > Search Functionality > should exit search settings when Escape is pressed 2315ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'vim' ร— SettingsDialog > Search Functionality > should handle backspace to modify search query 1749ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'vimm' ร— SettingsDialog > Search Functionality > should display nothing when search yields no results 2138ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'nonexistentsetting' ร— SettingsDialog > Snapshot Tests > should render 'default state' correctly 10936ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 12200ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 10812ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 12125ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 10069ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 11147ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 11496ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched ร— SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 12044ms โ†’ Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched (node:2461) 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) 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/config/extensions/github.test.ts (33 tests) 944ms โœ“ src/zed-integration/zedIntegration.test.ts (20 tests) 763ms โœ“ src/ui/hooks/useAutoAcceptIndicator.test.ts (17 tests) 972ms โœ“ useAutoAcceptIndicator > should initialize with ApprovalMode.AUTO_EDIT if config.getApprovalMode returns ApprovalMode.AUTO_EDIT 383ms โœ“ src/config/extensions/extensionEnablement.test.ts (48 tests) 494ms โœ“ src/utils/sessionUtils.test.ts (20 tests) 603ms โœ“ SessionSelector > should resolve session by UUID 346ms โœ“ src/services/McpPromptLoader.test.ts (31 tests) 263ms โœ“ src/ui/hooks/useAtCompletion.test.ts (15 tests) 3372ms โœ“ useAtCompletion > File Search Logic > should perform a recursive search for an empty pattern 438ms โœ“ useAtCompletion > MCP resource suggestions > should include MCP resources in the suggestion list using fuzzy matching 354ms โœ“ useAtCompletion > Filtering and Configuration > should reset and re-initialize when the cwd changes 326ms 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 React has detected a change in the order of Hooks called by TestComponent. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks Previous render Next render ------------------------------------------------------ 1. useMemo useMemo 2. useReducer useReducer 3. useMemo useMemo 4. useMemo useMemo 5. useState useState 6. useEffect useEffect 7. useEffect useEffect 8. useEffect useEffect 9. useCallback useCallback 10. useCallback useCallback 11. useCallback useCallback 12. useCallback useCallback 13. useCallback useCallback 14. useCallback useCallback 15. useCallback useCallback 16. useCallback useCallback 17. useCallback useCallback 18. useCallback useCallback 19. useCallback useCallback 20. useCallback useCallback 21. useCallback useCallback 22. useCallback useCallback 23. useCallback useCallback 24. useCallback useCallback 25. useCallback useCallback 26. useCallback useCallback 27. useCallback useCallback 28. useCallback useCallback 29. useCallback useCallback 30. useCallback useCallback 31. useCallback useCallback 32. useCallback useCallback 33. useCallback useCallback 34. useCallback useCallback 35. useCallback useCallback 36. useCallback useCallback 37. useCallback useCallback 38. useCallback useCallback 39. useCallback useCallback 40. useCallback useCallback 41. useCallback useCallback 42. useCallback useCallback 43. useCallback useCallback 44. useCallback useCallback 45. useCallback useCallback 46. useCallback useCallback 47. useCallback useCallback 48. useCallback useCallback 49. useCallback useCallback 50. useCallback useCallback 51. useCallback useCallback 52. useCallback useCallback 53. useCallback useCallback 54. useCallback useCallback 55. useMemo useMemo 56. useCallback useCallback 57. useCallback useCallback 58. useCallback useCallback 59. useCallback useCallback 60. useCallback useCallback 61. useMemo useMemo 62. useState useState 63. useState useState 64. useState useState 65. useState useState 66. useState useState 67. useState useState 68. useCallback useCallback 69. useCallback useCallback 70. useCallback useCallback 71. useMemo useMemo 72. useEffect useState ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ An update to Root inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | src/ui/hooks/useCommandCompletion.test.tsx An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | src/ui/hooks/useCommandCompletion.test.tsx An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | src/ui/hooks/useCommandCompletion.test.tsx An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | src/ui/hooks/useCommandCompletion.test.tsx An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act An update to TestComponent inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act โœ“ src/ui/hooks/useCommandCompletion.test.tsx (21 tests) 1230ms โœ“ useCommandCompletion > Core Hook Behavior > State Management > should initialize with default state 341ms stderr | src/ui/hooks/useCommandCompletion.test.tsx An update to Root inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act โฏ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests | 10 failed) 10603ms โœ“ BaseSelectionList > Rendering and Structure > should render all items using the renderItem prop 660ms โœ“ BaseSelectionList > Rendering and Structure > should render the selection indicator (โ— or space) and layout 119ms โœ“ BaseSelectionList > Rendering and Structure > should handle an empty list gracefully 47ms โœ“ BaseSelectionList > useSelectionList Integration > should pass props correctly to useSelectionList 61ms โœ“ BaseSelectionList > useSelectionList Integration > should use the activeIndex returned by the hook 61ms โœ“ BaseSelectionList > Styling and Colors > should apply success color to the selected item 126ms โœ“ BaseSelectionList > Styling and Colors > should apply primary color to unselected, enabled items 92ms โœ“ BaseSelectionList > Styling and Colors > should apply secondary color to disabled items (when not selected) 76ms โœ“ BaseSelectionList > Styling and Colors > should apply success color to disabled items if they are selected 111ms โœ“ BaseSelectionList > Numbering (showNumbers) > should show numbers by default with correct formatting 206ms โœ“ BaseSelectionList > Numbering (showNumbers) > should hide numbers when showNumbers is false 47ms โœ“ BaseSelectionList > Numbering (showNumbers) > should apply correct padding for alignment in long lists 328ms โœ“ BaseSelectionList > Numbering (showNumbers) > should apply secondary color to numbers if showNumbers is false (internal logic check) 59ms ร— BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially 142ms โ†’ 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 1387ms โ†’ 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 1217ms โ†’ 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 1195ms โ†’ 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 133ms โ†’ 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 118ms โœ“ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item when scrolled (high index) 152ms ร— BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length 146ms โ†’ expected 'โ— 1. I\n t\n e\n m\n โ€ฆ' to contain 'Item 1' โœ“ BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows by default 58ms ร— BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top) 1300ms โ†’ 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 1213ms โ†’ 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 1292ms โ†’ 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 222ms โ†’ expected 'โ–ฒ\nโ— 1. I\n t\n e\n m\n โ€ฆ' to contain 'Item A' 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/utils/errors.test.ts (28 tests) 343ms โœ“ src/validateNonInterActiveAuth.test.ts (17 tests) 478ms โœ“ src/ui/commands/hooksCommand.test.ts (23 tests) 861ms โœ“ src/ui/keyMatchers.test.ts (44 tests) 450ms โœ“ src/ui/hooks/useQuotaAndFallback.test.ts (12 tests) 841ms โœ“ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should set an interactive request for a terminal quota error 556ms 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 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 (12 tests) 1200ms โœ“ Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings 396ms โœ“ src/config/settingsSchema.test.ts (18 tests) 352ms โœ“ src/commands/hooks/migrate.test.ts (17 tests) 325ms โœ“ src/utils/sandbox.test.ts (7 tests) 473ms (node:2782) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-client-update listeners added to [EventEmitter]. 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 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 (20 tests) 2536ms โœ“ Composer > Footer Display Settings > renders Footer by default when hideFooter is false 473ms โœ“ Composer > Footer Display Settings > passes correct props to Footer including vim mode when enabled 359ms 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 stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19 An update to Spinner inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures 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/StatsDisplay.test.tsx (14 tests) 4393ms โœ“ > renders only the Performance section in its zero state 871ms โœ“ > renders a table with two models correctly 343ms โœ“ > renders all sections when all data is present 476ms โœ“ > Quota Display > renders quota information when quotas are provided 1359ms โœ“ src/ui/hooks/useSessionResume.test.ts (12 tests) 346ms stderr | src/ui/components/messages/ToolGroupMessage.test.tsx An update to ToolMessage inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { /* fire events that update state */ }); /* assert on the output */ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act โฏ src/ui/components/messages/ToolGroupMessage.test.tsx (19 tests | 4 failed) 6760ms โœ“ > Golden Snapshots > renders single successful tool call 1009ms โœ“ > Golden Snapshots > renders multiple tool calls with different statuses 444ms ร— > Golden Snapshots > renders tool call awaiting confirmation 791ms โ†’ Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched โœ“ > Golden Snapshots > renders shell command with yellow border 228ms โœ“ > Golden Snapshots > renders mixed tool calls including shell command 531ms โœ“ > Golden Snapshots > renders with limited terminal height 189ms โœ“ > Golden Snapshots > renders when not focused 174ms โœ“ > Golden Snapshots > renders with narrow terminal width 201ms โœ“ > Golden Snapshots > renders empty tool calls array 21ms โœ“ > Golden Snapshots > renders header when scrolled 539ms โœ“ > Golden Snapshots > renders tool call with outputFile 252ms โœ“ > Golden Snapshots > renders two tool groups where only the last line of the previous group is visible 352ms โœ“ > Border Color Logic > uses yellow border when tools are pending 256ms โœ“ > Border Color Logic > uses yellow border for shell commands even when successful 213ms โœ“ > Border Color Logic > uses gray border when all tools are successful and no shell commands 218ms โœ“ > Height Calculation > calculates available height correctly with multiple tools with results 389ms ร— > Confirmation Handling > shows confirmation dialog for first confirming tool only 371ms โ†’ Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched ร— > Confirmation Handling > renders confirmation with permanent approval enabled 310ms โ†’ expected 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Allow for all future sessions' ร— > Confirmation Handling > renders confirmation with permanent approval disabled 247ms โ†’ Snapshot ` > Confirmation Handling > renders confirmation with permanent approval disabled 1` mismatched โœ“ src/config/trustedFolders.test.ts (21 tests) 154ms โœ“ src/ui/hooks/usePhraseCycler.test.tsx (13 tests) 2092ms โœ“ usePhraseCycler > should initialize with a witty phrase when not active and not waiting 537ms โœ“ usePhraseCycler > should show a tip on first activation, then a witty phrase 380ms โœ“ src/ui/contexts/ScrollProvider.test.tsx (9 tests) 518ms โœ“ ScrollProvider > Event Handling Status > returns true when scroll event is handled 336ms 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 (22 tests) 3568ms โœ“ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'in Cloud Shell' 820ms โœ“ AuthDialog > handleAuthSelect > exits process for Login with Google when browser is suppressed 381ms 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 (22 tests) 354ms โœ“ src/utils/handleAutoUpdate.test.ts (19 tests) 277ms 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) 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) 1202ms โœ“ src/services/CommandService.test.ts (11 tests) 218ms โœ“ src/ui/hooks/usePermissionsModifyTrust.test.ts (13 tests) 313ms โœ“ src/utils/installationInfo.test.ts (16 tests) 244ms โœ“ src/ui/components/shared/MaxSizedBox.test.tsx (21 tests) 2207ms โœ“ > renders children without truncation when they fit 343ms โœ“ > handles words longer than maxWidth by splitting them 393ms โฏ src/ui/components/shared/ScrollableList.test.tsx (3 tests | 3 failed) 3244ms ร— ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up 1861ms โ†’ expected '\n โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ฆ' to contain 'Item 1001' ร— ScrollableList Demo Behavior > should display sticky header when scrolled past the item 1324ms โ†’ 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 37ms โ†’ expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0' โœ“ src/utils/commentJson.test.ts (12 tests) 255ms โœ“ src/ui/commands/directoryCommand.test.tsx (13 tests) 324ms โœ“ src/config/settings-validation.test.ts (22 tests) 162ms stdout | src/ui/commands/setupGithubCommand.test.ts > setupGithubCommand > throws an error when download fails Failed to download required setup files: Error: Invalid response code downloading https://raw.githubusercontent.com/google-github-actions/run-gemini-cli/refs/tags/v1.2.3/examples/workflows/gemini-dispatch/gemini-dispatch.yml: 404 - Not Found at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.ts:131:17 at async Promise.all (index 0) at downloadFiles (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.ts:158:3) at async Promise.all (index 0) at downloadSetupFiles (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.ts:184:5) at Object.action (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.ts:240:5) at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.test.ts:216:5 at file:///build/gemini-cli/src/gemini-cli/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20 stdout | src/ui/commands/setupGithubCommand.test.ts > updateGitignore > handles file system errors gracefully Failed to update .gitignore: Error: ENOENT: no such file or directory, open '/tmp/update-gitignore-Wbvi42/non-existent/.gitignore'  at open (node:internal/fs/promises:641:25)  at Object.writeFile (node:internal/fs/promises:1249:14) at Module.updateGitignore (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.ts:82:7) at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/commands/setupGithubCommand.test.ts:319:5 at file:///build/gemini-cli/src/gemini-cli/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20 { errno: -2, code: 'ENOENT', syscall: 'open', path: '/tmp/update-gitignore-Wbvi42/non-existent/.gitignore' } โœ“ src/ui/commands/setupGithubCommand.test.ts (10 tests) 995ms โœ“ src/ui/commands/memoryCommand.test.ts (10 tests) 320ms โฏ src/ui/components/Footer.test.tsx (21 tests | 3 failed) 2517ms โœ“