From 7b72fde29f8a0131758561a6021ae187c091e68c Mon Sep 17 00:00:00 2001 From: balibabu Date: Mon, 30 Sep 2024 12:40:12 +0800 Subject: [PATCH] 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): --- web/src/hooks/logic-hooks.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/web/src/hooks/logic-hooks.ts b/web/src/hooks/logic-hooks.ts index c1a7e92e8e5..957de7931b8 100644 --- a/web/src/hooks/logic-hooks.ts +++ b/web/src/hooks/logic-hooks.ts @@ -216,9 +216,16 @@ export const useSendMessageWithSse = ( ) => { const [answer, setAnswer] = useState({} as IAnswer); const [done, setDone] = useState(true); + const timer = useRef(); 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( @@ -251,7 +258,7 @@ export const useSendMessageWithSse = ( const { done, value } = x; if (done) { console.info('done'); - setAnswer({} as IAnswer); + resetAnswer(); break; } try { @@ -271,16 +278,16 @@ export const useSendMessageWithSse = ( } console.info('done?'); setDone(true); - setAnswer({} as IAnswer); + resetAnswer(); return { data: await res, response }; } catch (e) { setDone(true); - setAnswer({} as IAnswer); + resetAnswer(); console.warn(e); } }, - [url], + [url, resetAnswer], ); return { send, answer, done, setDone, resetAnswer };