fix: Update answer concatenation logic to handle overlapping values (#12676)

### What problem does this PR solve?

Update answer concatenation logic to handle overlapping values

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Hwwwww-dev
2026-01-19 16:06:36 +08:00
committed by GitHub
parent ab1836f216
commit b27dc26be3

View File

@ -274,8 +274,17 @@ export const useSendMessageWithSse = (
const val = JSON.parse(value?.data || '');
const d = val?.data;
if (typeof d !== 'boolean') {
setAnswer((prev) => {
let newAnswer = (prev.answer || '') + (d.answer || '');
const prevAnswer = prev.answer || '';
const currentAnswer = d.answer || '';
let newAnswer: string;
if (prevAnswer && currentAnswer.startsWith(prevAnswer)) {
newAnswer = currentAnswer;
} else {
newAnswer = prevAnswer + currentAnswer;
}
if (d.start_to_think === true) {
newAnswer = newAnswer + '<think>';