Skip to content

dsh-model-surplus v0.4.5

Choose a tag to compare

@itchenshi itchenshi released this 05 Oct 07:15
· 2 commits to main since this release

审计收尾:把上一轮列出的剩余项处理掉。

修的内容

  • dsh-keys-setting:共享 <style> 不再由实例的 disposer 移除(第二个实例会跳过注入,第一个实例的
    disposer 却把它删掉 → 行样式丢失到下次刷新);把「settings.yaml 是文档化配置路径」的过时注释改对;
    引擎默认值改用宿主返回的 defaults(此前 state.defaults 写了没人读,UI 用的是另一份硬编码常量,
    两边会漂移)。
  • dsh-model-surplus:toIsoOrNull 真正支持秒级时间戳(文档早就这么写,代码没实现 → 一旦上游改用
    秒,所有重置时间会显示成 1970 且没有任何报错);删掉 limitTooltip 里两个分支完全相同的三元;
    UA 不再写死版本号(此前写 0.3.1,包已经是 0.4.x);给「pending 占位」补上说明它为何存在。
  • dsh-gateway-models:debugFile 允许列表按引擎的方式解析 home(非空 $DSH_HOME,否则 ~/.dsh)
    —— 之前只读环境变量,而引擎从不设置它,于是文档化的 <home>/logs/... 被拒、<cwd>/logs/... 反被接受;
    重复了两次的 header-source 表达式抽成一个函数;补上「路由级 api/baseURL 会盖过每个模型自己的值」这个
    事实的说明(这条是刻意保留的行为,见下)。
  • 测试完整性:两个插件测试里未 await 的 check(...) 补上(汇总数字此前少算,且未来异步断言会丢)。

一条我改了又改回去的(重要)

审计建议把 planRouteUpdate 写 baseURL 的条件收紧到「列表里所有模型都不在目录中」。我照做后发现
本插件自己的 V4.1 条目不带 baseUrl,而引擎只从目录条目解析 base?.baseUrl —— 目录里没有的模型
就只剩「路由级 baseURL」这一个来源。收紧后,混合路由上的 V4.1 模型会被引擎静默丢弃,正是这个插件
存在的意义。所以恢复原判据,并把取舍写进注释:路由级 api/baseURL 会盖过目录里各模型自己的值,
这在引擎提供不了「按模型」开关的前提下无法两全 —— 不写就丢模型,写了就改协议。

(引擎侧优先级已在源码核实:baseUrl = request.baseURL ?? base?.baseUrl ?? providerBaseUrl,
api = request.api ?? base?.api ?? routeApi,其中 request 是路由层。)