dsh-crossterm 0.9.11 → 0.9.12

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,3 +1,13 @@
1
+ ## 0.9.12 — 2026-10-20
2
+
3
+ ### 修复:负责人记录的「上一任」取错人(只改代码一处)
4
+
5
+ - 症状:`/about` 的 `maintainers.previous` 与 `logs/ownership.log` 新写的行里,「上一任」显示成最早的初版负责人 `6ef6da30`,而不是刚交接的 `b6aa099b`。
6
+ - 根因:`lib/logs.js` 的 `readMaintainersDoc()` 取 `list[list.length - 1]`(数组最后一条 = 最老的一条)。`MAINTAINERS.md` 里 `previous[]` 是**新的在前**。
7
+ - 修法:改成按 `to`(离任时间)倒序取最近的一位;另外把完整历史以 `previousAll` 一并返回,卡片/接口将来要列全部也能用。
8
+ - 影响面:只影响「上一任」这一栏的取值,当前负责人、组件、收发信、云端中转、自动重启都不变;组件版本不动。
9
+ - 说明:本次重启**不会**改写 `logs/ownership.log` 里已经写错的那一行(写入口有去重标记),历史以 `MAINTAINERS.md` 为准。
10
+
1
11
  ## 0.9.11 — 2026-10-20
2
12
 
3
13
  ### 负责人变更(只改文档,无代码改动)
package/README.md CHANGED
@@ -30,7 +30,13 @@ A 终端看不到 B 终端里有哪个会话、在干什么,也没法把一条
30
30
  >
31
31
  > 组件版本号怎么升:**只在该组件自己的文件改动时升它**,跟着插件一起发版(例:只改自动重启 → `components/restart` 的 `0.3.28` → `0.3.29`,其余四个不动)。插件总版本仍按发版技能的三分位规则。
32
32
 
33
- **本版更新(0.9.11)**
33
+ **本版更新(0.9.12)**
34
+
35
+ - **修「上一任」取错人**:`/about` 的维护者信息与 `logs/ownership.log` 里,「上一任」以前会显示成最早的初版负责人 `6ef6da30`;现在按离任时间取最近的一位(本次交接后应为 `b6aa099b`)。
36
+ - 接口多返回一个 `previousAll`(完整历任列表),当前负责人与各组件版本不变,功能零变化。
37
+ - 历史日志里已写错的那一行不会自动改写(有去重标记),以 `MAINTAINERS.md` 为准。
38
+
39
+ **上一版(0.9.11)**
34
40
 
35
41
  - **负责人交接**:本插件维护权与发版权限由 `b6aa099b` 移交给 `3195b037`(显示名「插件—互通插件负责人001」,工作区 `H:\dshGZQ\dsh-crossterm`),时间 2026-10-20 19:55,依据机主「负责人交接,权限交接」。
36
42
  - 本版只改文档:`MAINTAINERS.md`(`current` / `previous[]` / `modules` / 任期表)、`AGENTS.md` §7、发版技能、`README` 负责人段。
package/lib/bus.js CHANGED
@@ -23,7 +23,7 @@ import path from 'node:path'
23
23
  import crypto from 'node:crypto'
24
24
  import { rotateIfNeeded } from './logs.js'
25
25
 
26
- export const VERSION = '0.9.11'
26
+ export const VERSION = '0.9.12'
27
27
 
28
28
  /** DSH 的家目录:与宿主其它状态(sessions / profiles)同一个根,多终端天然共享 */
29
29
  export function dshHome() {
package/lib/logs.js CHANGED
@@ -72,9 +72,15 @@ export function readMaintainersDoc(root) {
72
72
  if (!m) return null
73
73
  const doc = JSON.parse(m[1])
74
74
  const list = Array.isArray(doc.previous) ? doc.previous : []
75
+ // 「上一任」= 离任时间(to)最近的那一位;MAINTAINERS.md 里是新的在前,
76
+ // 但历史文件也可能写成老的在前,所以按 to 排序取最大,取不到再退回第一条。
77
+ const prev = list.length
78
+ ? list.slice().sort((a, b) => String(b && b.to || '').localeCompare(String(a && a.to || '')))[0]
79
+ : null
75
80
  return {
76
81
  current: doc.current || null,
77
- previous: list.length ? list[list.length - 1] : null,
82
+ previous: prev || null,
83
+ previousAll: list,
78
84
  assistant: doc.assistant || null,
79
85
  }
80
86
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-crossterm",
3
- "version": "0.9.11",
3
+ "version": "0.9.12",
4
4
  "description": "跨端互通:同一 DSH 账号下的会话、工作区、设备之间互通 —— 特征码链、内联邮件、云端中转站与自动备份",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",