github zhu1090093659/dsh-web v0.4.11
dsh-web v0.4.11

5 hours ago

本次发布把设置页的扩展面收拢成一个入口,并把家庭设置卡的交互与文案按同一套规则理了一遍。一级的「Web 扩展」(web-ui-plugins)成为家族插件卡的父分区,创意工坊(dsh-workshop)与使用统计(dsh-usage)改为它下面的 keyed TAB,旧 id 与按旧 id 拼出来的深链照旧落到各自那一页。设置页同时统一了卡片形态:家庭设置卡改成一行一组、改完即时生效,有界数值显示分段轨道并给出粗调滑杆,控件列宽设上限,窄卡片不再把说明挤成单字;创意工坊与使用统计两页改成家族卡片并收短了文案。修复侧最关键的一条是模型工具改名:ui.present 带点,不在请求 schema 允许的 ^[a-zA-Z0-9_-]+ 之内,带它的整轮请求会被校验拒绝,所以它从上线起没有成功发出过一轮请求,本版改名为 ui_present。四个卫星仓在本版同版本对齐到 0.4.11,聚合包的 lib 指纹口径同时收窄到只覆盖它自己的 src。

模型工具改名为 ui_present,旧名从来没成功发出过一轮请求:ui.present 带点,不在请求 schema 允许的 ^[a-zA-Z0-9_-]+ 之内,带这个名字的整轮请求会被校验直接拒绝,因此这个工具自上线起没有成功发出过一轮请求。本版把它改名为 ui_present,tool.call.toolview 的 keyed 注册键随之改为同名,桌面端那张整页卡仍画在官方工具行里。改的只是注册名与线路工具名:ui.v1、ui.list.v1 两个能力名、ui.request 话题、ui.event 与 ui.list 两个方法,以及既有帧的形状都不动。
创意工坊与使用统计收进 Web 扩展的 keyed TAB:设置页的一级入口现在是 web-ui-plugins(Web 扩展),它持有 web-ui.extension 这个 keyed 槽;创意工坊以 dsh-workshop、使用统计以 dsh-usage 为 key 各占一个 TAB。一级入口的等价路径是「设置 → Web 扩展 → 创意工坊」与「设置 → Web 扩展 → 使用统计」。旧的一级入口 id(dsh-workshop、dsh-usage)与按旧 id 拼出来的深链仍然落到对应 TAB:父分区在时按 id 选中那个 TAB,父分区不在时同一个组件退回注册为原来那个一级 settings.section,id 不变。
四个卫星仓同版本对齐到 0.4.11:卫星先发、本仓后发,四个都已在 registry 上可解析,聚合包的依赖范围与市场钉扎同批抬到 0.4.11:

  • 皮肤中心(dsh-skins):@linxin666/dsh-client-ui-skin-center@0.4.11
  • 宠物(dsh-pet):@linxin666/dsh-pet@0.4.11
  • 社区插件索引(dsh-community-plugins):@linxin666/dsh-client-ui-community-plugins@0.4.11
  • 预设中心(dsh-presets):@linxin666/dsh-client-ui-preset-center@0.4.11
    自动升级不需要任何迁移:本版没有改动任何持久化或线协议标识符——设置 section id、配置 key、localStorage 键、控制面 API path、线协议次版本(仍是 MINOR 21)与聚合包的行全部保持 0.4.10 的值,cordis.patch.yml 一行未动。三条入口的语义与 0.4.10 相同:插件管理器更新是唯一带预检与版本断言的迁移路径(含旧聚合名 @linxin666/dsh-web-ui-all 的分支);Doctor 的启动前迁移路径在本仓已不存在,dsh-doctor 只是 tombstone,装不上也没有启动前置消费者;直接 dsh web 不安装、不预检、不做任何 registry 版本迁移,旧 profile 原样保留。手工恢复用 dsh plugin --profile <name> add @linxin666/dsh-web-all@0.4.11。
    已知问题:皮肤中心卡片文案写「应用后页面自动刷新」,实际不刷新页面:卡片说明写的是应用后页面自动刷新,而 apply 走的是就地生效那条路径,并不刷新页面;文案在下一个版本修正,功能本身按就地生效工作。
    门禁口径变化:聚合包的 lib 指纹只覆盖它自己的 src:聚合包 lib/ 的指纹此后只对 packages/dsh-web-all/src 取,子插件的 src 不再进入这份指纹,因此某个子包的 src 变化只影响它自己那个包的 lib/。pnpm libs:check 仍是唯一的门(issue #1901)。

新功能

  • [settings] 其余插件页的说明文案各收成一句短句
  • [dsh-usage] 使用统计页改为家族卡片,文案同步收短
  • [dsh-market] 创意工坊页改为家族卡片,文案同步收短
  • [settings] 有界数值显示分段轨道,并给出一个粗调滑杆
  • [web-settings] 扩展页加上页头,插件行按分组排布
  • [settings] 家庭设置卡改成「一行一组、改完即时生效」的排布
  • [settings] 扩展页合并成唯一的 Web 扩展入口
  • [settings] 扩展页收进同一个 Web 扩展分区

修复

  • [remote-bridge] 模型工具名去掉点号,整轮不再被请求校验拒绝
  • [dsh-market] 商店网格的最小列宽跟随容器收窄
  • [settings-card] 控件列宽设上限,窄卡片不再把说明文字挤成单字

其他改动

  • [build] 聚合包 lib 指纹收窄到只覆盖自己的 src
  • [agents] 把 UI 工具行的注册键改正为 ui_present
  • [satellites] 移动皮肤与宠物钉扎并重建市场产物
  • [ci] 外部 PR 提交改为可回滚开关
  • [build] 合并工具名修复后刷新 lib 指纹
  • [build] 刷新 lib 指纹
  • [satellites] 皮肤与宠物钉住上游提交
  • [agents] 记录控件列宽上限与全站文案风格
  • [agents] 记录插件页的卡片形态与文案风格
  • [dsh-i18n] 宠物设置页俄语词典跟随精简后的文案
  • [satellites] 皮肤与宠物钉扎抬到设置交互这一版
  • [settings] 记录分段滑块的滑动高亮
  • [release] 记录存量 profile 升级的实测结果
  • [readme] 把构建脚本审批挪到首次安装之前
  • [release] 修正 0.4.10 的安装补救指引
English

This release collects the settings page's extension surface into one entry and puts the family settings cards' interaction and copy on one set of rules. The first-level Web Extensions entry (web-ui-plugins) becomes the parent section of the family plugin cards, and the Workshop (dsh-workshop) and usage (dsh-usage) pages become keyed TABs under it, while the old ids and the deep links built from them still land on their own page. The settings page also unifies the card shape: family settings cards lay out as rows that apply at once, a bounded number shows its segment track and offers a coarse slider, a control column cap keeps a narrow card from squeezing its description into single characters, and the Workshop and usage pages become family cards with tighter copy. The most important fix is a tool rename: ui.present carried a dot that the request schema's ^[a-zA-Z0-9_-]+ does not allow, so a turn that carried it was rejected by validation and the tool never sent a single successful request; this version renames it to ui_present. The four satellite repositories align to 0.4.11 in this version, and the aggregate's lib fingerprint scope narrows to its own src.

The model tool is renamed ui_present, and the old name never sent a single successful request: ui.present carries a dot that the request schema's ^[a-zA-Z0-9_-]+ does not allow, so a whole turn that carried that name was rejected by validation and the tool never sent one successful request since it shipped. This version renames it to ui_present, and the keyed tool.call.toolview registration key follows the same name, so the desktop still draws the whole-page card inside the official tool row. Only the registration name and the wire tool name move: the two capability names ui.v1 and ui.list.v1, the ui.request topic, the ui.event and ui.list methods and every existing frame shape stay as they are.
The Workshop and usage pages move into keyed TABs of Web Extensions: the settings page's first-level entry is now web-ui-plugins (Web Extensions), which owns the keyed web-ui.extension slot; the Workshop takes the key dsh-workshop and usage takes dsh-usage, one TAB each. The equivalent path of the old first-level entries is settings -> Web Extensions -> Workshop and settings -> Web Extensions -> usage. The old first-level ids (dsh-workshop, dsh-usage) and the deep links built from them still land on the matching TAB: while the parent is present it selects that TAB by id, and without the parent the same component falls back to registering as its original first-level settings.section with the same id.
The four satellite repositories align to 0.4.11: the satellites publish first and this repository second; all four resolve from the registry, and the aggregate's dependency ranges move to 0.4.11 together with the market pins:

  • Skin center (dsh-skins): @linxin666/dsh-client-ui-skin-center@0.4.11
  • Pet (dsh-pet): @linxin666/dsh-pet@0.4.11
  • Community plugin index (dsh-community-plugins): @linxin666/dsh-client-ui-community-plugins@0.4.11
  • Preset center (dsh-presets): @linxin666/dsh-client-ui-preset-center@0.4.11
    An automatic upgrade needs no migration at all: this version changes no persisted or wire-protocol identifier — settings section ids, configuration keys, localStorage keys, control-plane API paths, the wire protocol minor (still MINOR 21) and the aggregate's rows all keep their 0.4.10 values, and cordis.patch.yml is untouched. The three entry points keep their 0.4.10 semantics: the plugin-manager update is the only migrating path, with preflight and a version assertion (including the legacy aggregate name @linxin666/dsh-web-ui-all branch); the Doctor pre-launch migration path no longer exists in this repository, where dsh-doctor is only a tombstone that cannot be installed and has no launcher consumer; and a direct dsh web installs nothing, preflights nothing and does no registry version migration, so an old profile stays exactly as it is. To recover by hand, run dsh plugin --profile <name> add @linxin666/dsh-web-all@0.4.11.
    Known issue: the Skin Center card copy says the page refreshes after applying, but applying does not refresh it: the card description promises a page refresh on apply, while apply takes the in-place path and does not reload the page; the copy is corrected in the next version, and the feature itself works in place.
    The gate's scope changes: the aggregate's lib fingerprint covers only its own src: the aggregate's lib/ fingerprint is taken over packages/dsh-web-all/src alone from now on, a child plugin's src no longer enters it, and a child's src change therefore moves only that child's own lib/. pnpm libs:check stays the single gate (issue #1901).

New Features

  • [settings] The remaining plugin pages cut their description to one short sentence
  • [dsh-usage] The usage page becomes a family card with tighter copy
  • [dsh-market] The Workshop page becomes a family card with tighter copy
  • [settings] A bounded number shows its segment track and offers a coarse slider
  • [web-settings] The extensions page gets a header and its plugin rows are grouped
  • [settings] Family settings cards lay out as rows that apply at once
  • [settings] The extension pages merge into one Web Extensions entry
  • [settings] The extension pages move under one Web Extensions section

Bug Fixes

  • [remote-bridge] The model tool name drops its dot, so a turn is no longer rejected by request validation
  • [dsh-market] The store grid's minimum column width follows its container
  • [settings-card] A control column cap keeps a narrow card from squeezing its description into single characters

Other Changes

  • [build] The aggregate lib fingerprint covers only its own src
  • [agents] The UI toolview registration key is corrected to ui_present
  • [satellites] The skin and pet gitlinks move and the market artifacts are rebuilt
  • [ci] External PR commits are opened by a switch that can be rolled back
  • [build] The lib fingerprints are refreshed after the tool-name fix merges
  • [build] The lib fingerprints are refreshed
  • [satellites] The skin and pet gitlinks move to their upstream commits
  • [agents] A note records the control column cap and the site-wide copy style
  • [agents] A note records the plugin page's card shape and copy style
  • [dsh-i18n] The pet settings page's Russian dictionary follows the tighter copy
  • [satellites] The skin and pet pins move to the settings interaction pass
  • [settings] The sliding segment highlight is recorded
  • [release] The measured legacy-profile upgrade result is recorded
  • [readme] Build-script approval moves before the first install
  • [release] The 0.4.10 install recovery guidance is corrected

Generated automatically by the release pipeline (scripts/release-notes.mjs).

Don't miss a new dsh-web release

NewReleases is sending notifications on new releases.