fix(web): 聊天列表恢复项目符号,收紧定义列表,压思考条间距(BUG-962/963/964)
This commit is contained in:
@@ -29,3 +29,16 @@ test("code fences and existing lists are left alone", () => {
|
||||
].join("\n");
|
||||
assert.equal(promoteDefinitionLists(source), source);
|
||||
});
|
||||
|
||||
test("spoken four-heading prose with a colon stays paragraphs", () => {
|
||||
const prose = [
|
||||
"你这半年的事业是「外刚内不承」:表面硬气是真的硬——你确实扛得住场面,底下却承不住。别人看见的是硬气,盘上撑着的是另一层。",
|
||||
"",
|
||||
"推的是火星:事情由你自己起动、自己顶上去。别人帮不上忙,你也没法把责任分出去,更别指望场面自己圆。",
|
||||
"",
|
||||
"所以别去应火星的「硬顶」,也别去应土星弱位的「拖」。去扮演太阳的「署名」:把事做成一件能签字的作品,而不是一场硬顶。",
|
||||
].join("\n");
|
||||
const result = promoteDefinitionLists(prose);
|
||||
assert.equal(result, prose);
|
||||
assert.equal(result.includes("- **"), false);
|
||||
});
|
||||
|
||||
@@ -80,7 +80,24 @@ test("shows honest agent activity states before and during streamed text", () =>
|
||||
assert.doesNotMatch(messageRowSource, /vargaSentence=\{showThinkingPanel \? null : vargaSentence\}/);
|
||||
assert.match(messageRowSource, /<ConsultationRunTimeline[\s\S]*vargaSentence=\{vargaSentence\}/);
|
||||
assert.match(globalStyles, /\.message-stage-and-answer/);
|
||||
assert.match(globalStyles, /\.message-stage-and-answer \{[\s\S]*gap: var\(--space-2\)/);
|
||||
// 原值: gap: var(--space-2)
|
||||
// 新值: gap: var(--consult-think-answer-gap)
|
||||
// 原因: BUG-964 思考条与正文间距由同一 token 决定(12px),不再各写各的
|
||||
assert.match(globalStyles, /\.message-stage-and-answer \{[\s\S]*gap: var\(--consult-think-answer-gap\)/);
|
||||
assert.match(globalStyles, /\.consultation-thinking-report \{[\s\S]*gap: var\(--consult-think-answer-gap\)/);
|
||||
assert.match(globalStyles, /--consult-think-answer-gap:\s*var\(--space-3\)/);
|
||||
assert.match(
|
||||
globalStyles,
|
||||
/\.conversation:not\(\.is-empty\):not\(\.is-rectification\) \.message-markdown > \*:first-child \{[\s\S]*margin-top:\s*0/,
|
||||
);
|
||||
assert.match(globalStyles, /\.message-markdown ul\.markdown-list \{[\s\S]*list-style-type:\s*disc/);
|
||||
assert.match(globalStyles, /\.message-markdown ol\.markdown-list \{[\s\S]*list-style-type:\s*decimal/);
|
||||
assert.match(globalStyles, /\.markdown-list[^{]*\{[^}]*list-style/);
|
||||
assert.match(
|
||||
globalStyles,
|
||||
/\.conversation:not\(\.is-empty\):not\(\.is-rectification\) \.message-markdown \.markdown-list \{[\s\S]*gap:\s*var\(--space-2\)/,
|
||||
);
|
||||
assert.match(globalStyles, /\.markdown-list ::marker \{[\s\S]*color:\s*var\(--color-ink-secondary\)/);
|
||||
assert.match(globalStyles, /\.agent-activity-status \+ \.message-answer/);
|
||||
// Former lock: `<ThinkingOrb aria-hidden="true" state={state} size={20}` — the canvas orb was a
|
||||
// second live-marker vocabulary next to the timeline's InlineSpinner (BUG-476). One marker now.
|
||||
|
||||
@@ -349,7 +349,10 @@ test("Agentic rectification follows the conversation tail only while the reader
|
||||
assert.doesNotMatch(styles, /\.rectification-jump-latest/);
|
||||
assert.match(styles, /\.jump-to-latest \{[^}]*justify-content: center/);
|
||||
assert.match(styles, /--rectification-jump-clearance/);
|
||||
assert.match(styles, /\.message-stage-and-answer \{[\s\S]*gap: var\(--space-2\)/);
|
||||
// 原值: gap: var(--space-2)
|
||||
// 新值: gap: var(--consult-think-answer-gap)
|
||||
// 原因: BUG-964 思考条与正文间距由同一 token 决定
|
||||
assert.match(styles, /\.message-stage-and-answer \{[\s\S]*gap: var\(--consult-think-answer-gap\)/);
|
||||
assert.doesNotMatch(chat, /conversationEnd/);
|
||||
// 原值: 改选滚到出卡消息
|
||||
// 新值: 无 offerSectionRef;点其他行即改选
|
||||
|
||||
Reference in New Issue
Block a user