fix: auto send delay (#3352)

This commit is contained in:
Archer
2024-12-10 09:51:49 +08:00
committed by GitHub
parent fc8f73fc55
commit fd47f73086

View File

@@ -58,7 +58,7 @@ import dynamic from 'next/dynamic';
import type { StreamResponseType } from '@/web/common/api/fetch'; import type { StreamResponseType } from '@/web/common/api/fetch';
import { useContextSelector } from 'use-context-selector'; import { useContextSelector } from 'use-context-selector';
import { useSystem } from '@fastgpt/web/hooks/useSystem'; import { useSystem } from '@fastgpt/web/hooks/useSystem';
import { useCreation, useMemoizedFn, useThrottleFn } from 'ahooks'; import { useCreation, useDebounceEffect, useMemoizedFn, useThrottleFn } from 'ahooks';
import MyIcon from '@fastgpt/web/components/common/Icon'; import MyIcon from '@fastgpt/web/components/common/Icon';
import { mergeChatResponseData } from '@fastgpt/global/core/chat/utils'; import { mergeChatResponseData } from '@fastgpt/global/core/chat/utils';
import { getWebReqUrl } from '@fastgpt/web/common/system/utils'; import { getWebReqUrl } from '@fastgpt/web/common/system/utils';
@@ -380,10 +380,11 @@ const ChatBox = ({
async ({ variables = {} }) => { async ({ variables = {} }) => {
if (!onStartChat) return; if (!onStartChat) return;
if (isChatting) { if (isChatting) {
toast({ !hideInUI &&
title: t('chat:is_chatting'), toast({
status: 'warning' title: t('chat:is_chatting'),
}); status: 'warning'
});
return; return;
} }
@@ -834,27 +835,33 @@ const ChatBox = ({
}, [isReady, resetInputVal, sendPrompt]); }, [isReady, resetInputVal, sendPrompt]);
// Auto send prompt // Auto send prompt
useEffect(() => { useDebounceEffect(
if ( () => {
isReady && if (
chatBoxData?.app?.chatConfig?.autoExecute?.open && isReady &&
chatStarted && chatBoxData?.app?.chatConfig?.autoExecute?.open &&
chatRecords.length === 0 && chatStarted &&
isChatRecordsLoaded chatRecords.length === 0 &&
) { isChatRecordsLoaded
sendPrompt({ ) {
text: chatBoxData?.app?.chatConfig?.autoExecute?.defaultPrompt || 'AUTO_EXECUTE', sendPrompt({
hideInUI: true text: chatBoxData?.app?.chatConfig?.autoExecute?.defaultPrompt || 'AUTO_EXECUTE',
}); hideInUI: true
});
}
},
[
isReady,
chatStarted,
chatRecords.length,
isChatRecordsLoaded,
sendPrompt,
chatBoxData?.app?.chatConfig?.autoExecute
],
{
wait: 500
} }
}, [ );
isReady,
chatStarted,
chatRecords.length,
isChatRecordsLoaded,
sendPrompt,
chatBoxData?.app?.chatConfig?.autoExecute
]);
// output data // output data
useImperativeHandle(ChatBoxRef, () => ({ useImperativeHandle(ChatBoxRef, () => ({