fix(rectification): stop re-parsing settled messages on every stream frame
This commit is contained in:
@@ -6,6 +6,7 @@ import { homeSurface as page } from "./home-surface.ts";
|
||||
|
||||
const read = (relativePath: string) => readFileSync(new URL(relativePath, import.meta.url), "utf8");
|
||||
const chat = read("../src/components/rectification-agentic-chat.tsx");
|
||||
const messageEntry = read("../src/components/rectification-message-entry.tsx");
|
||||
const hook = read("../src/hooks/use-rectification-surface.ts");
|
||||
const sessions = read("../src/hooks/use-session-management.ts");
|
||||
const bootstrap = read("../src/lib/home-bootstrap.ts");
|
||||
@@ -126,7 +127,10 @@ test("stopping keeps what streamed and says so; a 402 explains itself before lea
|
||||
// 新值:气泡 stopped + 灰字 RECTIFICATION_STOPPED_NOTICE,error-message 只留给真正失败
|
||||
// 原因:停止是用户动作,不能穿报错衣服(BUG-552)
|
||||
assert.match(chat, /failed: false,\s*stopped: true/);
|
||||
assert.match(chat, /stoppedNotice=\{message\.stopped \? RECTIFICATION_STOPPED_NOTICE : undefined\}/);
|
||||
// 原值: 停止提示 prop 写在容器 map 的 ChatMessageRow 上。
|
||||
// 新值: 同一表达式在行组件内。
|
||||
// 原因: BUG-725。
|
||||
assert.match(messageEntry, /stoppedNotice=\{message\.stopped \? RECTIFICATION_STOPPED_NOTICE : undefined\}/);
|
||||
assert.doesNotMatch(chat, /if \(raw\.trim\(\)\) setError\(RECTIFICATION_STOPPED_NOTICE\)/);
|
||||
assert.match(chat, /inputDisabled=\{readonly\}/);
|
||||
assert.match(chat, /setError\(RECTIFICATION_INSUFFICIENT_CREDITS_NOTICE\);[\s\S]*onOpenBilling\?\.\(\{ source: "rectification" \}\);/);
|
||||
|
||||
Reference in New Issue
Block a user