fix(web): split rectification process talk from the spoken reply

Keep provider thinking off, classify CoT as 思考, and stop remounted sessions from firing a second opening.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-23 10:14:35 +08:00
parent f699c35f56
commit f03a2706b4
13 changed files with 376 additions and 32 deletions
+5
View File
@@ -873,6 +873,11 @@ button:disabled { cursor: default; opacity: .45; }
.consultation-report-analysis .message-markdown {
color: var(--color-ink-strong);
}
.consultation-thinking-report .message-thinking {
margin-bottom: 0;
padding-bottom: var(--space-3);
border-bottom: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
}
.message-markdown ul.markdown-list,
.message-markdown ol.markdown-list {
display: grid;
+8 -2
View File
@@ -4034,7 +4034,7 @@ export default function Home() {
{rectificationSurfaceOpen && rectificationCaseId && (
<ConversationalBirthTimeRectification
key={`${rectificationSessionId}-${rectificationCaseId}-${rectificationTurns.at(-1)?.id ?? "loading"}`}
key={`${rectificationSessionId}-${rectificationCaseId}-${rectificationTurns.length > 0 ? "ready" : "loading"}`}
caseId={rectificationCaseId}
sessionId={rectificationSessionId ?? ""}
readonly={rectificationReadonly}
@@ -4044,7 +4044,13 @@ export default function Home() {
selectedModelId={activeSession?.modelId ?? ""}
onSelectModel={(modelId) => void selectSessionModel(modelId)}
onMessagesChange={handleRectificationMessagesChange}
onCompleted={() => void refreshAccount()}
onOpeningConsumed={() => setRectificationShouldStartOpening(false)}
onCompleted={() => {
void refreshAccount();
if (rectificationCaseId && rectificationSessionId) {
void refreshRectificationCase(rectificationCaseId, rectificationSessionId);
}
}}
onPendingChange={setRectificationMutationPending}
onProfileIncomplete={handleRectificationProfileIncomplete}
onSaved={() => void refreshAccount()}