@@ -2436,9 +2436,10 @@ export const useCopilotStore = create<CopilotStore>()(
24362436
24372437 // If already sending a message, queue this one instead
24382438 if ( isSendingMessage ) {
2439- get ( ) . addToQueue ( message , { fileAttachments, contexts } )
2439+ get ( ) . addToQueue ( message , { fileAttachments, contexts, messageId } )
24402440 logger . info ( '[Copilot] Message queued (already sending)' , {
24412441 queueLength : get ( ) . messageQueue . length + 1 ,
2442+ originalMessageId : messageId ,
24422443 } )
24432444 return
24442445 }
@@ -3164,8 +3165,12 @@ export const useCopilotStore = create<CopilotStore>()(
31643165 // Process next message in queue if any
31653166 const nextInQueue = get ( ) . messageQueue [ 0 ]
31663167 if ( nextInQueue ) {
3168+ // Use originalMessageId if available (from edit/resend), otherwise use queue entry id
3169+ const messageIdToUse = nextInQueue . originalMessageId || nextInQueue . id
31673170 logger . info ( '[Queue] Processing next queued message' , {
31683171 id : nextInQueue . id ,
3172+ originalMessageId : nextInQueue . originalMessageId ,
3173+ messageIdToUse,
31693174 queueLength : get ( ) . messageQueue . length ,
31703175 } )
31713176 // Remove from queue and send
@@ -3176,7 +3181,7 @@ export const useCopilotStore = create<CopilotStore>()(
31763181 stream : true ,
31773182 fileAttachments : nextInQueue . fileAttachments ,
31783183 contexts : nextInQueue . contexts ,
3179- messageId : nextInQueue . id ,
3184+ messageId : messageIdToUse ,
31803185 } )
31813186 } , 100 )
31823187 }
@@ -3618,10 +3623,12 @@ export const useCopilotStore = create<CopilotStore>()(
36183623 fileAttachments : options ?. fileAttachments ,
36193624 contexts : options ?. contexts ,
36203625 queuedAt : Date . now ( ) ,
3626+ originalMessageId : options ?. messageId ,
36213627 }
36223628 set ( { messageQueue : [ ...get ( ) . messageQueue , queuedMessage ] } )
36233629 logger . info ( '[Queue] Message added to queue' , {
36243630 id : queuedMessage . id ,
3631+ originalMessageId : options ?. messageId ,
36253632 queueLength : get ( ) . messageQueue . length ,
36263633 } )
36273634 } ,
@@ -3662,12 +3669,15 @@ export const useCopilotStore = create<CopilotStore>()(
36623669 await new Promise ( ( resolve ) => setTimeout ( resolve , 50 ) )
36633670 }
36643671
3672+ // Use originalMessageId if available (from edit/resend), otherwise use queue entry id
3673+ const messageIdToUse = message . originalMessageId || message . id
3674+
36653675 // Send the message
36663676 await get ( ) . sendMessage ( message . content , {
36673677 stream : true ,
36683678 fileAttachments : message . fileAttachments ,
36693679 contexts : message . contexts ,
3670- messageId : message . id ,
3680+ messageId : messageIdToUse ,
36713681 } )
36723682 } ,
36733683
0 commit comments