@@ -517,28 +517,41 @@ export class Task extends EventEmitter<ClineEvents> {
517517 } else {
518518 // This is a new partial message, so add it with partial state.
519519 const sayTs = Date . now ( )
520- this . lastMessageTs = sayTs
520+
521+ if ( ! options . isNonInteractive ) {
522+ this . lastMessageTs = sayTs
523+ }
524+
521525 await this . addToClineMessages ( { ts : sayTs , type : "say" , say : type , text, images, partial } )
522526 }
523527 } else {
524528 // New now have a complete version of a previously partial message.
529+ // This is the complete version of a previously partial
530+ // message, so replace the partial with the complete version.
525531 if ( isUpdatingPreviousPartial ) {
526- // This is the complete version of a previously partial
527- // message, so replace the partial with the complete version.
528- this . lastMessageTs = lastMessage . ts
532+ if ( ! options . isNonInteractive ) {
533+ this . lastMessageTs = lastMessage . ts
534+ }
535+
529536 lastMessage . text = text
530537 lastMessage . images = images
531538 lastMessage . partial = false
532539 lastMessage . progressStatus = progressStatus
540+
533541 // Instead of streaming partialMessage events, we do a save
534542 // and post like normal to persist to disk.
535543 await this . saveClineMessages ( )
544+
536545 // More performant than an entire `postStateToWebview`.
537546 this . updateClineMessage ( lastMessage )
538547 } else {
539548 // This is a new and complete message, so add it like normal.
540549 const sayTs = Date . now ( )
541- this . lastMessageTs = sayTs
550+
551+ if ( ! options . isNonInteractive ) {
552+ this . lastMessageTs = sayTs
553+ }
554+
542555 await this . addToClineMessages ( { ts : sayTs , type : "say" , say : type , text, images } )
543556 }
544557 }
0 commit comments