fix: 修复isnew=true时发送消息后不跳转的问题
This commit is contained in:
parent
1e981dc459
commit
c797d18e82
|
|
@ -93,11 +93,7 @@ export default function ChatPage() {
|
||||||
// }
|
// }
|
||||||
return searchParams.get("isnew")?.trim().toLowerCase() === "true";
|
return searchParams.get("isnew")?.trim().toLowerCase() === "true";
|
||||||
}, [isNewThread, searchParams]);
|
}, [isNewThread, searchParams]);
|
||||||
// console.log(createNewSession, "createNewSession");
|
|
||||||
const shouldStayOnNewRoute = useMemo(
|
|
||||||
() => searchParams.get("isnew")?.trim().toLowerCase() === "true",
|
|
||||||
[searchParams],
|
|
||||||
);
|
|
||||||
const streamThreadId = useMemo(() => {
|
const streamThreadId = useMemo(() => {
|
||||||
return isNewThread && createNewSession ? undefined : threadId;
|
return isNewThread && createNewSession ? undefined : threadId;
|
||||||
}, [createNewSession, isNewThread, threadId]);
|
}, [createNewSession, isNewThread, threadId]);
|
||||||
|
|
@ -110,17 +106,19 @@ export default function ChatPage() {
|
||||||
clearSkillError: clearSelectedSkillError,
|
clearSkillError: clearSelectedSkillError,
|
||||||
isBootstrapping: isSelectedSkillBootstrapping,
|
isBootstrapping: isSelectedSkillBootstrapping,
|
||||||
} = useSelectedSkillListener({ threadId });
|
} = useSelectedSkillListener({ threadId });
|
||||||
|
// 对话行为控制器
|
||||||
const [thread, sendMessage, isUploading] = useThreadStream({
|
const [thread, sendMessage, isUploading] = useThreadStream({
|
||||||
threadId: streamThreadId,
|
threadId: streamThreadId,
|
||||||
context: settings.context,
|
context: settings.context,
|
||||||
createNewSession,
|
createNewSession,
|
||||||
isMock,
|
isMock,
|
||||||
|
// 发送消息后跳转的逻辑
|
||||||
onStart: (currentThreadId) => {
|
onStart: (currentThreadId) => {
|
||||||
setIsNewThread(false);
|
setIsNewThread(false);
|
||||||
if (!shouldStayOnNewRoute) {
|
// if (!shouldStayOnNewRoute) {
|
||||||
// Keep /new in history so router.back() can return to it.
|
// Keep /new in history so router.back() can return to it.
|
||||||
router.replace(`/workspace/chats/${currentThreadId}`);
|
router.replace(`/workspace/chats/${currentThreadId}`);
|
||||||
}
|
// }
|
||||||
// history.pushState(null, "", pathOfThread(currentThreadId));
|
// history.pushState(null, "", pathOfThread(currentThreadId));
|
||||||
},
|
},
|
||||||
onFinish: (state) => {
|
onFinish: (state) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue