dsh-crossterm 0.9.2 → 0.9.3
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 +9 -0
- package/MAINTAINERS.md +48 -5
- package/README.md +10 -9
- package/components/ui/manifest.json +3 -3
- package/lib/bus.js +1 -1
- package/lib/index.js +2 -2
- package/lib/web.js +3 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## 0.9.3 — 2026-10-20
|
|
2
|
+
|
|
3
|
+
修 0.9.2 的两处显示缺陷(代码逻辑没变,只动 `GET /crossterm/api/about` 与 ui 组件清单):
|
|
4
|
+
|
|
5
|
+
- **组件表漏了第 ⑥ 个**:`lib/web.js` 的 `PART_ORDER` 还停在四个业务组件,自动重启没进 `/about.components`,卡片「包含的组件」里看不到它。补 `restart`。
|
|
6
|
+
- **入口组件名字是 "ui"**:`components/ui/manifest.json` 的 `name` 没写人读文案。改成「跨端互通(入口)」,并补一句简介。
|
|
7
|
+
- `PART_ORDER` 现在按插件页顺序给六个组件:入口、跨会话、跨终端、跨设备、跨账号、自动重启;每个都带 `version`。
|
|
8
|
+
- **组件版本号按新规矩各升各的**:这次只动 ui 组件 → `components/ui/manifest.json` 0.9.2 → 0.9.3;其余五个仍是 0.9.2,自动重启仍是 0.3.28。
|
|
9
|
+
|
|
1
10
|
## 0.9.2 — 2026-10-20
|
|
2
11
|
|
|
3
12
|
**组件拆成目录 + 每个组件有自己的版本号**(User said:组件文件分开存放、插件页每个组件显示版本、改到哪个组件就升哪个)。
|
package/MAINTAINERS.md
CHANGED
|
@@ -27,14 +27,49 @@
|
|
|
27
27
|
"scope": "按负责人派活改 lib/*.js;不得改版本号、总线状态、重启、C 盘写入、AGENTS.md"
|
|
28
28
|
},
|
|
29
29
|
"modules": {
|
|
30
|
+
"ui": {
|
|
31
|
+
"session": "session-b6aa099b-cfa6-42b7-961c-10f720236219",
|
|
32
|
+
"short": "b6aa099b",
|
|
33
|
+
"role": "入口/自更新组件负责人(= 插件负责人)",
|
|
34
|
+
"since": "2026-10-20",
|
|
35
|
+
"scope": "components/ui/**、client/**、lib/web.js 的卡片与自动更新、locale/**"
|
|
36
|
+
},
|
|
37
|
+
"session": {
|
|
38
|
+
"session": "session-b6aa099b-cfa6-42b7-961c-10f720236219",
|
|
39
|
+
"short": "b6aa099b",
|
|
40
|
+
"role": "跨会话组件负责人(= 插件负责人)",
|
|
41
|
+
"since": "2026-10-20",
|
|
42
|
+
"scope": "components/session/**、lib/bus.js 的链/邮件/收件箱"
|
|
43
|
+
},
|
|
44
|
+
"terminal": {
|
|
45
|
+
"session": "session-b6aa099b-cfa6-42b7-961c-10f720236219",
|
|
46
|
+
"short": "b6aa099b",
|
|
47
|
+
"role": "跨终端组件负责人(= 插件负责人)",
|
|
48
|
+
"since": "2026-10-20",
|
|
49
|
+
"scope": "components/terminal/**、本机 presence / term_send / term_send_files"
|
|
50
|
+
},
|
|
51
|
+
"device": {
|
|
52
|
+
"session": "session-b6aa099b-cfa6-42b7-961c-10f720236219",
|
|
53
|
+
"short": "b6aa099b",
|
|
54
|
+
"role": "跨设备组件负责人(= 插件负责人)",
|
|
55
|
+
"since": "2026-10-20",
|
|
56
|
+
"scope": "components/device/**、lib/cloud/**(中转站、备份、layout)"
|
|
57
|
+
},
|
|
58
|
+
"account": {
|
|
59
|
+
"session": "session-b6aa099b-cfa6-42b7-961c-10f720236219",
|
|
60
|
+
"short": "b6aa099b",
|
|
61
|
+
"role": "跨账号组件负责人(= 插件负责人,预留位)",
|
|
62
|
+
"since": "2026-10-20",
|
|
63
|
+
"scope": "components/account/**(目前无代码)"
|
|
64
|
+
},
|
|
30
65
|
"restart": {
|
|
31
66
|
"session": "session-a3e9f80e-6f28-425c-9807-0b9d8b872b5e",
|
|
32
67
|
"short": "a3e9f80e",
|
|
33
68
|
"name": "自动重启",
|
|
34
69
|
"role": "自动重启模块负责人(原 dsh-restart 插件作者会话)",
|
|
35
70
|
"since": "2026-10-20",
|
|
36
|
-
"scope": "
|
|
37
|
-
"rule": "不单独发版、不自己发版;改完向主维护会话(b6aa099b)汇报,由主维护并入 dsh-crossterm
|
|
71
|
+
"scope": "components/restart/ 下的 core.js、runtime.js、scripts/**",
|
|
72
|
+
"rule": "不单独发版、不自己发版;改完向主维护会话(b6aa099b)汇报,由主维护并入 dsh-crossterm 发版;只改 components/restart/** 时把它的组件版本号(现 0.3.28)加一"
|
|
38
73
|
}
|
|
39
74
|
},
|
|
40
75
|
"previous": [
|
|
@@ -57,9 +92,17 @@
|
|
|
57
92
|
|
|
58
93
|
一份插件里可以拆给多人:模块负责人只管自己那几支文件,发版仍由插件负责人统一做。
|
|
59
94
|
|
|
60
|
-
|
|
|
61
|
-
|
|
62
|
-
|
|
|
95
|
+
| 组件(插件页顺序) | 当前版本 | 负责人 | 范围 | 规矩 |
|
|
96
|
+
|---|---|---|---|---|
|
|
97
|
+
| ① 跨端互通(自更新) | v0.9.2 | `b6aa099b` | `components/ui/**`、`client/**`、`locale/**`、`lib/web.js` | 组件版本号在 `components/ui/manifest.json` |
|
|
98
|
+
| ② 跨会话 | v0.9.2 | `b6aa099b` | `components/session/**`、`lib/bus.js` 的链/邮件 | 同上 |
|
|
99
|
+
| ③ 跨终端 | v0.9.2 | `b6aa099b` | `components/terminal/**`、presence / `term_send` | 同上 |
|
|
100
|
+
| ④ 跨设备 | v0.9.2 | `b6aa099b` | `components/device/**`、`lib/cloud/**` | 同上 |
|
|
101
|
+
| ⑤ 跨账号 | v0.9.2 | `b6aa099b` | `components/account/**`(预留) | 同上 |
|
|
102
|
+
| ⑥ 自动重启 | v0.3.28 | `a3e9f80e`(会话名「自动重启」) | `components/restart/**`(`core.js` / `runtime.js` / `scripts/**`) | 不单独发版、不自己发版;改完汇报 `b6aa099b`,由插件负责人并入 `dsh-crossterm` 发版;只动它就把它的版本号加一 |
|
|
103
|
+
|
|
104
|
+
**组件版本号怎么升**:只在该组件自己的文件改动时升它(在 `components/<part>/manifest.json` 的 `version`),
|
|
105
|
+
跟着插件一起发版;插件总版本仍按发版技能的三分位规则。插件页与 `GET /crossterm/api/about` 的 `components[].version` 读的就是这里。
|
|
63
106
|
## 任期表
|
|
64
107
|
|
|
65
108
|
| 起(本地时间) | 止(本地时间) | 会话 | 终端 / nodeId | 角色 | 交接依据 |
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ A 终端看不到 B 终端里有哪个会话、在干什么,也没法把一条
|
|
|
18
18
|
|
|
19
19
|
| 顺序 | 组件名称 | 版本 | 作用 | 工具 |
|
|
20
20
|
|---|---|---|---|---|
|
|
21
|
-
| ① |
|
|
21
|
+
| ① | 跨端互通(入口/自更新) | v0.9.3 | 自更新开关:打开后定期检查 npm 新版本并自动安装(默认关;装完要重启 DSH 生效)。关掉它只失去卡片与自动更新,下面五个组件照常工作。裸包名行,承载插件标题/简介与配置卡片,不挂工具 | — |
|
|
22
22
|
| ② | 跨会话 | v0.9.2 | 同一终端里的多个会话之间互通:特征码链、内联邮件、收件箱 | `term_link` `term_unlink` `term_broadcast` `term_inbox` `term_config` |
|
|
23
23
|
| ③ | 跨终端 | v0.9.2 | 同一台机器上的多个 DSH 终端/进程之间互发邮件与文件 | `term_whoami` `term_list` `term_send` `term_send_files` |
|
|
24
24
|
| ④ | 跨设备 | v0.9.2 | 经云端中转站,在多台机器的 DSH 之间互发邮件与文件 | `term_cloud` |
|
|
@@ -31,17 +31,18 @@ A 终端看不到 B 终端里有哪个会话、在干什么,也没法把一条
|
|
|
31
31
|
>
|
|
32
32
|
> 组件版本号怎么升:**只在该组件自己的文件改动时升它**,跟着插件一起发版(例:只改自动重启 → `components/restart` 的 `0.3.28` → `0.3.29`,其余五个不动)。插件总版本仍按发版技能的三分位规则。
|
|
33
33
|
|
|
34
|
-
**本版更新(0.9.
|
|
34
|
+
**本版更新(0.9.3)**
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
- 兼容:`cordis.patch.yml` 的 `name` 改为 `dsh-crossterm/components/<part>`,`exports` 同步;升级后重启 DSH 生效。
|
|
36
|
+
- **组件表补全**:`GET /crossterm/api/about` 的 `components` 现在按插件页顺序给六个组件 —— 入口、跨会话、跨终端、跨设备、跨账号、自动重启,每个都带 `version`;卡片「包含的组件」不会再漏掉自动重启。
|
|
37
|
+
- **入口组件的名字**:`components/ui/manifest.json` 的 `name` 从 `ui` 改成「跨端互通(入口)」,并补了简介。
|
|
38
|
+
- **组件版本号各升各的**(新规矩第一次落地):这次只改 ui 组件,所以只有它 0.9.2 → 0.9.3;其余五个仍是 0.9.2,自动重启仍是 0.3.28。
|
|
40
39
|
|
|
41
|
-
**上一版(0.9.
|
|
40
|
+
**上一版(0.9.2)**
|
|
42
41
|
|
|
43
|
-
-
|
|
44
|
-
-
|
|
42
|
+
- **组件分目录存放**:`components/<part>/` 各放各的 `manifest.json` 与代码,`parts/` 删除;原 `lib/restart/` 整体搬进 `components/restart/`。
|
|
43
|
+
- **每个组件有独立版本号**:插件页与更新说明都显示「名称 vX.Y.Z」,方便看清这次改的是哪个组件、由谁维护。
|
|
44
|
+
- **组件维护分出去**:`MAINTAINERS.md` 的 `modules` 段记录每个组件的负责人;自动重启 = `a3e9f80e`,其余由主维护会话 `b6aa099b` 负责。
|
|
45
|
+
- 兼容:`cordis.patch.yml` 的 `name` 改为 `dsh-crossterm/components/<part>`,`exports` 同步;升级后重启 DSH 生效。
|
|
45
46
|
|
|
46
47
|
**更早(0.9.0 / 0.8.14 / 0.8.13 / 0.8.12 / 0.8.11 / 0.8.10 / 0.8.9 / 0.8.8 / 0.8.7 / 0.8.6 / 0.8.5 / 0.8.0)**
|
|
47
48
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"description": "
|
|
4
|
-
"version": "0.9.
|
|
2
|
+
"name": "跨端互通(入口)",
|
|
3
|
+
"description": "插件页的入口行:配置卡片、插件简介、自动更新开关与运行日志都在这里。它自己不挂工具,关掉只失去卡片与自动更新,下面五个业务组件照常工作。",
|
|
4
|
+
"version": "0.9.3"
|
|
5
5
|
}
|
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.
|
|
26
|
+
export const VERSION = '0.9.3'
|
|
27
27
|
|
|
28
28
|
/** DSH 的家目录:与宿主其它状态(sessions / profiles)同一个根,多终端天然共享 */
|
|
29
29
|
export function dshHome() {
|
package/lib/index.js
CHANGED
|
@@ -2087,7 +2087,7 @@ const RESTART_SRC = path.join(ROOT, 'components', 'restart', 'scripts')
|
|
|
2087
2087
|
* 「自动重启」组件(原 dsh-restart 插件,0.9.0 起并入)。
|
|
2088
2088
|
*
|
|
2089
2089
|
* 它不参与总线:只把 dsh_restart 工具挂到每个会话上,并把 helper 脚本复制到
|
|
2090
|
-
* 可写目录后交给
|
|
2090
|
+
* 可写目录后交给 ../components/restart/core.js。脚本必须在 import core.js **之前**落到
|
|
2091
2091
|
* DSH_RESTART_MODULE_DIR,因为 core.js 在模块顶层读这个环境变量。
|
|
2092
2092
|
*/
|
|
2093
2093
|
function mountRestart(root, config) {
|
|
@@ -2110,7 +2110,7 @@ function mountRestart(root, config) {
|
|
|
2110
2110
|
if (info.skipped.length) mark(`脚本缺失:${info.skipped.join(', ')}`)
|
|
2111
2111
|
if (!process.env.DSH_RESTART_MODULE_DIR) process.env.DSH_RESTART_MODULE_DIR = destDir
|
|
2112
2112
|
mark(`运行目录就绪:${destDir}(本次复制 ${info.copied.length} 个脚本)`)
|
|
2113
|
-
void import('
|
|
2113
|
+
void import('../components/restart/core.js')
|
|
2114
2114
|
.then((mod) => {
|
|
2115
2115
|
mod.default.apply(root, { ...config, part: 'restart' })
|
|
2116
2116
|
mark('已挂载 dsh_restart 工具')
|
package/lib/web.js
CHANGED
|
@@ -554,15 +554,17 @@ function statusOf(term) {
|
|
|
554
554
|
}
|
|
555
555
|
|
|
556
556
|
/**
|
|
557
|
-
* 插件自述(0.6.2):插件标题/简介 +
|
|
557
|
+
* 插件自述(0.6.2):插件标题/简介 + 六个组件(入口 + 五个业务组件)的名称/简介/版本 + 最近几版更新日志。
|
|
558
558
|
* 卡片(浏览器半端)与插件页顶部共用 locale/zh.json 的 meta,这里读同一份文件,
|
|
559
559
|
* 保证「插件页怎么显示」和「卡片里怎么显示」永远一致。
|
|
560
560
|
*/
|
|
561
561
|
const PART_ORDER = [
|
|
562
|
+
{ part: 'ui', fallback: '跨端互通(入口)' },
|
|
562
563
|
{ part: 'session', fallback: '跨会话' },
|
|
563
564
|
{ part: 'terminal', fallback: '跨终端' },
|
|
564
565
|
{ part: 'device', fallback: '跨设备' },
|
|
565
566
|
{ part: 'account', fallback: '跨账号' },
|
|
567
|
+
{ part: 'restart', fallback: '自动重启' },
|
|
566
568
|
]
|
|
567
569
|
|
|
568
570
|
let aboutCache = null
|