From c502cfd99490e504572f656514dbbd5f49c8b5ae Mon Sep 17 00:00:00 2001
From: Blue <3067670134@qq.com>
Date: Wed, 16 Sep 2026 10:55:09 +0800
Subject: [PATCH 1/2] =?UTF-8?q?fix(ui):=20=E4=BF=AE=E5=A4=8D=E5=9B=9E?=
=?UTF-8?q?=E7=AD=94=E4=BB=A3=E7=A0=81=E5=9B=B4=E6=A0=8F=E5=B5=8C=E5=A5=97?=
=?UTF-8?q?=E4=B8=8E=20CRLF=20=E8=A7=A3=E6=9E=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../blocks/parseAnswerSegments.fences.test.ts | 101 ++++++++++++++++++
.../chat/blocks/parseAnswerSegments.ts | 65 +++++++----
2 files changed, 143 insertions(+), 23 deletions(-)
create mode 100644 packages/ui/src/components/chat/blocks/parseAnswerSegments.fences.test.ts
diff --git a/packages/ui/src/components/chat/blocks/parseAnswerSegments.fences.test.ts b/packages/ui/src/components/chat/blocks/parseAnswerSegments.fences.test.ts
new file mode 100644
index 00000000..3474f8fb
--- /dev/null
+++ b/packages/ui/src/components/chat/blocks/parseAnswerSegments.fences.test.ts
@@ -0,0 +1,101 @@
+import { describe, expect, it } from 'bun:test';
+import { parseAnswerSegments } from './parseAnswerSegments.ts';
+
+const block = (body: string, closed = true) => ({ kind: 'block' as const, body, closed });
+const text = (value: string) => ({ kind: 'text' as const, text: value });
+
+describe('parseAnswerSegments fence boundaries', () => {
+ it('does not activate a typed example inside a backtick code fence', () => {
+ const content = ['```json', '```folio-block', '{"metrics":[]}', '```', '```', 'After'].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([text(content)]);
+ });
+
+ it('does not activate a typed example inside a tilde code fence', () => {
+ const content = ['~~~markdown', '~~~folio-block', '{"metrics":[]}', '~~~', '~~~', 'After'].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([text(content)]);
+ });
+
+ it('requires a closing fence with the same marker and at least the opening length', () => {
+ const content = [
+ '````folio-block',
+ '{"ok":true}',
+ '```',
+ '~~~',
+ '````',
+ 'After',
+ ].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([block(['{"ok":true}', '```', '~~~'].join('\n')), text('After')]);
+ });
+
+ it('accepts a longer matching closing fence', () => {
+ const content = ['```folio-block', '{"ok":true}', '````', 'After'].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([block('{"ok":true}'), text('After')]);
+ });
+
+ it('supports CRLF delimiters without losing body or following text', () => {
+ const content = 'Before\r\n```folio-block\r\n{"ok":true}\r\n```\r\nAfter';
+
+ expect(parseAnswerSegments(content)).toEqual([text('Before\r'), block('{"ok":true}\r'), text('After')]);
+ });
+
+ it('accepts up to three spaces but not four before a fence', () => {
+ const content = [' ```folio-block', '{"three":true}', ' ```', ' ```folio-block', '{"four":true}', ' ```'].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([
+ block('{"three":true}'),
+ text(' ```folio-block\n{"four":true}\n ```'),
+ ]);
+ });
+
+ it('keeps an unclosed ordinary fence opaque while preserving a later typed fence', () => {
+ const content = ['```ts', 'const example = true;', '```folio-block', '{"not":"live"}'].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([text(content)]);
+ });
+
+ it('resumes typed-block parsing after a closed ordinary fence', () => {
+ const content = [
+ 'Before',
+ '```json',
+ '```folio-block',
+ '{"not":"live"}',
+ '```',
+ '```folio-block',
+ '{"live":true}',
+ '```',
+ 'After',
+ ].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([
+ text('Before\n```json\n```folio-block\n{"not":"live"}\n```'),
+ block('{"live":true}'),
+ text('After'),
+ ]);
+ });
+
+ it('does not treat inline or invalid-info backticks as delimiters', () => {
+ const content = [
+ 'Text ```folio-block',
+ '{"inline":true}',
+ '```folio-block`',
+ '```folio-block',
+ '{"live":true}',
+ '```',
+ ].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([
+ text('Text ```folio-block\n{"inline":true}\n```folio-block`'),
+ block('{"live":true}'),
+ ]);
+ });
+
+ it('keeps a typed block open until its matching marker is complete', () => {
+ const content = ['~~~folio-block', '{"partial":', '```', '~~', '~~~'].join('\n');
+
+ expect(parseAnswerSegments(content)).toEqual([block(['{"partial":', '```', '~~'].join('\n'))]);
+ });
+});
diff --git a/packages/ui/src/components/chat/blocks/parseAnswerSegments.ts b/packages/ui/src/components/chat/blocks/parseAnswerSegments.ts
index 243dce9c..5602b6e2 100644
--- a/packages/ui/src/components/chat/blocks/parseAnswerSegments.ts
+++ b/packages/ui/src/components/chat/blocks/parseAnswerSegments.ts
@@ -9,16 +9,23 @@ export type AnswerSegment =
| { kind: 'text'; text: string }
| { kind: 'block'; body: string; closed: boolean };
-const FENCE_OPEN = /^[ \t]{0,3}```(.*)$/;
-const FENCE_CLOSE = /^[ \t]{0,3}```[ \t]*$/;
+const FENCE_OPEN = /^[ \t]{0,3}(`{3,}|~{3,})(.*)$/;
+const FENCE_CLOSE = /^[ \t]{0,3}(`{3,}|~{3,})[ \t]*$/;
+
+// `split('\n')` leaves the carriage return on CRLF lines. Strip it only for
+// delimiter detection so the ordinary Markdown and typed JSON bytes remain
+// unchanged in the returned segments.
+const fenceLine = (line: string): string => (line.endsWith('\r') ? line.slice(0, -1) : line);
/**
* Split an answer string into text and typed-block segments.
*
- * A `folio-block` fence that has not been closed yet (streaming) produces a
- * `closed: false` block segment holding the partial body — everything after an
- * unclosed fence belongs to it, mirroring how Markdown itself treats an
- * unclosed fence. All other fences remain plain text.
+ * Every fence is opaque until a bare closing fence with the same marker and
+ * at least the opening length arrives. This keeps `folio-block` examples
+ * inside ordinary Markdown code fences as literal text.
+ *
+ * An unclosed `folio-block` fence produces a `closed: false` block segment for
+ * streaming; unclosed ordinary fences remain verbatim Markdown.
*/
export function parseAnswerSegments(content: string): AnswerSegment[] {
const lines = content.split('\n');
@@ -35,27 +42,39 @@ export function parseAnswerSegments(content: string): AnswerSegment[] {
let index = 0;
while (index < lines.length) {
const line = lines[index] ?? '';
- const open = line.match(FENCE_OPEN);
- if (open && open[1].trim() === ANSWER_BLOCK_FENCE_LANG) {
- flushText();
- const bodyLines: string[] = [];
- let closed = false;
+ const open = fenceLine(line).match(FENCE_OPEN);
+ const marker = open?.[1];
+ const info = open?.[2] ?? '';
+
+ // Backtick info strings cannot contain another backtick. Such a line is
+ // prose rather than a fence and must not swallow later answer blocks.
+ if (!marker || (marker[0] === '`' && info.includes('`'))) {
+ textLines.push(line);
index += 1;
- while (index < lines.length) {
- const bodyLine = lines[index] ?? '';
- if (FENCE_CLOSE.test(bodyLine)) {
- closed = true;
- index += 1;
- break;
- }
- bodyLines.push(bodyLine);
- index += 1;
- }
- segments.push({ kind: 'block', body: bodyLines.join('\n'), closed });
continue;
}
- textLines.push(line);
+
+ const typed = info.trim() === ANSWER_BLOCK_FENCE_LANG;
+ if (typed) flushText();
+ else textLines.push(line);
+
+ const bodyLines: string[] = [];
+ let closed = false;
index += 1;
+ while (index < lines.length) {
+ const bodyLine = lines[index] ?? '';
+ const close = fenceLine(bodyLine).match(FENCE_CLOSE)?.[1];
+ if (close && close[0] === marker[0] && close.length >= marker.length) {
+ if (!typed) textLines.push(bodyLine);
+ closed = true;
+ index += 1;
+ break;
+ }
+ if (typed) bodyLines.push(bodyLine);
+ else textLines.push(bodyLine);
+ index += 1;
+ }
+ if (typed) segments.push({ kind: 'block', body: bodyLines.join('\n'), closed });
}
flushText();
return segments;
From 242f4a61e9f265cb4b070413af5e88ea80ed6300 Mon Sep 17 00:00:00 2001
From: Bluu <3067670134@qq.com>
Date: Wed, 16 Sep 2026 15:01:48 +0800
Subject: [PATCH 2/2] docs: add PR 110 parser screenshots
---
docs/pr-screenshots/pr-110-after.png | Bin 0 -> 107595 bytes
docs/pr-screenshots/pr-110-before.png | Bin 0 -> 107959 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 docs/pr-screenshots/pr-110-after.png
create mode 100644 docs/pr-screenshots/pr-110-before.png
diff --git a/docs/pr-screenshots/pr-110-after.png b/docs/pr-screenshots/pr-110-after.png
new file mode 100644
index 0000000000000000000000000000000000000000..f34415959ccce34eabce683018b27fdf0c3dff42
GIT binary patch
literal 107595
zcmd431yCGa^EbLUL4qVmf?IG13GM`k;2tbM2)Z}~w_w471()E?qPsW*5AF*r?i$?f
zE=ivEdFy}ctFOMgb?e?KV0MO?)93W*)BS5X`$bt%8XMy|1^@uSmX(oE1prXR005*7
zbX54A#Qhy}_zA&LRr(E}Y>;#det~QzrT~AU;w$Ej5eoeJk)4c=BLMKY{oxm(+qU2X
z0C1lxD
mLyJrEOJ;}?
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