fix: 修复isnew=true时发送消息后不跳转的问题

This commit is contained in:
肖应宇 2026-04-04 21:53:32 +08:00
parent 1e981dc459
commit c797d18e82
1 changed files with 5 additions and 7 deletions

View File

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