fix(web): 会话列表合同跟着外壳搬家,无活跃会话不再静默吞发送
四条源码合同改到 (app)/layout 与注册载荷两端对断。列表只剩校正会话时普通输入框锁定,发送会打开校正或给出提示。
This commit is contained in:
@@ -64,6 +64,7 @@ import { completedOnboardingTranscript, isProfileComplete, selectedBirthPlace }
|
||||
import { pendingConsultationStorageKey, timestamp } from "@/lib/home-types";
|
||||
import {
|
||||
consultSendBlockedByRectificationSession,
|
||||
missingActiveSessionSendAction,
|
||||
SESSION_NOT_CONSULTATION_CODE,
|
||||
} from "@/lib/rectification-session-composer-guard";
|
||||
import type {
|
||||
@@ -514,7 +515,19 @@ export function useConsultationRun(params: ConsultationRunParams) {
|
||||
? sessions.find((session) => session.id === targetSessionId)
|
||||
: activeSession;
|
||||
const currentSession = options.sessionOverride ?? liveSession;
|
||||
if (!question || !currentSession || !modelCatalog || !account) return false;
|
||||
if (!question) return false;
|
||||
if (!currentSession) {
|
||||
const action = missingActiveSessionSendAction(sessions);
|
||||
if ("openSessionId" in action) {
|
||||
setDraft(originalQuestion);
|
||||
await openRectificationSession(action.openSessionId);
|
||||
setDraft(originalQuestion);
|
||||
return false;
|
||||
}
|
||||
setComposerNotice(action.notice);
|
||||
return false;
|
||||
}
|
||||
if (!modelCatalog || !account) return false;
|
||||
if (consultSendBlockedByRectificationSession(currentSession)) {
|
||||
if (resuming) {
|
||||
pendingConsultation.current = null;
|
||||
|
||||
Reference in New Issue
Block a user