Fix: Fix share-chat bugs (#9150)

### What problem does this PR solve?

Fix: Fix share-chat bugs #3221

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
chanx
2025-08-01 12:38:29 +08:00
committed by GitHub
parent 5ccdb95008
commit ac53ef6216
10 changed files with 143 additions and 57 deletions

View File

@ -182,9 +182,8 @@ export const useSendAgentMessage = (
const { handleInputChange, value, setValue } = useHandleMessageInputChange();
const inputs = useSelectBeginNodeDataInputs();
const [sessionId, setSessionId] = useState<string | null>(null);
const { send, answerList, done, stopOutputMessage } = useSendMessageBySSE(
url || api.runCanvas,
);
const { send, answerList, done, stopOutputMessage, resetAnswerList } =
useSendMessageBySSE(url || api.runCanvas);
const messageId = useMemo(() => {
return answerList[0]?.message_id;
}, [answerList]);
@ -204,6 +203,7 @@ export const useSendAgentMessage = (
removeMessageById,
addNewestOneQuestion,
addNewestOneAnswer,
removeAllMessages,
} = useSelectDerivedMessages();
const { addEventList: addEventListFun } = useContext(AgentChatLogContext);
const {
@ -280,6 +280,14 @@ export const useSendAgentMessage = (
[addNewestOneQuestion, send],
);
// reset session
const resetSession = useCallback(() => {
stopOutputMessage();
resetAnswerList();
setSessionId(null);
removeAllMessages();
}, [resetAnswerList, removeAllMessages, stopOutputMessage]);
const handlePressEnter = useCallback(() => {
if (trim(value) === '') return;
const id = uuid();
@ -336,6 +344,7 @@ export const useSendAgentMessage = (
stopOutputMessage,
send,
sendFormMessage,
resetSession,
findReferenceByMessageId,
appendUploadResponseList,
};

View File

@ -237,14 +237,16 @@ const DebugContent = ({
{parameters.map((x, idx) => {
return <div key={idx}>{renderWidget(x, idx.toString())}</div>;
})}
<ButtonLoading
type="submit"
loading={loading}
disabled={!submittable || submitButtonDisabled}
className="w-full"
>
{btnText || t(isNext ? 'common.next' : 'flow.run')}
</ButtonLoading>
<div>
<ButtonLoading
type="submit"
loading={loading}
disabled={!submittable || submitButtonDisabled}
className="w-full mt-8"
>
{btnText || t(isNext ? 'common.next' : 'flow.run')}
</ButtonLoading>
</div>
</form>
</Form>
</section>

View File

@ -41,6 +41,7 @@ export function useCacheChatLog() {
const clearEventList = useCallback(() => {
setEventList([]);
setMessageIdPool({});
}, []);
const addEventList = useCallback((events: IEventList, message_id: string) => {

View File

@ -33,3 +33,9 @@ export interface BeginQuery {
name: string;
options: (number | string | boolean)[];
}
export type IInputs = {
avatar: string;
title: string;
inputs: Record<string, BeginQuery>;
};