@@ -172,17 +172,17 @@ struct StatusMenuPersistentRefreshTests {
172172 let gate = ManualRefreshGate ( )
173173 controller. _test_manualRefreshOperation = { await gate. wait ( ) }
174174 #expect( try controller. handleMenuTrackingShortcutEvent ( self . keyEvent ( " r " , keyCode: 15 ) , menu: menu) )
175- for _ in 0 ..< 20 where controller. manualRefreshTask == nil {
175+ for _ in 0 ..< 20 where controller. manualRefreshTasks [ . provider ( . codex ) ] == nil {
176176 await Task . yield ( )
177177 }
178178
179- let task = try #require( controller. manualRefreshTask )
179+ let task = try #require( controller. manualRefreshTasks [ . provider ( . codex ) ] )
180180 #expect( !refreshItem. isEnabled)
181181
182182 gate. resume ( )
183183 await task. value
184184
185- #expect( controller. manualRefreshTask == nil )
185+ #expect( controller. manualRefreshTasks [ . provider ( . codex ) ] == nil )
186186 #expect( refreshItem. isEnabled)
187187 }
188188
@@ -767,7 +767,7 @@ struct StatusMenuPersistentRefreshTests {
767767 controller. refreshNow ( )
768768
769769 #expect( requestCount == 0 )
770- #expect( controller. manualRefreshTask == nil )
770+ #expect( controller. manualRefreshTasks . isEmpty )
771771 #expect( !controller. menuCardRefreshMonitor. isManualRefreshInFlight)
772772 }
773773
@@ -787,7 +787,7 @@ struct StatusMenuPersistentRefreshTests {
787787 }
788788
789789 controller. refreshNow ( )
790- let task = try #require( controller. manualRefreshTask )
790+ let task = try #require( controller. manualRefreshTasks [ . global ] )
791791 controller. refreshNow ( )
792792 controller. refreshNow ( )
793793 await Task . yield ( )
@@ -798,7 +798,7 @@ struct StatusMenuPersistentRefreshTests {
798798 gate. resume ( )
799799 await task. value
800800
801- #expect( controller. manualRefreshTask == nil )
801+ #expect( controller. manualRefreshTasks [ . global ] == nil )
802802 #expect( !controller. menuCardRefreshMonitor. isManualRefreshInFlight)
803803 }
804804
@@ -824,11 +824,10 @@ struct StatusMenuPersistentRefreshTests {
824824 let refreshItem = try #require( menu. items. first { $0. title == " Refresh " } )
825825 #expect( controller. isPersistentRefreshItem ( refreshItem) )
826826 controller. performPersistentRefreshAction ( in: ObjectIdentifier ( menu) )
827- for _ in 0 ..< 20 where controller. manualRefreshTask == nil {
827+ for _ in 0 ..< 20 where controller. manualRefreshTasks [ . provider ( . claude ) ] == nil {
828828 await Task . yield ( )
829829 }
830- let mouseTask = try #require( controller. manualRefreshTask)
831- #expect( controller. manualRefreshProvider == . claude)
830+ let mouseTask = try #require( controller. manualRefreshTasks [ . provider( . claude) ] )
832831
833832 // Refreshing Claude greys the Claude row but must leave the Codex row available.
834833 #expect( controller. isRefreshActionInFlight ( for: menu) )
@@ -840,11 +839,10 @@ struct StatusMenuPersistentRefreshTests {
840839 let keyboardGate = ManualRefreshGate ( )
841840 controller. _test_manualRefreshOperation = { await keyboardGate. wait ( ) }
842841 #expect( try menu. performKeyEquivalent ( with: self . keyEvent ( " r " , keyCode: 15 ) ) )
843- for _ in 0 ..< 20 where controller. manualRefreshTask == nil {
842+ for _ in 0 ..< 20 where controller. manualRefreshTasks [ . provider ( . claude ) ] == nil {
844843 await Task . yield ( )
845844 }
846- let keyboardTask = try #require( controller. manualRefreshTask)
847- #expect( controller. manualRefreshProvider == . claude)
845+ let keyboardTask = try #require( controller. manualRefreshTasks [ . provider( . claude) ] )
848846 keyboardGate. resume ( )
849847 await keyboardTask. value
850848 }
@@ -874,8 +872,7 @@ struct StatusMenuPersistentRefreshTests {
874872 }
875873
876874 #expect( requestCount == 0 )
877- #expect( controller. manualRefreshTask == nil )
878- #expect( controller. manualRefreshProvider == nil )
875+ #expect( controller. manualRefreshTasks. isEmpty)
879876 }
880877
881878 @Test
@@ -897,11 +894,10 @@ struct StatusMenuPersistentRefreshTests {
897894 let refreshItem = try #require( menu. items. first { $0. title == " Refresh " } )
898895 #expect( controller. isPersistentRefreshItem ( refreshItem) )
899896 controller. performPersistentRefreshAction ( in: ObjectIdentifier ( menu) )
900- for _ in 0 ..< 20 where controller. manualRefreshTask == nil {
897+ for _ in 0 ..< 20 where controller. manualRefreshTasks [ . global ] == nil {
901898 await Task . yield ( )
902899 }
903- let overviewTask = try #require( controller. manualRefreshTask)
904- #expect( controller. manualRefreshProvider == nil )
900+ let overviewTask = try #require( controller. manualRefreshTasks [ . global] )
905901 overviewGate. resume ( )
906902 await overviewTask. value
907903
@@ -910,11 +906,10 @@ struct StatusMenuPersistentRefreshTests {
910906 let providerGate = ManualRefreshGate ( )
911907 controller. _test_manualRefreshOperation = { await providerGate. wait ( ) }
912908 #expect( try menu. performKeyEquivalent ( with: self . keyEvent ( " r " , keyCode: 15 ) ) )
913- for _ in 0 ..< 20 where controller. manualRefreshTask == nil {
909+ for _ in 0 ..< 20 where controller. manualRefreshTasks [ . provider ( . claude ) ] == nil {
914910 await Task . yield ( )
915911 }
916- let providerTask = try #require( controller. manualRefreshTask)
917- #expect( controller. manualRefreshProvider == . claude)
912+ let providerTask = try #require( controller. manualRefreshTasks [ . provider( . claude) ] )
918913 providerGate. resume ( )
919914 await providerTask. value
920915 }
@@ -965,13 +960,13 @@ struct StatusMenuPersistentRefreshTests {
965960 }
966961
967962 controller. refreshNow ( )
968- let task = try #require( controller. manualRefreshTask )
963+ let task = try #require( controller. manualRefreshTasks [ . global ] )
969964 #expect( !refreshItem. isEnabled)
970965
971966 gate. resume ( )
972967 await task. value
973968
974- #expect( controller. manualRefreshTask == nil )
969+ #expect( controller. manualRefreshTasks [ . global ] == nil )
975970 #expect( refreshItem. isEnabled)
976971 let fallback = MenuCardLiveSubtitle ( text: " Fallback " , style: . info)
977972 #expect( controller. menuCardRefreshMonitor. subtitle ( for: . codex, fallback: fallback) . style == . error)
0 commit comments