文档:说明引用名归一化可能撞名,以及碰撞目前只在解析侧兜住

normalizeMentionName 的注释补上「归一化不保证名字唯一」:`hero v2` 与 `hero-v2` 折成同一个 token,候选菜单侧不做冲突检测、会显示同一个标签,碰撞由 buildContentFromPastedText 的「同名多候选一律按文本保留」兜住
同步 AGC 聊天素材引用功能说明的引用名空白不变量小节,写明这是已知残留
This commit is contained in:
2026-09-23 11:55:53 +08:00
parent 3391ecf7d4
commit c9bb5a93f0
2 changed files with 5 additions and 0 deletions
@@ -165,6 +165,10 @@ export function resourceLabelResolver(
*
* 这里只做归一化、不做 `resourceId` 之类的兜底:兜底属于名字的来源侧(例如
* `resourceDisplayName` 在文件名词干为空时回退 `asset.id`),归一化本身保持是个纯函数。
*
* 归一化不保证名字唯一:`hero v2` 与 `hero-v2` 会折成同一个 token,两条引用因此在候选菜单里
* 显示同一个标签。归一化后的碰撞由 `buildContentFromPastedText` 的「同名多候选一律按文本保留」
* 兜住(不认错,但两者都成不了 chip);候选菜单侧不做冲突检测,标签重复是这条取舍的可见残留。
*/
export function normalizeMentionName(value: string) {
return value.trim().replace(/\s+/gu, '-');