@@ -94,7 +94,12 @@ export async function runCodex(opts: {
9494 ? ( metadataCollaborationMode === 'plan' ? 'plan' : undefined )
9595 : undefined ;
9696
97+ const getCurrentCollaborationMode = ( ) : EnhancedMode [ 'collaborationMode' ] => {
98+ return sessionWrapperRef . current ?. getCollaborationMode ( ) ?? currentCollaborationMode ;
99+ } ;
100+
97101 const syncRuntimeMetadata = ( ) : void => {
102+ const collaborationMode = getCurrentCollaborationMode ( ) ;
98103 session . updateMetadata ( ( currentMetadata ) => {
99104 const {
100105 thinkEffort : _previousThinkEffort ,
@@ -106,12 +111,12 @@ export async function runCodex(opts: {
106111 ...metadataWithoutRuntime ,
107112 model : currentModel ,
108113 thinkEffort : currentEffort ,
109- ...( currentCollaborationMode ? { collaborationMode : currentCollaborationMode } : { } )
114+ ...( collaborationMode ? { collaborationMode } : { } )
110115 }
111116 : {
112117 ...metadataWithoutRuntime ,
113118 model : currentModel ,
114- ...( currentCollaborationMode ? { collaborationMode : currentCollaborationMode } : { } )
119+ ...( collaborationMode ? { collaborationMode } : { } )
115120 } ;
116121 } ) ;
117122 } ;
@@ -186,7 +191,7 @@ export async function runCodex(opts: {
186191 mode : sessionInstance ?. mode ?? startingMode ,
187192 sessionId : sessionInstance ?. sessionId ?? null ,
188193 permissionMode : currentPermissionMode ,
189- collaborationMode : currentCollaborationMode ,
194+ collaborationMode : getCurrentCollaborationMode ( ) ,
190195 queueSnapshot : getCodexQueueSnapshot ( )
191196 } ) ;
192197 } ;
@@ -223,7 +228,7 @@ export async function runCodex(opts: {
223228 permissionMode : messagePermissionMode ?? 'default' ,
224229 model : currentModel ,
225230 effort : currentEffort ,
226- collaborationMode : currentCollaborationMode ,
231+ collaborationMode : getCurrentCollaborationMode ( ) ,
227232 routeContext : message . meta ?. routeContext
228233 } ;
229234 const formattedText = formatMessageWithAttachments ( message . content . text , message . content . attachments ) ;
@@ -373,6 +378,7 @@ export async function runCodex(opts: {
373378
374379 if ( config . collaborationMode !== undefined ) {
375380 currentCollaborationMode = resolveCollaborationMode ( config . collaborationMode ) ;
381+ sessionWrapperRef . current ?. setCollaborationMode ( currentCollaborationMode ) ;
376382 syncRuntimeMetadata ( ) ;
377383 }
378384
@@ -385,7 +391,7 @@ export async function runCodex(opts: {
385391 return {
386392 applied : {
387393 permissionMode : currentPermissionMode ,
388- collaborationMode : currentCollaborationMode ,
394+ collaborationMode : getCurrentCollaborationMode ( ) ,
389395 thinkEffort : currentEffort
390396 }
391397 } ;
@@ -418,7 +424,7 @@ export async function runCodex(opts: {
418424 permissionMode : currentPermissionMode ?? 'default' ,
419425 model : currentModel ,
420426 effort : currentEffort ,
421- collaborationMode : currentCollaborationMode ,
427+ collaborationMode : getCurrentCollaborationMode ( ) ,
422428 routeContext : parsed . routeContext
423429 } ;
424430 messageQueue . push ( formattedText , enhancedMode , {
@@ -498,6 +504,7 @@ export async function runCodex(opts: {
498504 onSessionReady : ( instance ) => {
499505 sessionWrapperRef . current = instance ;
500506 syncSessionMode ( ) ;
507+ instance . setCollaborationMode ( currentCollaborationMode ) ;
501508 }
502509 } ) ;
503510 } catch ( error ) {
0 commit comments