dsh-background-by-model 0.8.1 → 0.9.0

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 CHANGED
@@ -1,8 +1,20 @@
1
1
  # Changelog
2
2
 
3
- > The full release history lives here; the **Recent optimizations** section of [README.md](./README.md#recent-optimizations) lists only the two most recent releases (v0.8.1 / v0.8.0).
3
+ > The full release history lives here; the **Recent optimizations** section of [README.md](./README.md#recent-optimizations) lists only the two most recent releases (v0.9.0 / v0.8.2).
4
+
5
+ ## v0.9.0
6
+
7
+ - **The RPC channel is a prefix route on `webServer`** — `connection.rpc.handle` registers through the connection service's own context, which cannot resolve `webServer`, so it throws and the entry never activates; the route keeps the same Host/Origin fence by asking `requestRejection` per request.
8
+ - **An exported theme downloads again** — its object URL is released on the next task rather than in the same tick, which some browsers treat as a cancellation.
9
+ - **Every recurring check shares one scheduler** — model poll, theme watchdog, holiday rollover and the two delayed restores, paused while the tab is hidden and stopped by one dispose.
10
+ - **The browser entry point is modules again** — skin, watchdogs, rotation, boot hydration, model state, auto-extraction, theme files and the nav icon each get a file, and `index.tsx` is wiring.
11
+ - **Comments say why the code is what it is**, not what it used to be; `schema.ts` records its version history as a table.
12
+ - **`check:watchdogs` is new** — one beat, per-entry due times, paused when hidden, nothing left after dispose, and no module arming an interval behind the scheduler.
13
+ - **A recommended profile written for an older schema imports again**, with defaults for the fields it predates; `check:scheme` compares the live manifest with `SCHEMA_VERSION`.
14
+ - **The dark-mode flag belongs to the host again** — `data-ds-dark-theme` is corrected only while it still holds the plugin's own value, and dropping the token sheet drops `data-dab-themed` with it.
15
+
16
+ ## v0.8.2
4
17
 
5
- ## v0.8.1
6
18
 
7
19
  - **The wallpaper layer gains a brightness slider, next to opacity and blur** — the two existing sliders could take a picture down and frost it, but nothing could lift one: an underexposed photo, a night shot or a dim monitor meant editing the file before it went in. The new **背景亮度 / Background brightness** slider sits between them (`0–200%`, `100%` untouched, double-click to reset) and belongs to the rule, exactly like the other two, so each model's wallpaper keeps its own exposure. A festival wallpaper's brightness is yours as well, like its opacity and framing; its slot, mode and colors stay the definition's.
8
20
  - **The two effects that share `filter` are composed in ONE place (a fix waiting to happen)** — brightness and blur are one CSS property, so a second assignment anywhere would have left whichever ran last and silently dropped the other. There is now a single `wpFilter()` that builds the string from the active rule (brightness first, blur second, and the neutral brightness left out so an untouched wallpaper keeps the empty `filter` it always had), and both the full apply and the live drag write through it. The old standalone `setWpBlur` helper had no callers and is now the parameterless `setWpFilter`.
package/CHANGELOG.zh.md CHANGED
@@ -1,6 +1,21 @@
1
1
  # 更新日志
2
2
 
3
- > 这里保留完整的历史记录;[README.zh.md](./README.zh.md#近期优化) 的「近期优化」一节只列最近两个版本(v0.8.1 / v0.8.0)。
3
+ > 这里保留完整的历史记录;[README.zh.md](./README.zh.md#近期优化) 的「近期优化」一节只列最近两个版本(v0.9.0 / v0.8.2)。
4
+
5
+ ## v0.9.0
6
+
7
+ - **RPC 通道是 `webServer` 上的 prefix 路由** —— `connection.rpc.handle` 经 connection 服务自己的上下文注册,那里解析不到 `webServer`,于是抛错、条目根本不激活;路由仍按请求询问 `requestRejection`,Host/Origin 围墙不变。
8
+ - **导出的主题又能下载了** —— object URL 改为下一个任务释放,在同一 tick 里撤销会被部分浏览器当成取消。
9
+ - **所有周期性检查共用一条调度器** —— 模型轮询、主题看守、节日换日与两次延迟恢复,标签页隐藏时暂停,一个 dispose 全停。
10
+ - **浏览器半边重新拆成模块** —— 皮肤、看守、轮换、启动水合、模型状态、自动取色、主题文件与导航图标各自成文件,`index.tsx` 只剩接线。
11
+ - **注释只讲代码为什么是现在这样**,不讲它曾经是什么样;`schema.ts` 的版本史改为一张表。
12
+ - **新增 `check:watchdogs`** —— 一条心跳、按各自到期时间触发、隐藏即暂停、dispose 不留定时器,且入口之外没有模块自己起 interval。
13
+ - **旧 schema 的推荐配置又能导入了** —— 缺的字段取默认值;`check:scheme` 把线上清单与 `SCHEMA_VERSION` 比对。
14
+ - **深色标记交还宿主** —— `data-ds-dark-theme` 只在该值仍是插件写的那份时才被改写,清掉 token 表的同时也清掉 `data-dab-themed`。
15
+
16
+ ## v0.8.2
17
+
18
+ - **dsh 依赖下界抬到宿主自己那一版(`>=0.2.1-alpha.2`)** —— `engines.dsh`、5 个 `dsh-client-*` peer 与 `dsh-home-paths` 此前要的还是 0.1.7 那一代,而在用的宿主是 0.2.1-alpha.2。那 5 个 client 包正是宿主注入给浏览器半边的,所以这份声明是唯一说明「这里的代码是对着哪一代写的」的地方 —— 下界停在旧一代,装出来的插件就可能配着上一代客户端跑在 0.2.1-alpha.2 旁边。`dsh-invariants` 跟不了(npm 上没有它的 0.2.1-alpha.2,0.2.x 宿主也压根不带这个包),继续留在 `>=0.1.7-rc.2`;`@deepseek-ai/cordis` 没动。锁文件把 dsh 家族解析到 0.2.1-alpha.2,`pnpm test` 十道全过。
4
19
 
5
20
  ## v0.8.1
6
21
 
package/README.md CHANGED
@@ -270,18 +270,16 @@ The effect is **Instant**, or the duration is `0` — an effect and a duration a
270
270
 
271
271
  > Only the two most recent releases are listed here; older ones live in [CHANGELOG.md](./CHANGELOG.md).
272
272
 
273
- ### v0.8.1
273
+ ### v0.9.0
274
274
 
275
- - **The wallpaper layer has a brightness slider now**, between opacity and blur (`0–200%`, `100%` untouched, double-click to reset), stored per rule like the other two. They could dim a picture and frost it; nothing could lift an underexposed one.
276
- - **Brightness and blur share one `filter`, composed in a single function** — a second assignment would have silently dropped one of them. Both the full apply and the live drag write through it.
277
- - **Every page the centre column shows is one row now (插件页面)**, opacity only: 插件, 自动化任务 and any page a plugin registers of its own are located by the slot they mount in rather than by name, so a page that does not exist yet is already covered. It ships at zero, where the plugin writes nothing at all.
278
- - **The interface parts are found by name instead of by position** — the frame grew rows after the overlay, and "the three children before it" had quietly become the wrong columns, so the part sliders were writing where nobody looks.
279
- - **The Interface tab's blur sliders are gone, and so is the capability behind them** — what they frosted was the wallpaper behind a column (the wallpaper layer's own blur already does that, per rule) or a backdrop nobody reads once a panel is translucent. The tab is opacity only now.
275
+ - **The RPC channel is the plugin's own prefix route on `webServer`**, so envelope, body cap and the auth fence stay here and `requestRejection` is asked per request.
276
+ - **One scheduler for every recurring check** — model poll, theme watchdog, holiday rollover and the delayed restores share a clock, pause while the tab is hidden, and stop with one dispose.
277
+ - **The browser entry point is wiring again** — skin, watchdogs, rotation, boot, model state, extraction and theme files are their own modules.
278
+ - **Exporting a theme no longer cancels its own download**, and comments say why the code is what it is rather than what it used to be.
280
279
 
281
- ### v0.8.0
280
+ ### v0.8.2
282
281
 
283
- - **The bundle is built when the tarball is packed, not committed** — `lib/` was ~1 MB of generated JavaScript per release and effectively all of this repository's growth; it is now gitignored and built by `prepack`, so what npm serves is always built from the tagged source.
284
- - **Installing straight from a GitHub checkout is gone** — that tree has no `lib/` and nothing in it builds one, so npm is the only source. Releases also now come from GitHub Actions over OIDC and carry build provenance.
282
+ - **The dsh dependency floor follows the host** — `engines.dsh`, the five `dsh-client-*` peers and `dsh-home-paths` now declare `>=0.2.1-alpha.2` instead of the 0.1.7 generation, so an install cannot be paired with the previous client packages, while `dsh-invariants` and `@deepseek-ai/cordis` stay as they are.
285
283
 
286
284
  ## Star History
287
285
 
package/README.zh.md CHANGED
@@ -270,18 +270,16 @@ pnpm test # 构建 lib/、类型检查、跑十道检查
270
270
 
271
271
  > 这里只列最近两个版本;更早的版本见 [CHANGELOG.zh.md](./CHANGELOG.zh.md)。
272
272
 
273
- ### v0.8.1
273
+ ### v0.9.0
274
274
 
275
- - **壁纸层多了亮度滑块**,夹在透明度与模糊之间(`0–200%`,`100%` 即原图,双击复位),和另外两条一样按规则保存。它们能把画面压暗、能起雾,却没有任何东西能把一张曝光不足的图提亮。
276
- - **亮度与模糊共用一个 `filter`,只在唯一的函数里合成** —— 第二处赋值会让其中一个被静默丢掉,所以完整应用与拖动时的实时更新都走同一个函数。
277
- - **主区里的每一个整页现在是一行(插件页面)**,只做透明度:插件、自动化任务,以及任何插件自己注册的页,都按它挂载的槽来认而不是按名字,所以一个还不存在的页也已经被覆盖。它出厂就是 0,此时插件什么都不写。
278
- - **界面各分区按名字找,不按位置找** —— 框架在覆盖层之后又长出了行,「覆盖层之前的那三个子元素」悄悄变成了错的列,分区滑块一直在往没人看的地方写。
279
- - **「界面」页的模糊度滑块删掉了,连同它们底下那套能力** —— 被雾住的那一列,磨的其实是它背后的壁纸(这件事壁纸层自己的模糊早就按规则在做);被雾住的面板,雾的是一块一旦半透明就没人再看的底色。这一页现在只剩透明度。
275
+ - **RPC 通道是插件自己在 `webServer` 上的 prefix 路由** —— envelope、请求上限与鉴权围墙留在插件这侧,每个请求都询问 `requestRejection`。
276
+ - **所有周期性检查合并成一个调度器** —— 模型轮询、主题看守、节日换日与延迟恢复共用一条时钟,标签页隐藏时暂停,一个 dispose 全停。
277
+ - **浏览器半边入口只剩接线** —— 皮肤、看守、轮换、启动、模型状态、取色与主题文件各自成模块。
278
+ - **导出主题不再取消自己的下载**,注释也只讲代码为什么是现在这样、不讲它曾经是什么样。
280
279
 
281
- ### v0.8.0
280
+ ### v0.8.2
282
281
 
283
- - **构建产物在打包时生成,不再提交进仓库** —— `lib/` 是每次发版约 1 MB 的生成代码,也几乎就是这个仓库增长的全部;现在它被 gitignore 挡住、由 `prepack` 生成,所以 npm 上发出去的永远是从被打 tag 的那份源码构建出来的。
284
- - **不能再直接从 GitHub 仓库安装了** —— 那棵树里没有 `lib/`,也没有任何东西会去构建它,所以只剩 npm 一个来源。发版也改由 GitHub Actions 走 OIDC 完成,并附带构建 provenance。
282
+ - **dsh 依赖下界跟着宿主走** —— `engines.dsh`、5 个 `dsh-client-*` peer 与 `dsh-home-paths` 从 0.1.7 那一代改成声明 `>=0.2.1-alpha.2`,装出来的插件不会再被配上上一代客户端包,而 `dsh-invariants` 与 `@deepseek-ai/cordis` 各有理由、保持不动。
285
283
 
286
284
  ## Star History
287
285