mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
Fix: Click the reset button on the agent page shared externally, and the greeting in conversation mode should not be deleted. #10567 (#10571)
### What problem does this PR solve? Fix: Click the reset button on the agent page shared externally, and the greeting in conversation mode should not be deleted. #10567 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@ -200,12 +200,14 @@ export const useSendAgentMessage = ({
|
||||
beginParams,
|
||||
isShared,
|
||||
refetch,
|
||||
isTaskMode: isTask,
|
||||
}: {
|
||||
url?: string;
|
||||
addEventList?: (data: IEventList, messageId: string) => void;
|
||||
beginParams?: any[];
|
||||
isShared?: boolean;
|
||||
refetch?: () => void;
|
||||
isTaskMode?: boolean;
|
||||
}) => {
|
||||
const { id: agentId } = useParams();
|
||||
const { handleInputChange, value, setValue } = useHandleMessageInputChange();
|
||||
@ -217,7 +219,7 @@ export const useSendAgentMessage = ({
|
||||
return answerList[0]?.message_id;
|
||||
}, [answerList]);
|
||||
|
||||
const isTaskMode = useIsTaskMode();
|
||||
const isTaskMode = useIsTaskMode(isTask);
|
||||
|
||||
const { findReferenceByMessageId } = useFindMessageReference(answerList);
|
||||
const prologue = useGetBeginNodePrologue();
|
||||
@ -230,6 +232,7 @@ export const useSendAgentMessage = ({
|
||||
addNewestOneQuestion,
|
||||
addNewestOneAnswer,
|
||||
removeAllMessages,
|
||||
removeAllMessagesExceptFirst,
|
||||
scrollToBottom,
|
||||
} = useSelectDerivedMessages();
|
||||
const { addEventList: addEventListFun } = useContext(AgentChatLogContext);
|
||||
@ -321,8 +324,18 @@ export const useSendAgentMessage = ({
|
||||
stopOutputMessage();
|
||||
resetAnswerList();
|
||||
setSessionId(null);
|
||||
removeAllMessages();
|
||||
}, [resetAnswerList, removeAllMessages, stopOutputMessage]);
|
||||
if (isTaskMode) {
|
||||
removeAllMessages();
|
||||
} else {
|
||||
removeAllMessagesExceptFirst();
|
||||
}
|
||||
}, [
|
||||
stopOutputMessage,
|
||||
resetAnswerList,
|
||||
isTaskMode,
|
||||
removeAllMessages,
|
||||
removeAllMessagesExceptFirst,
|
||||
]);
|
||||
|
||||
const handlePressEnter = useCallback(() => {
|
||||
if (trim(value) === '') return;
|
||||
|
||||
@ -27,13 +27,16 @@ export function useSelectBeginNodeDataInputs() {
|
||||
);
|
||||
}
|
||||
|
||||
export function useIsTaskMode() {
|
||||
export function useIsTaskMode(isTask?: boolean) {
|
||||
const getNode = useGraphStore((state) => state.getNode);
|
||||
|
||||
return useMemo(() => {
|
||||
if (typeof isTask === 'boolean') {
|
||||
return isTask;
|
||||
}
|
||||
const node = getNode(BeginId);
|
||||
return node?.data?.form?.mode === AgentDialogueMode.Task;
|
||||
}, [getNode]);
|
||||
}, [getNode, isTask]);
|
||||
}
|
||||
|
||||
export const useGetBeginNodeDataQuery = () => {
|
||||
|
||||
@ -59,6 +59,7 @@ export const useSendNextSharedMessage = (
|
||||
addEventList,
|
||||
beginParams: params,
|
||||
isShared: true,
|
||||
isTaskMode,
|
||||
});
|
||||
|
||||
const ok = useCallback(
|
||||
|
||||
Reference in New Issue
Block a user