File tree Expand file tree Collapse file tree
src/lib/components/chat/Messages Expand file tree Collapse file tree Original file line number Diff line number Diff line change 120120 export let selectedModels = [];
121121
122122 let message: MessageType = JSON .parse (JSON .stringify (history .messages [messageId ]));
123+ let streaming = false ;
124+
123125 $ : if (history .messages ) {
124- if (JSON .stringify (message ) !== JSON .stringify (history .messages [messageId ])) {
125- message = JSON .parse (JSON .stringify (history .messages [messageId ]));
126+ const source = history .messages [messageId ];
127+ if (source && ! source .done ) {
128+ // During streaming: use direct reference to avoid costly serialization.
129+ // All mutation controls (edit, rate, feedback) are gated behind message.done.
130+ message = source ;
131+ streaming = true ;
132+ } else if (streaming || JSON .stringify (message ) !== JSON .stringify (source )) {
133+ message = JSON .parse (JSON .stringify (source ));
134+ streaming = false ;
126135 }
127136 }
128137
You can’t perform that action at this time.
0 commit comments