@@ -41,6 +41,7 @@ import {
4141 loadSelectedRelayReasoningEffort ,
4242 resolveInitialRelayModelSelection ,
4343 resolveInitialRelayProviderSelection ,
44+ resolveInitialSupportsWebsocketsSelection ,
4445 resolveRelayEndpointSelection ,
4546 saveCodexLocalAuthStrategy ,
4647 saveLANAccessEnabled ,
@@ -227,6 +228,16 @@ export default function StatusFeature({
227228 }
228229 } , [ codexLocalPreflight . reason , t ] ) ;
229230
231+ function selectRelayProviderID ( providerID : string ) {
232+ setSelectedRelayProviderID ( providerID ) ;
233+ setSupportsWebsockets (
234+ resolveInitialSupportsWebsocketsSelection ( {
235+ selectedProviderID : providerID ,
236+ providerState : localCodexProviderState ,
237+ } )
238+ ) ;
239+ }
240+
230241 useEffect ( ( ) => {
231242 let cancelled = false ;
232243
@@ -356,11 +367,16 @@ export default function StatusFeature({
356367 providerState ?. providers || [ ] ,
357368 activeProvider
358369 ) ;
359- setSelectedRelayProviderID (
360- resolveInitialRelayProviderSelection ( {
361- providerOptions : next ,
362- activeProviderID : providerState ?. currentProviderID ,
363- hasExplicitActiveProvider : Boolean ( providerState ?. hasExplicitCurrentProvider ) ,
370+ const nextSelectedProviderID = resolveInitialRelayProviderSelection ( {
371+ providerOptions : next ,
372+ activeProviderID : providerState ?. currentProviderID ,
373+ hasExplicitActiveProvider : Boolean ( providerState ?. hasExplicitCurrentProvider ) ,
374+ } ) ;
375+ setSelectedRelayProviderID ( nextSelectedProviderID ) ;
376+ setSupportsWebsockets (
377+ resolveInitialSupportsWebsocketsSelection ( {
378+ selectedProviderID : nextSelectedProviderID ,
379+ providerState,
364380 } )
365381 ) ;
366382 return next ;
@@ -839,11 +855,16 @@ export default function StatusFeature({
839855 providerState ?. providers || [ ] ,
840856 activeProvider
841857 ) ;
842- setSelectedRelayProviderID (
843- resolveInitialRelayProviderSelection ( {
844- providerOptions : next ,
845- activeProviderID : providerState ?. currentProviderID ,
846- hasExplicitActiveProvider : Boolean ( providerState ?. hasExplicitCurrentProvider ) ,
858+ const nextSelectedProviderID = resolveInitialRelayProviderSelection ( {
859+ providerOptions : next ,
860+ activeProviderID : providerState ?. currentProviderID ,
861+ hasExplicitActiveProvider : Boolean ( providerState ?. hasExplicitCurrentProvider ) ,
862+ } ) ;
863+ setSelectedRelayProviderID ( nextSelectedProviderID ) ;
864+ setSupportsWebsockets (
865+ resolveInitialSupportsWebsocketsSelection ( {
866+ selectedProviderID : nextSelectedProviderID ,
867+ providerState,
847868 } )
848869 ) ;
849870 return next ;
@@ -1089,7 +1110,7 @@ export default function StatusFeature({
10891110 onSelectEndpointID = { setSelectedEndpointID }
10901111 onCopyEndpointBaseUrl = { ( ) => void copyText ( selectedEndpoint . baseUrl , t ( 'status.endpoint_copied' ) ) }
10911112 onOpenCreateRelayProviderEditor = { openCreateRelayProviderEditor }
1092- onSelectRelayProviderID = { setSelectedRelayProviderID }
1113+ onSelectRelayProviderID = { selectRelayProviderID }
10931114 onSelectCodexLocalAuthStrategy = { setCodexLocalAuthStrategy }
10941115 onDeleteRelayProviderOption = { deleteRelayProviderOption }
10951116 onSelectRelayReasoningEffort = { setSelectedRelayReasoningEffort }
0 commit comments