balibabu commited on
Commit
48b3292
·
1 Parent(s): 1d3ab7a

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

Browse files

### 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):

Files changed (1) hide show
  1. web/src/hooks/logic-hooks.ts +12 -5
web/src/hooks/logic-hooks.ts CHANGED
@@ -216,9 +216,16 @@ export const useSendMessageWithSse = (
216
  ) => {
217
  const [answer, setAnswer] = useState<IAnswer>({} as IAnswer);
218
  const [done, setDone] = useState(true);
 
219
 
220
  const resetAnswer = useCallback(() => {
221
- setAnswer({} as IAnswer);
 
 
 
 
 
 
222
  }, []);
223
 
224
  const send = useCallback(
@@ -251,7 +258,7 @@ export const useSendMessageWithSse = (
251
  const { done, value } = x;
252
  if (done) {
253
  console.info('done');
254
- setAnswer({} as IAnswer);
255
  break;
256
  }
257
  try {
@@ -271,16 +278,16 @@ export const useSendMessageWithSse = (
271
  }
272
  console.info('done?');
273
  setDone(true);
274
- setAnswer({} as IAnswer);
275
  return { data: await res, response };
276
  } catch (e) {
277
  setDone(true);
278
- setAnswer({} as IAnswer);
279
 
280
  console.warn(e);
281
  }
282
  },
283
- [url],
284
  );
285
 
286
  return { send, answer, done, setDone, resetAnswer };
 
216
  ) => {
217
  const [answer, setAnswer] = useState<IAnswer>({} as IAnswer);
218
  const [done, setDone] = useState(true);
219
+ const timer = useRef<any>();
220
 
221
  const resetAnswer = useCallback(() => {
222
+ if (timer.current) {
223
+ clearTimeout(timer.current);
224
+ }
225
+ timer.current = setTimeout(() => {
226
+ setAnswer({} as IAnswer);
227
+ clearTimeout(timer.current);
228
+ }, 1000);
229
  }, []);
230
 
231
  const send = useCallback(
 
258
  const { done, value } = x;
259
  if (done) {
260
  console.info('done');
261
+ resetAnswer();
262
  break;
263
  }
264
  try {
 
278
  }
279
  console.info('done?');
280
  setDone(true);
281
+ resetAnswer();
282
  return { data: await res, response };
283
  } catch (e) {
284
  setDone(true);
285
+ resetAnswer();
286
 
287
  console.warn(e);
288
  }
289
  },
290
+ [url, resetAnswer],
291
  );
292
 
293
  return { send, answer, done, setDone, resetAnswer };