mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-26 05:06:59 +00:00
* fix(frontend): count code points when previewing table cells and memory facts artifact-table-preview cut a cell at 120 UTF-16 code units and memory-settings-page's truncateFactPreview measured and cut fact previews at 140, so an emoji spanning two units could be split at the cut — the lone half renders as U+FFFD — and a preview that already fit the documented code-point budget was still shortened. Both previews now share truncateToCodePoints in core/utils/text, which measures and cuts by code points, the same rule briefReason in core/scheduled-tasks/format.ts already follows. Add unit tests for the helper and a DOM regression test covering both the fits-exactly and the cut-inside-an-emoji cases. * fix(frontend): count code points in the artifact-cell expand gate too The expandable gate still measured value.length (UTF-16 units), so a 120-code-point cell ending in an astral character opened the expand control even though the inline preview already showed the whole cell — the same units-vs-code-points mismatch the preview cut fixed. The gate now counts Array.from(value), and the boundary test asserts the fits cell renders as a plain cell with no expand control while the overflows cell keeps its button and whole-emoji cut. Suggested-by: gdut4140 (port of the #7509 expandable gate)