大白话
用户在本地插件包的预览屏上,看到的「不会安装」标签是内部原因码:
control-field-unsupported、not-self-contained-plugin-root-variable 这种字符串直接当标签显示。
底下那句人话是对的,但标签本身是给程序看的东西。
packages/ui-mac/src/renderer/extensions/extension-hub.tsx:3293-3299:
<For each={component.reasonCodes}>
{(code) => (
<span class="alpha-ext-type-pill" data-off="" data-skip-reason={code}>
{code}
这个仓在另一条路上早就立过相反的规矩
目录(catalog)扩展包那条路:每个 skip token 必须配一句用户读得懂的话,
少一条就编译不过 —— ext-package-presentation.ts 的 SKIP_REASON_KEYS satisfies Record<…>。
本地导入这条路没有接那套映射。 这是「同一个仓里已有的规矩,新路径没接上」的形态。
现有测试为什么杀不掉它
现有用例只断言 data-skip-reason 属性和下面那句人话,不断言标签文本 ⇒
把标签换成任何字符串都全绿。断言的粒度比缺陷粗一格(本相位已实证七次的同一形态)。
Acceptance and named gates
- 本地导入的每个 reasonCode 接进既有的映射(不要另造一套 ——
另造就是「同一份文法写两遍」,本仓最贵的返工形态)。
- 缺映射要编译不过,与 catalog 路径同等强度(
satisfies Record<…> 那个形状)。
- 断言标签文本本身,不只断属性。
判据 = 把某个 reasonCode 的映射删掉 ⇒ 编译红;把标签改回显示原始码 ⇒ 用例红。
- i18n 两种语言都要有(本仓有穷举遍历闸,见
#697)。
出处
#784 的设计稿收口(PR #785)时,用上线代码逐帧比对发现。
这一条已如实画进活稿的帧里(活稿要反映今天真实的样子),并在帧外标注为代码缺陷、非设计意图。
修好后活稿那一帧要跟着改。
大白话
用户在本地插件包的预览屏上,看到的「不会安装」标签是内部原因码:
control-field-unsupported、not-self-contained-plugin-root-variable这种字符串直接当标签显示。底下那句人话是对的,但标签本身是给程序看的东西。
packages/ui-mac/src/renderer/extensions/extension-hub.tsx:3293-3299:这个仓在另一条路上早就立过相反的规矩
目录(catalog)扩展包那条路:每个 skip token 必须配一句用户读得懂的话,
少一条就编译不过 ——
ext-package-presentation.ts的SKIP_REASON_KEYS satisfies Record<…>。本地导入这条路没有接那套映射。 这是「同一个仓里已有的规矩,新路径没接上」的形态。
现有测试为什么杀不掉它
现有用例只断言
data-skip-reason属性和下面那句人话,不断言标签文本 ⇒把标签换成任何字符串都全绿。断言的粒度比缺陷粗一格(本相位已实证七次的同一形态)。
Acceptance and named gates
另造就是「同一份文法写两遍」,本仓最贵的返工形态)。
satisfies Record<…>那个形状)。判据 = 把某个 reasonCode 的映射删掉 ⇒ 编译红;把标签改回显示原始码 ⇒ 用例红。
#697)。出处
#784的设计稿收口(PR #785)时,用上线代码逐帧比对发现。这一条已如实画进活稿的帧里(活稿要反映今天真实的样子),并在帧外标注为代码缺陷、非设计意图。
修好后活稿那一帧要跟着改。