dsh-m 0.9.90 → 0.9.91
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.
- package/CHANGELOG.md +12 -0
- package/lib/client.js +4 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,12 @@ The full release history of dsh-m, maintained bilingually: **Chinese first, Engl
|
|
|
8
8
|
|
|
9
9
|
## 中文
|
|
10
10
|
|
|
11
|
+
### 0.9.91 优化:设置页三卡行 4:7:3 → 4:7:4——「社区清单」与「关于」等宽
|
|
12
|
+
|
|
13
|
+
- **需求(2026-10-16,主人真机反馈)**:宽屏/全屏下设置页三卡行左右不对称——「社区清单」(4fr)与「关于」(3fr)宽度不一致,视觉失衡。
|
|
14
|
+
- **方案**:三列制 `grid-template-columns` 4fr 7fr 3fr → **4fr 7fr 4fr**,左右窄卡等宽、中间「精选清单」仍为视觉主体;两列常态(容器 <1100px)与 ≤760px 视口单列不变。
|
|
15
|
+
- **验证**:typecheck 零错误、全量 1506 测试全绿(源锚断言同步更新至 4:7:4);主人真机验收通过(热部署预览定稿后随本版发版)。
|
|
16
|
+
|
|
11
17
|
### 0.9.90 性能:搜索归一化冷路径单遍化——世代冷搜索 ~330ms → 99ms p50(宿主事件循环最后一块 >100ms 停摆清除)+ CLI search 位置参数修复
|
|
12
18
|
|
|
13
19
|
- **问题(2026-10-16 走查 + 评审实测)**:物化合并市场(ADR-0016)每个世代的**首次搜索**仍同步阻塞宿主事件循环 ~324–364ms——`normalizeSearchText` 逐字符双 regex 分类 + 收尾全量 regex replace 两遍扫描(全语料 256.8ms,NFKC 仅 13.6ms)+ `fieldText` 每字段三次数组分配;触发频率 = 每小时 registry SWR 换代(fetchedAt 无条件 bump)+ 每次宿主重启 + 每日目录换版后的第一次搜索,agent `dshm_search` 同路径。另:`dshm search 主题` 的位置参数被 parseArgs 静默丢弃(query=undefined → 无评分浏览整页)。
|
|
@@ -637,6 +643,12 @@ The full release history of dsh-m, maintained bilingually: **Chinese first, Engl
|
|
|
637
643
|
|
|
638
644
|
## English
|
|
639
645
|
|
|
646
|
+
### Polish in 0.9.91 — settings three-card row 4:7:3 → 4:7:4: Community and About equal width
|
|
647
|
+
|
|
648
|
+
- **Need (2026-10-16, live feedback)**: on wide/fullscreen the settings three-card row was asymmetric — Community (4fr) and About (3fr) had different widths.
|
|
649
|
+
- **Approach**: three-column `grid-template-columns` 4fr 7fr 3fr → **4fr 7fr 4fr**; the two side cards are now equal width while Registry stays the visual anchor. The two-column default (container <1100px) and the ≤760px single column are unchanged.
|
|
650
|
+
- **Verification**: typecheck clean, full suite 1506 green (source-anchor assertions updated to 4:7:4); accepted live (hot-deploy preview approved, shipped in this release).
|
|
651
|
+
|
|
640
652
|
### Performance in 0.9.90 — single-pass search normalization cold path: per-generation cold search ~330ms → 99ms p50 (last >100ms stall on the host event loop cleared) + CLI search positional fix
|
|
641
653
|
|
|
642
654
|
- **Problem (2026-10-16 walk + review measurements)**: the first search of every materialized merged-market generation (ADR-0016) still blocked the DSH host event loop synchronously for ~324–364ms — `normalizeSearchText`'s per-char dual-regex classification plus a trailing full-scan regex replace (256.8ms over the full corpus; NFKC is only 13.6ms), plus three array allocations per field in `fieldText`. Triggered hourly by registry SWR generation churn (fetchedAt bumps unconditionally), after every host restart, and on the first search after each daily catalog bump — the agent `dshm_search` tool rides the same path. Also: `dshm search 主题` silently dropped the positional keyword (query=undefined → unranked browse page).
|
package/lib/client.js
CHANGED
|
@@ -2934,10 +2934,11 @@ button.dshm-badge:hover{filter:brightness(.95)}
|
|
|
2934
2934
|
.dshm-settings-grid>.dshm-section:nth-child(3){grid-column:1/-1}
|
|
2935
2935
|
.dshm-settings-grid>.dshm-ops-card{grid-column:1/-1}
|
|
2936
2936
|
/* \u4E09\u5217\u5236\u95E8\u63A7 = \u5BB9\u5668\u5BBD\u5EA6\u800C\u975E\u5168\u5C4F\u6001\uFF080.9.88\uFF0Cpanel resize \u4F34\u751F\u4FEE\u590D\uFF09\uFF1A\u8FD8\u539F\u6001\u53EF\u62C9\u5230
|
|
2937
|
-
\u4EFB\u610F\u5BBD\uFF0C\u22651100px \u65F6\u300C\u5173\u4E8E\u300D\u5347\u7B2C\u4E09\u5217\
|
|
2938
|
-
\u5C0F\u89C6\u53E3\u5168\u5C4F\uFF08<1100\uFF09\u4E0D\u518D\u88AB\u5F3A\u585E\u4E09\u5217\uFF0C\u56DE\u843D\u4E24\u5217\u3002\u2264760px \u89C6\u53E3\u5355\u5217\u5A92\u4F53\u67E5\u8BE2\u539F\u6837\u4FDD\u7559\u3002
|
|
2937
|
+
\u4EFB\u610F\u5BBD\uFF0C\u22651100px \u65F6\u300C\u5173\u4E8E\u300D\u5347\u7B2C\u4E09\u5217\uFF1B\u987A\u5E26\u4FEE\u6B63\u65E7\u8D26\u2014\u2014
|
|
2938
|
+
\u5C0F\u89C6\u53E3\u5168\u5C4F\uFF08<1100\uFF09\u4E0D\u518D\u88AB\u5F3A\u585E\u4E09\u5217\uFF0C\u56DE\u843D\u4E24\u5217\u3002\u2264760px \u89C6\u53E3\u5355\u5217\u5A92\u4F53\u67E5\u8BE2\u539F\u6837\u4FDD\u7559\u3002
|
|
2939
|
+
0.9.91 \u4E09\u5217 4:7:3 \u2192 4:7:4\uFF08\u4E3B\u4EBA 2026-10-16 \u5B9A\u7A3F\uFF09\uFF1A\u5DE6\u53F3\u7A84\u5361\u7B49\u5BBD\uFF0C\u89C6\u89C9\u5BF9\u79F0\u3002 */
|
|
2939
2940
|
@container (min-width:1100px){
|
|
2940
|
-
.dshm-settings-grid{grid-template-columns:4fr 7fr
|
|
2941
|
+
.dshm-settings-grid{grid-template-columns:4fr 7fr 4fr}
|
|
2941
2942
|
.dshm-settings-grid>.dshm-section:nth-child(3){grid-column:auto}
|
|
2942
2943
|
}
|
|
2943
2944
|
@media (max-width:760px){.dshm-settings-grid,.dshm-panel.full .dshm-settings-grid{grid-template-columns:minmax(0,1fr)}.dshm-settings-grid>.dshm-section:nth-child(3),.dshm-settings-grid>.dshm-ops-card{grid-column:1/-1}}
|