better-dsh 0.2.3-e → 0.2.3-f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -34,7 +34,7 @@ AGENTS.md §二 harness 本地 patch 已记档(换 tag 需重放)。
|
|
|
34
34
|
| shell 内 react-dom 痕迹 | **`version:"18.3.1", rendererPackageName:"react-dom"` banner 在 shell** | **无**(唯一 `react-dom` 字串 = 平台模块种子表键 `{react:Y3, "react-dom":Y3, ...}`——同一个 preact 实例登记两个平台词,设计终态) |
|
|
35
35
|
| pageerror | slot 重复注册 ×1 | slot 重复注册 ×1 |
|
|
36
36
|
|
|
37
|
-
**pageerror 定责(A/B
|
|
37
|
+
**pageerror 定责(A/B + 发布前验尸修正)**:`settings.general.item` slot id `compaction-tuning` 重复注册在 **stock 上同样存在**(factory id `Ba` vs `f5` 仅 minified 差异)→ 与渲染引擎无关。**根因(publish 前验尸确认)**:canonical 树里有一份**未提交的半成品 compaction-tuning 吸收工作**(`src/compaction/` + `installCompactionTuning` 接线,随 rsync 进入 4999 副本),与 `.dsh-test` profile 仍挂着的 local-plugin 版 compaction-tuning **同 id 注册两次**——两因叠加。该半成品已 `git stash`(带说明消息)移出 0.2.3-e 发布内容,续作时须先摘除 profile 的 local-plugin 行再合入。`better-dsh/client.js` 内的 `react-dom` 匹配为 pnpm 依赖路径字符串(`@tanstack+react-virtual@…_react-dom@18.3.1…`),stock/preact 两面同在,非本体。
|
|
38
38
|
|
|
39
39
|
**user 未亲自引爆项声明**:深交互面(聊天流式渲染、shiki 高亮、markdown 管线)未逐项人工过——零 console.error 为强信号非穷尽证明(PoC 同款边界声明)。
|
|
40
40
|
|
package/lib/client/index.js
CHANGED
|
@@ -70,7 +70,7 @@ const zh = {
|
|
|
70
70
|
|
|
71
71
|
//#endregion
|
|
72
72
|
//#region \0dsh-css:/home/u1/workspaces/dashr/dashr/src/failover/client/FailoverRow.module.css.mjs
|
|
73
|
-
const css = "._440e1d7b_row {\n display: flex;\n
|
|
73
|
+
const css = "\n._440e1d7b_row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 0;\n}\n\n._a4f2ceec_rowText {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n._9865b509_title {\n font-weight: 600;\n font-size: 14px;\n}\n\n\n._3cfec826_slots {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 6px;\n}\n\n._11c2662d_select {\n width: 280px;\n max-width: 100%;\n min-width: 0;\n}\n\n._b7c358f9_alert {\n color: var(--dsw-alias-danger, #c0392b);\n font-size: 12px;\n}\n";
|
|
74
74
|
const tagId = "better-dsh/FailoverRow.module.css";
|
|
75
75
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
76
76
|
const tag = document.createElement("style");
|
|
@@ -81,10 +81,9 @@ if (typeof document !== "undefined" && document.querySelector("style[data-plugin
|
|
|
81
81
|
}
|
|
82
82
|
var FailoverRow_module_css_default = {
|
|
83
83
|
"row": "_440e1d7b_row",
|
|
84
|
+
"rowText": "_a4f2ceec_rowText",
|
|
84
85
|
"title": "_9865b509_title",
|
|
85
86
|
"slots": "_3cfec826_slots",
|
|
86
|
-
"slot": "_70954771_slot",
|
|
87
|
-
"slotLabel": "_ba1fd839_slotLabel",
|
|
88
87
|
"select": "_11c2662d_select",
|
|
89
88
|
"alert": "_b7c358f9_alert"
|
|
90
89
|
};
|
|
@@ -139,47 +138,40 @@ function FailoverRow({ catalog, loadConfig, save, t }) {
|
|
|
139
138
|
}
|
|
140
139
|
};
|
|
141
140
|
const routes = loaded?.routes ?? [];
|
|
142
|
-
const renderSelect = (slot
|
|
141
|
+
const renderSelect = (slot) => {
|
|
143
142
|
const value = loaded?.config[slot] ?? "";
|
|
144
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("
|
|
145
|
-
className: FailoverRow_module_css_default.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
children:
|
|
157
|
-
|
|
158
|
-
children: t("not-set")
|
|
159
|
-
}), routes.map((route) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
160
|
-
value: route,
|
|
161
|
-
children: route
|
|
162
|
-
}, route))]
|
|
163
|
-
})]
|
|
143
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
144
|
+
className: FailoverRow_module_css_default.select,
|
|
145
|
+
value,
|
|
146
|
+
disabled: saving || loaded === null,
|
|
147
|
+
onChange: (event) => {
|
|
148
|
+
select(slot, event.target.value);
|
|
149
|
+
},
|
|
150
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
151
|
+
value: "",
|
|
152
|
+
children: t("not-set")
|
|
153
|
+
}), routes.map((route) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
154
|
+
value: route,
|
|
155
|
+
children: route
|
|
156
|
+
}, route))]
|
|
164
157
|
});
|
|
165
158
|
};
|
|
166
159
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
167
160
|
className: FailoverRow_module_css_default.row,
|
|
168
|
-
children: [
|
|
169
|
-
|
|
161
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
162
|
+
className: FailoverRow_module_css_default.rowText,
|
|
163
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
170
164
|
className: FailoverRow_module_css_default.title,
|
|
171
165
|
children: t("title")
|
|
172
|
-
}),
|
|
173
|
-
error !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
166
|
+
}), error !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
174
167
|
className: FailoverRow_module_css_default.alert,
|
|
175
168
|
role: "alert",
|
|
176
169
|
children: t("error", { message: error })
|
|
177
|
-
}) : null
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
]
|
|
170
|
+
}) : null]
|
|
171
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
172
|
+
className: FailoverRow_module_css_default.slots,
|
|
173
|
+
children: [renderSelect("fallback1"), renderSelect("fallback2")]
|
|
174
|
+
})]
|
|
183
175
|
});
|
|
184
176
|
}
|
|
185
177
|
|