fix: Fixed an issue where quotes in messages could not be displayed #2677 (#2683)

### What problem does this PR solve?

fix: Fixed an issue where quotes in messages could not be displayed
#2677

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [ ] New Feature (non-breaking change which adds functionality)
- [ ] Documentation Update
- [ ] Refactoring
- [ ] Performance Improvement
- [ ] Other (please describe):
This commit is contained in:
balibabu 2024-09-30 12:40:12 +08:00 committed by GitHub
parent 2368d738ab
commit 92a4a095c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -216,9 +216,16 @@ export const useSendMessageWithSse = (
) => { ) => {
const [answer, setAnswer] = useState<IAnswer>({} as IAnswer); const [answer, setAnswer] = useState<IAnswer>({} as IAnswer);
const [done, setDone] = useState(true); const [done, setDone] = useState(true);
const timer = useRef<any>();
const resetAnswer = useCallback(() => { const resetAnswer = useCallback(() => {
setAnswer({} as IAnswer); if (timer.current) {
clearTimeout(timer.current);
}
timer.current = setTimeout(() => {
setAnswer({} as IAnswer);
clearTimeout(timer.current);
}, 1000);
}, []); }, []);
const send = useCallback( const send = useCallback(
@ -251,7 +258,7 @@ export const useSendMessageWithSse = (
const { done, value } = x; const { done, value } = x;
if (done) { if (done) {
console.info('done'); console.info('done');
setAnswer({} as IAnswer); resetAnswer();
break; break;
} }
try { try {
@ -271,16 +278,16 @@ export const useSendMessageWithSse = (
} }
console.info('done?'); console.info('done?');
setDone(true); setDone(true);
setAnswer({} as IAnswer); resetAnswer();
return { data: await res, response }; return { data: await res, response };
} catch (e) { } catch (e) {
setDone(true); setDone(true);
setAnswer({} as IAnswer); resetAnswer();
console.warn(e); console.warn(e);
} }
}, },
[url], [url, resetAnswer],
); );
return { send, answer, done, setDone, resetAnswer }; return { send, answer, done, setDone, resetAnswer };