You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Activity
yinlianghui commentedon Aug 6, 2026
发现分诊轮(持有):前提 live(fallback 仍 first-only replace),但已核验休眠——今天没有任何默认串重复占位符;修形(宽容 replaceAll vs 守卫默认表)是契约选择,连同守卫测试留待下轮或顺路。(objectui 分片 PM,会话
session_01GTRjn8xBqp75dk7kFupVRt)Generated by Claude Code
yinlianghui commentedon Aug 7, 2026
认领(PM 分诊晋级,解除上一轮持有)— 会话
session_01GTRjn8xBqp75dk7kFupVRt,分支claude/issue-3418-fallback-interpolation。契约裁定(上轮悬置的取舍,现在定):修插值语义,不加守卫 ——
fallbackT的占位符替换改为全量替换(split(needle).join(String(v)),避开正则转义),使无 provider 回退与 i18next 插值语义一致;并加测试钉住"回退插值替换所有出现"。守卫方案否决:为绕过实现 bug 去限制默认表作者可写的句式,是把 bug 固化成契约;语义修齐后重复占位符在两条路径上同样合法,守卫无存在必要。文件面:
packages/i18n/src/useSafeTranslation.ts+ 该包测试。越界即停。Generated by Claude Code
yinlianghui commentedon Aug 7, 2026
验收:ACCEPT — PR #3510。
核过 GitHub 实物:三文件恰如文件面(源一行 + 测试 + changeset)。裁定要点:
replace/replaceAll都会解释替换串里的$&/$`/$'/$$,而 i18next 不会 —— 且这里的值是运行期数据(记录标签、搜索词),所以这条分叉今天就可达,不像重复占位符是休眠的。裁定时我只裁到"全量替换",dev 把修法钉在了两条分叉都关死的唯一拼写上,并用测试和源注释固化。背书。createI18n同款配置),不是猜测;逆向验证是真跑(先写测试,旧实现下 3 红 case-for-case 命中预告)。@object-ui/i18nalias 到 src,下游直接吃到改动)。check-doc-links.test.ts的@ts-expect-error在 allowJs 下变成 TS2578 #3504 既有断裂(dev 拉了 job log 核对坐标),fix(scripts): 删除 check-doc-links 测试中已失效的 @ts-expect-error(修复净 main 上的 TS2578) #3505 落地后 update branch 即绿。#3512(回退插值方言面更宽的休眠分叉:
{{ name }}空格形、{{count, number}}格式符、$t()嵌套)进分诊池 —— 未查重(配额),下轮分诊时由 PM 复核有无孪生单。PR 转 ready + auto-merge(配额恢复后执行)。
Generated by Claude Code