From 3f50a2ef076c488f412f7aeff523160ec60162d9 Mon Sep 17 00:00:00 2001 From: Jack Kingsman Date: Sun, 15 Mar 2026 17:14:55 -0700 Subject: [PATCH] fix e2e sort order test --- ...-D8HqJbrh.js => BotCodeEditor-DR_BaXar.js} | Bin 467083 -> 467083 bytes ...h.js.map => BotCodeEditor-DR_BaXar.js.map} | Bin 1956915 -> 1956915 bytes ...l-CQP9hluh.js => CrackerPanel-BP-Q9HDo.js} | Bin 129410 -> 129410 bytes ...uh.js.map => CrackerPanel-BP-Q9HDo.js.map} | Bin 396562 -> 396562 bytes ...apView-ClQphI6P.js => MapView-DytU-fVV.js} | Bin 4086 -> 4086 bytes ...lQphI6P.js.map => MapView-DytU-fVV.js.map} | Bin 14879 -> 14879 bytes ...17OsoB.js => NeighborsMiniMap-Dju8bMYb.js} | Bin 1670 -> 1670 bytes ...s.map => NeighborsMiniMap-Dju8bMYb.js.map} | Bin 5886 -> 5886 bytes ...p-C6PZ0wFI.js => PathRouteMap-D3poE0C9.js} | Bin 3868 -> 3868 bytes ...FI.js.map => PathRouteMap-D3poE0C9.js.map} | Bin 14070 -> 14070 bytes .../{Popup-A7yuH1dp.js => Popup-kARDuK6y.js} | Bin 920 -> 920 bytes ...-A7yuH1dp.js.map => Popup-kARDuK6y.js.map} | Bin 4181 -> 4181 bytes ...9PNsp.js => RepeaterDashboard-BDRVFKsI.js} | Bin 28491 -> 28491 bytes ....map => RepeaterDashboard-BDRVFKsI.js.map} | Bin 89840 -> 89840 bytes ...iew-Dcvv4c8P.js => SearchView-tXHXH02i.js} | Bin 5106 -> 5106 bytes ...4c8P.js.map => SearchView-tXHXH02i.js.map} | Bin 16886 -> 16886 bytes ...-kexfpcq5.js => SettingsModal-Dtfx_pBE.js} | Bin 77263 -> 77263 bytes ...5.js.map => SettingsModal-Dtfx_pBE.js.map} | Bin 196690 -> 196690 bytes ...BLZNJTl2.js => VisualizerView-BgaEF0Sw.js} | Bin 590321 -> 590321 bytes ....js.map => VisualizerView-BgaEF0Sw.js.map} | Bin 3112795 -> 3112795 bytes frontend/prebuilt/assets/hooks-BwtZ3ZXP.js | Bin 157 -> 0 bytes frontend/prebuilt/assets/hooks-DmAVOeP2.js | Bin 0 -> 157 bytes ...-BwtZ3ZXP.js.map => hooks-DmAVOeP2.js.map} | Bin 1128 -> 1128 bytes .../{index-CyRLXsJ_.js => index-fakNQBhQ.js} | Bin 583431 -> 583431 bytes ...-CyRLXsJ_.js.map => index-fakNQBhQ.js.map} | Bin 2116437 -> 2116437 bytes ...eaflet-IXizDMbG.js => leaflet-CiRM2en4.js} | Bin 153764 -> 153764 bytes ...XizDMbG.js.map => leaflet-CiRM2en4.js.map} | Bin 700833 -> 700833 bytes ...ator-CrdYjM_C.js => separator-Dddr-OIj.js} | Bin 1068 -> 1068 bytes ...YjM_C.js.map => separator-Dddr-OIj.js.map} | Bin 5058 -> 5058 bytes frontend/prebuilt/index.html | Bin 2761 -> 2761 bytes tests/e2e/specs/sidebar-sort.spec.ts | 14 ++++++++------ 31 files changed, 8 insertions(+), 6 deletions(-) rename frontend/prebuilt/assets/{BotCodeEditor-D8HqJbrh.js => BotCodeEditor-DR_BaXar.js} (99%) rename frontend/prebuilt/assets/{BotCodeEditor-D8HqJbrh.js.map => BotCodeEditor-DR_BaXar.js.map} (99%) rename frontend/prebuilt/assets/{CrackerPanel-CQP9hluh.js => CrackerPanel-BP-Q9HDo.js} (99%) rename frontend/prebuilt/assets/{CrackerPanel-CQP9hluh.js.map => CrackerPanel-BP-Q9HDo.js.map} (99%) rename frontend/prebuilt/assets/{MapView-ClQphI6P.js => MapView-DytU-fVV.js} (92%) rename frontend/prebuilt/assets/{MapView-ClQphI6P.js.map => MapView-DytU-fVV.js.map} (99%) rename frontend/prebuilt/assets/{NeighborsMiniMap-Bi17OsoB.js => NeighborsMiniMap-Dju8bMYb.js} (85%) rename frontend/prebuilt/assets/{NeighborsMiniMap-Bi17OsoB.js.map => NeighborsMiniMap-Dju8bMYb.js.map} (97%) rename frontend/prebuilt/assets/{PathRouteMap-C6PZ0wFI.js => PathRouteMap-D3poE0C9.js} (95%) rename frontend/prebuilt/assets/{PathRouteMap-C6PZ0wFI.js.map => PathRouteMap-D3poE0C9.js.map} (99%) rename frontend/prebuilt/assets/{Popup-A7yuH1dp.js => Popup-kARDuK6y.js} (81%) rename frontend/prebuilt/assets/{Popup-A7yuH1dp.js.map => Popup-kARDuK6y.js.map} (97%) rename frontend/prebuilt/assets/{RepeaterDashboard-Dj09PNsp.js => RepeaterDashboard-BDRVFKsI.js} (98%) rename frontend/prebuilt/assets/{RepeaterDashboard-Dj09PNsp.js.map => RepeaterDashboard-BDRVFKsI.js.map} (99%) rename frontend/prebuilt/assets/{SearchView-Dcvv4c8P.js => SearchView-tXHXH02i.js} (97%) rename frontend/prebuilt/assets/{SearchView-Dcvv4c8P.js.map => SearchView-tXHXH02i.js.map} (99%) rename frontend/prebuilt/assets/{SettingsModal-kexfpcq5.js => SettingsModal-Dtfx_pBE.js} (99%) rename frontend/prebuilt/assets/{SettingsModal-kexfpcq5.js.map => SettingsModal-Dtfx_pBE.js.map} (99%) rename frontend/prebuilt/assets/{VisualizerView-BLZNJTl2.js => VisualizerView-BgaEF0Sw.js} (99%) rename frontend/prebuilt/assets/{VisualizerView-BLZNJTl2.js.map => VisualizerView-BgaEF0Sw.js.map} (99%) delete mode 100644 frontend/prebuilt/assets/hooks-BwtZ3ZXP.js create mode 100644 frontend/prebuilt/assets/hooks-DmAVOeP2.js rename frontend/prebuilt/assets/{hooks-BwtZ3ZXP.js.map => hooks-DmAVOeP2.js.map} (90%) rename frontend/prebuilt/assets/{index-CyRLXsJ_.js => index-fakNQBhQ.js} (99%) rename frontend/prebuilt/assets/{index-CyRLXsJ_.js.map => index-fakNQBhQ.js.map} (99%) rename frontend/prebuilt/assets/{leaflet-IXizDMbG.js => leaflet-CiRM2en4.js} (99%) rename frontend/prebuilt/assets/{leaflet-IXizDMbG.js.map => leaflet-CiRM2en4.js.map} (99%) rename frontend/prebuilt/assets/{separator-CrdYjM_C.js => separator-Dddr-OIj.js} (89%) rename frontend/prebuilt/assets/{separator-CrdYjM_C.js.map => separator-Dddr-OIj.js.map} (98%) diff --git a/frontend/prebuilt/assets/BotCodeEditor-D8HqJbrh.js b/frontend/prebuilt/assets/BotCodeEditor-DR_BaXar.js similarity index 99% rename from frontend/prebuilt/assets/BotCodeEditor-D8HqJbrh.js rename to frontend/prebuilt/assets/BotCodeEditor-DR_BaXar.js index 7e9d5f42c5d057ecde6860da0e8b1c644e0b5278..7fa4366d6e11b427f00f21a281a31420a06af5ff 100644 GIT binary patch delta 58 zcmeA^DARpVW`YVwT4J_epi@R*qfV<1W2+8Rs}6Ik4oj;JYpV|1Rvq>L1^%FTr^JZF NBE76)z1+kCE&wMC5vTwF delta 58 zcmeA^DARpVW`YWbb7hcEM6p+VqfV<1W2+8Rs}6Ik4oj;JYpV|1Rvq>L1%3;ULa(Hv N485#kz1+kCE&wJJ5uyM9 diff --git a/frontend/prebuilt/assets/BotCodeEditor-D8HqJbrh.js.map b/frontend/prebuilt/assets/BotCodeEditor-DR_BaXar.js.map similarity index 99% rename from frontend/prebuilt/assets/BotCodeEditor-D8HqJbrh.js.map rename to frontend/prebuilt/assets/BotCodeEditor-DR_BaXar.js.map index 09e4bc81d2a572cf77d03a88a30a82482932e919..349a6ba1b40c9a5302e95d65e747ebcb2ef7c16a 100644 GIT binary patch delta 107 zcmV~$yA6T>06@X0DBz#3h}zk`Ef~Ry&aeUvHO1@Qg_tmm!+1B%!!!?{XZU(IUEB2| tvXG^$B#^aiB$P;E*~(7#a*(5(06@X0AmE>`irU$|1sK6Fh83+g)D*9G7h=LN4&&W8_2blk?oso2wa<4q tATycELIMe8DUrmI$V%3-k*(}xF9%5_lUxcZrIMqZF7M2#)Eo`j3yiNhSftDUF`FdH!O0@vVX$o@y delta 35 qcmbOF7M2#)Eo`j3yv~6EmKiyv8G2d8O0@va2MYZF diff --git a/frontend/prebuilt/assets/MapView-ClQphI6P.js b/frontend/prebuilt/assets/MapView-DytU-fVV.js similarity index 92% rename from frontend/prebuilt/assets/MapView-ClQphI6P.js rename to frontend/prebuilt/assets/MapView-DytU-fVV.js index 476282a091ada550d10c004a4d32fb602a6d8c70..62aaeab6de9c83c2eaf064a8cd24f6b7a4ac8089 100644 GIT binary patch delta 72 zcmew+|4n{^IY(MzwqKxAM&LwyO%CVGAYY@@Jd=q9>KxgQK`y1Ku;dm8BkrDFqYfD{wfKmqZyy cMFea-F3&IEoD*1(;b|72msPBnn^?dF0GHVqTmS$7 diff --git a/frontend/prebuilt/assets/MapView-ClQphI6P.js.map b/frontend/prebuilt/assets/MapView-DytU-fVV.js.map similarity index 99% rename from frontend/prebuilt/assets/MapView-ClQphI6P.js.map rename to frontend/prebuilt/assets/MapView-DytU-fVV.js.map index 2c79d604752af0bf687ac5cc754ad4e2cc3d4866..206051a3ed33b12059f6628c6199b97254e3a525 100644 GIT binary patch delta 19 acmbPVGQVVkEQd>FNvLjGSlC9@UzPw(aR;gZ delta 19 acmbPVGQVVkEQfPWU_pkbS-?isUzPw&ng@&k diff --git a/frontend/prebuilt/assets/NeighborsMiniMap-Bi17OsoB.js b/frontend/prebuilt/assets/NeighborsMiniMap-Dju8bMYb.js similarity index 85% rename from frontend/prebuilt/assets/NeighborsMiniMap-Bi17OsoB.js rename to frontend/prebuilt/assets/NeighborsMiniMap-Dju8bMYb.js index c1e901fb13beb1c9d4d7d56594ccd66efed8b395..b4fb52fa2d67daa02c260442b70880909530fc8a 100644 GIT binary patch delta 60 zcmZqUZR4FF&5@Rv?HA~j5jauVmBTqR$k!+}&tzhOI!Cr+kV~nzS>?w0*I5NzvPvzI Pd?S<{9 delta 60 zcmbOuH%D%QCWmunkWWOhSNuf7U=GiS%qkb(B=?Cu3LH-5B~ivv5dj;wMDPhXn*~G} Ql)HKAWfkk?CKhl30AHLFl>h($ diff --git a/frontend/prebuilt/assets/PathRouteMap-C6PZ0wFI.js.map b/frontend/prebuilt/assets/PathRouteMap-D3poE0C9.js.map similarity index 99% rename from frontend/prebuilt/assets/PathRouteMap-C6PZ0wFI.js.map rename to frontend/prebuilt/assets/PathRouteMap-D3poE0C9.js.map index acb0c693de7d3da20fe8a2b7cc5c1d0f5c3d9d06..cc476cbe2856c7eec00a81f006c39d637c4bc142 100644 GIT binary patch delta 19 acmeyC`z?2Z5{HX%LB6Yjv*kvuGiCr(xCf;G delta 19 acmeyC`z?2Z5{I){K$Jnbo99NYGiCr(dk41w diff --git a/frontend/prebuilt/assets/Popup-A7yuH1dp.js b/frontend/prebuilt/assets/Popup-kARDuK6y.js similarity index 81% rename from frontend/prebuilt/assets/Popup-A7yuH1dp.js rename to frontend/prebuilt/assets/Popup-kARDuK6y.js index b4fea0e313c6c9be9ea438d2df80f608e5d2ba52..49af407b65394c6507cfedf0bfec81472462a832 100644 GIT binary patch delta 48 zcmbQiK7)ON35RoLkgri{p2;A$BLM(L_XcGE delta 19 acmcbra8+S~G>4;kWvPc@O2I~DBLM(LnFeP7 diff --git a/frontend/prebuilt/assets/RepeaterDashboard-Dj09PNsp.js b/frontend/prebuilt/assets/RepeaterDashboard-BDRVFKsI.js similarity index 98% rename from frontend/prebuilt/assets/RepeaterDashboard-Dj09PNsp.js rename to frontend/prebuilt/assets/RepeaterDashboard-BDRVFKsI.js index 173f1bf87e01a92f779ae9d35bed4a9f598ce9bb..4e55ebdcbc58a5a24570867ec53a8389bcdf07a3 100644 GIT binary patch delta 129 zcmX?okMZ<9#tA{nE?K1(NxqRudRfIvI!cMf#i=F5`k8qtsTI0uiP?UEP8op{OAR@k zGlP7MQu9nEt~2Dwb_{YU^){=V`1}|LOwHu2j4B*1DJey|{+?NzA2Pb?bHGgAtY^q; VC*b4~6z1k#>AxDdRfIvI!cMf#i=F5`k8qtsTI1;l|eoc#a{6fOAR?Z zBQmR8e3RTKt~2CtG_Nf6Fia_!`1}|LOwHu2j4B+?MJbV4zVXhRA2Pb?bHGgAtY^q; VC*YE0U>V?7TmZC3FE_D(3jp9KEXe=> diff --git a/frontend/prebuilt/assets/RepeaterDashboard-Dj09PNsp.js.map b/frontend/prebuilt/assets/RepeaterDashboard-BDRVFKsI.js.map similarity index 99% rename from frontend/prebuilt/assets/RepeaterDashboard-Dj09PNsp.js.map rename to frontend/prebuilt/assets/RepeaterDashboard-BDRVFKsI.js.map index 7c9e703ff26c7aaed53c410a938358f2c982b513..f5ed37151bd28467c08f8db63bf74d64f0a8cb9f 100644 GIT binary patch delta 25 gcmeycm-WM5)`l&NkK=fqT!O;fyo){cvWk^z0hE^t4FCWD delta 25 gcmeycm-WM5)`l&NkK=e+kWWOhSNul*$-)9I$z^3G$rb^6S;cy}i3MB$|8)$> diff --git a/frontend/prebuilt/assets/SearchView-Dcvv4c8P.js.map b/frontend/prebuilt/assets/SearchView-tXHXH02i.js.map similarity index 99% rename from frontend/prebuilt/assets/SearchView-Dcvv4c8P.js.map rename to frontend/prebuilt/assets/SearchView-tXHXH02i.js.map index fdda9aae38d7d0722b018ff4f7a98d92129fafdb..f8f2eb56ca75b72bbc3402c7028c3035e04d5d86 100644 GIT binary patch delta 21 ccmey?%=oRDae@LzNrXp)hk;S%MvZfh0A4!?6aWAK delta 21 ccmey?%=oRDae@MeOLAG6NwP)2MvZfh0AIQYM*si- diff --git a/frontend/prebuilt/assets/SettingsModal-kexfpcq5.js b/frontend/prebuilt/assets/SettingsModal-Dtfx_pBE.js similarity index 99% rename from frontend/prebuilt/assets/SettingsModal-kexfpcq5.js rename to frontend/prebuilt/assets/SettingsModal-Dtfx_pBE.js index 516f998fff06613b723eb7d27ec14f016fd63b36..5ecd2a941750693aa575e48f37afe5bdb17fb64a 100644 GIT binary patch delta 131 zcmX?qo8|m%mI(n$LGezB5s5{5S;a~^N{PkAsU^kwnRzLx6}oAO*?xge8G##%m>D@> zoXNF}DjY5;DMh;eo>`k$GO|XoLrvJcHJW)ZyGf#XYNBQ8bO8lM>B;_kMJDr`@NWMt Y!FWVOz@;RuBEG=M6=;=SZejr!0PegjrT_o{ delta 131 zcmX?qo8|m%mI(n$79NFONktiYS;a~^N{PkAsU^kwnRzLx6}rxqK|T@1Uhx}?m>D@> zoXNF}Djd#5DUn&e@y?r9GO|XoLrvJcHJW)ZyOE`_nT4gB;_kMJDr`@NWMt Y!FWVOAUm}ptsuG36lj%RZejr!0N5HVJ^%m! diff --git a/frontend/prebuilt/assets/SettingsModal-kexfpcq5.js.map b/frontend/prebuilt/assets/SettingsModal-Dtfx_pBE.js.map similarity index 99% rename from frontend/prebuilt/assets/SettingsModal-kexfpcq5.js.map rename to frontend/prebuilt/assets/SettingsModal-Dtfx_pBE.js.map index 907708766f604eee75409b92fa046c95a7ad0ce3..78eb646ab38b1593a5ae9ece345e02cfb35c82f8 100644 GIT binary patch delta 28 jcmccAz;mgAr=f+hg=q@2E3ZpQT19+;ldE1_E&h Y-ItMbDt~&StD8Y^IZ&ToZejr!03XK}ng9R* delta 81 zcmey^tn#s0WkMg1b7hcEM6p-AURJTvWJadV&AyE7zKkHu1jNih%mT!$K+Fcj>_E&h Y-ItMbD!)&ZpI1nZ5m29AZejr!03LrAe*gdg diff --git a/frontend/prebuilt/assets/VisualizerView-BLZNJTl2.js.map b/frontend/prebuilt/assets/VisualizerView-BgaEF0Sw.js.map similarity index 99% rename from frontend/prebuilt/assets/VisualizerView-BLZNJTl2.js.map rename to frontend/prebuilt/assets/VisualizerView-BgaEF0Sw.js.map index 11853c7f6a3ec1da5651558ecd0d616702b7321a..1ee270a6659c777e0569d44b8636935e3370ae67 100644 GIT binary patch delta 163 zcmWO0wGjdV006;3A9r`xLz;jFsDOwP2pNLQX@-zWz8409%{TmhBH`a_9^9^{^YL=E3=PIbH9^ zClZmU#3U{WNlG9oNlQkul9Rj?q$njROGT4iuieVQ$sE3ZyrGh9FLI{SJST<{=+xYg4tg-)|^ZY*V^N3L^z&J02 zyz?pBeVdA!(=~sYxD?CgEMbPA??H_-H*nSu9J3=8zkPi>EM#wGheAmLN$P;31xYYT t^O0%Kr%-SZEY_D%QLKnj7CK%tt%ZDCnrib@>TR;^2itW^&$BaJqdz#NH&Flp diff --git a/frontend/prebuilt/assets/hooks-DmAVOeP2.js b/frontend/prebuilt/assets/hooks-DmAVOeP2.js new file mode 100644 index 0000000000000000000000000000000000000000..97cc114523de76e24a307e47c584edd0c7e12cbb GIT binary patch literal 157 zcmW-ay$XXc7)5uVBG^TTC`dQy(4VokRcQBMzi6uY;Y$KS$h%ja@44p)X*9aDD24jM zLOGir?PY9>pG|AAZ^090iHjVyT)7z-pTW_q=$Z=DaVNP~y%Smy%<_QXJSyU{ypYU9 pShhmI&EjL7l;wd~?Xic386(v2?(U~i>&eoaJb#|>s#fQAP5vJ#HrD_E literal 0 HcmV?d00001 diff --git a/frontend/prebuilt/assets/hooks-BwtZ3ZXP.js.map b/frontend/prebuilt/assets/hooks-DmAVOeP2.js.map similarity index 90% rename from frontend/prebuilt/assets/hooks-BwtZ3ZXP.js.map rename to frontend/prebuilt/assets/hooks-DmAVOeP2.js.map index 727a56645379ed77d212d007b88bfa66fe4625d0..b7815b56a294081be6e4bf04952f8a68bbf07e84 100644 GIT binary patch delta 19 acmaFC@q%N5G>1#BW0-$xfYC-}R~7(8R0b~q delta 19 acmaFC@q%N5G>21pNtAI^M8HO6R~7(AWd>~k diff --git a/frontend/prebuilt/assets/index-CyRLXsJ_.js b/frontend/prebuilt/assets/index-fakNQBhQ.js similarity index 99% rename from frontend/prebuilt/assets/index-CyRLXsJ_.js rename to frontend/prebuilt/assets/index-fakNQBhQ.js index 00abf741d8fad15978223f59cd3c313c2d894489..16d807d334d8be6ba78d75dc3ead8fdf0a2e245a 100644 GIT binary patch delta 330 zcmZoar`&!{d4iv+i*Z4|tAVqnURJS^j#6TAacW7ieoks)T25+-u5)IPuTg5A$;4tq z4wqcVF#ps5qls(eAIw(6zTeVW}!&?CKiNcrk3lv zRF;J5riF!}NCxB=lose_I|jLwdYe^F)?$?Aa4AWvh%az*ZT4ks_hkfOCLm@8VwUZ` zjI8Np95AQ1?mVz%vj%Gv#zIAD&OF7%5%p95yy^v+-G#q8;cu5Jdw<11&vV@5lBnS_6u~%2n4!c JFE_D(3jhs>Z~6cL delta 334 zcmZoar`&!{d4iv+vspltLAjf!URJS^j#6TAacW7ieoks)T25+-u4hDMm5XnZ`@~{H z4yW>xDC4MzfQf75<6W{0ECc+C3s5u_rxqj@C6?qD={gssL}vNMJEKVZCKiNcrk3kE z=L8mHc$x*ENCxB=loseZnpc*37^W0V)?$?A$WE`7)Vrh9JWDBy4o46w||Da`<>h~#idE-N!hwg`Zzci6fle8Ljkc|}j9YD)!XpHnGlP7MQu9povWoR`6AQQiUEvOo delta 44 zcmZ3ok#osL&IzU*&Xqwv5yf8djkc|}j9YD)!XpGcBQmR8e3RVuvWoR`6AQQiV0RA7 diff --git a/frontend/prebuilt/assets/leaflet-IXizDMbG.js.map b/frontend/prebuilt/assets/leaflet-CiRM2en4.js.map similarity index 99% rename from frontend/prebuilt/assets/leaflet-IXizDMbG.js.map rename to frontend/prebuilt/assets/leaflet-CiRM2en4.js.map index 909995ded01ade0bf1e1d8cf5a480fd6ca508733..7c1d2a0d96c54a33491a1c0443882622d41c8801 100644 GIT binary patch delta 51 zcmZ4ZSZm>9tqHOm&Y3~JMyYuwjjFAxjIF9nt*Xqesw}OltgWhSt*Y#;svNDVoLg17 HYBmA@xiJrP delta 51 zcmZ4ZSZm>9tqHOmo)MWW7 delta 36 rcmZ3(v4&%U0f%#CkWWOhSNukcC(HuQMJbV4zVXg_S;cy}i3MB$pdQxpdQx { await page.goto('/'); await expect(page.getByRole('status', { name: 'Radio OK' })).toBeVisible(); - // There are multiple sort toggles (Channels, Contacts, Repeaters sections). - // Use .first() to target the Channels sort toggle. - // When sort is 'alpha', button text is "A-Z" and title is "Sort by recent". - // When sort is 'recent', button text is "⏱" and title is "Sort alphabetically". - const sortByRecent = page.getByTitle('Sort by recent').first(); - const sortAlpha = page.getByTitle('Sort alphabetically').first(); + // Sidebar sort is now tracked per section, so target the Channels control + // explicitly instead of assuming a shared global toggle. + const sortByRecent = page.getByRole('button', { + name: 'Sort Channels by recent', + }); + const sortAlpha = page.getByRole('button', { + name: 'Sort Channels alphabetically', + }); // Wait for at least one sort button to appear await expect(sortByRecent.or(sortAlpha)).toBeVisible({ timeout: 10_000 });