fix(rectification): drop 没有/记不清 collect chips (BUG-626)

Users consistently rejected skip chips on spoken collect. Typing those phrases still declines or skips the domain.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-09 22:20:35 +08:00
co-authored by Cursor
parent 4067aff86c
commit f0ae8cc45b
8 changed files with 43 additions and 64 deletions
@@ -116,9 +116,9 @@ test("cases current_question remains the submit contract, not a visual slot", ()
const wrap = chat.slice(chat.indexOf("className=\"composer-wrap\""), chat.indexOf("className=\"composer-footer\""));
assert.doesNotMatch(wrap, /rectification-collect-stop/);
assert.doesNotMatch(wrap, /CHOICE_STOP_LABEL/);
// 旧:输入框上方两个 44px 次要按钮「没有」「记不清」(BUG-605)
// 新:同一组按钮挂在问题气泡 afterAnswer 里,composer 不再托管
// 原因:BUG-618;不得复用 rectification-step-state
// 旧:口述采集挂「没有」「记不清」芯片(BUG-605 / BUG-618)
// 新:芯片全部去掉;打字「没有 / 记不清」仍走短路
// 原因:BUG-626,用户一致差评
assert.doesNotMatch(wrap, /rectification-collect-replies/);
assert.doesNotMatch(wrap, /rectification-collect-reply/);
assert.doesNotMatch(wrap, /send\("message", "没有"\)/);
@@ -127,18 +127,18 @@ test("cases current_question remains the submit contract, not a visual slot", ()
chat.indexOf("const afterAnswer = question"),
chat.indexOf("key={message.renderKey}"),
);
assert.match(afterAnswer, /CollectSpokenReplies/);
assert.match(afterAnswer, /send\("message", text\)/);
assert.match(chat, /function CollectSpokenReplies/);
assert.match(chat, /rectification-collect-replies/);
assert.match(chat, /rectification-collect-reply/);
assert.match(chat, /onChoose\("没有"\)/);
assert.match(chat, /onChoose\("记不清"\)/);
assert.match(chat, />[\s\n]*没有[\s\n]*</);
assert.match(chat, />[\s\n]*记不清[\s\n]*</);
assert.match(chat, /liveQuestion && question.kind === "collect_spoken"/);
assert.doesNotMatch(afterAnswer, /CollectSpokenReplies/);
assert.doesNotMatch(afterAnswer, /shouldShowCollectSpokenReplies/);
assert.doesNotMatch(chat, /function CollectSpokenReplies/);
assert.doesNotMatch(chat, /rectification-collect-replies/);
assert.doesNotMatch(chat, /rectification-collect-reply/);
assert.doesNotMatch(chat, /onChoose\("没有"\)/);
assert.doesNotMatch(chat, /onChoose\("记不清"\)/);
assert.doesNotMatch(chat, />[\s\n]*没有[\s\n]*</);
assert.doesNotMatch(chat, />[\s\n]*记不清[\s\n]*</);
const styles = readFileSync(new URL("../src/app/globals.css", import.meta.url), "utf8");
assert.match(styles, /\.rectification-collect-reply \{[\s\S]*min-height:\s*44px/);
assert.doesNotMatch(styles, /\.rectification-collect-replies/);
assert.doesNotMatch(styles, /\.rectification-collect-reply/);
assert.equal(parseRectificationChoiceCard(COLLECT_GET_QUESTION), null);
});