@mzzsfy/dsh-shell-select 0.4.6 → 0.4.8
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/README.md +1 -1
- package/package.json +1 -1
- package/src/index.js +9 -5
package/README.md
CHANGED
|
@@ -95,4 +95,4 @@ env 优先级(同键高右):内置覆盖集(NO_COLOR/PAGER/GIT_PAGER)< 条目 `e
|
|
|
95
95
|
|
|
96
96
|
## dsh 版本兼容
|
|
97
97
|
|
|
98
|
-
按仓库动态窗口验证(scripts/compat/window.mjs),不预置任何固定版本槽:主测 = 渠道 dist-tag 最新 rc,完全适配口径;基线 = npm latest,不崩溃底线口径;主测与基线同版时收敛单槽。本包声明 `dsh.hostMin = "0.1.7-rc.1"`:低于该代际的宿主 API 面未验证,compat 装载层自动排除。逐轮实测结论见 `docs/兼容性测试/逐包测试进度.md`
|
|
98
|
+
按仓库动态窗口验证(scripts/compat/window.mjs),不预置任何固定版本槽:主测 = 渠道 dist-tag 最新 rc,完全适配口径;基线 = npm latest,不崩溃底线口径;主测与基线同版时收敛单槽。本包声明 `dsh.hostMin = "0.1.7-rc.1"`:低于该代际的宿主 API 面未验证,compat 装载层自动排除。逐轮实测结论见 `docs/兼容性测试/逐包测试进度.md`(本地维护,不入库)与本包 `兼容性测试.md`。
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mzzsfy/dsh-shell-select",
|
|
3
3
|
"description": "Windows shell 接管:替换默认 pwsh 工具为可配置多客户端的 shell 工具(git bash/WSL/cmd/pwsh,自定义路径,默认客户端,模型按名选择);支持命令 deny 黑名单、会话终端卡增强和直接 pwsh 接管徽章,接管失败自动回退官方 pwsh 链",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.8",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"exports": {
|
package/src/index.js
CHANGED
|
@@ -110,9 +110,9 @@ function unwrapConfigSnapshot(config) {
|
|
|
110
110
|
* [object Object]" 拒挂(真机实证);解包产物必须 structuredClone:ref
|
|
111
111
|
* .get() 返回 cosmokit snapshot 深冻结对象,cordis 挂载管线对 section 原地
|
|
112
112
|
* resolve,冻结 env 直接炸 "Cannot assign to read only property" 并触发
|
|
113
|
-
*
|
|
114
|
-
* volatile-
|
|
115
|
-
*
|
|
113
|
+
* 接管回滚。快照的陈旧由设置页写路径收口补偿(F18:注释曾宣称的
|
|
114
|
+
* loader/volatile-update 监听为幻影机制,apply 零宿主事件监听是锁定契约;
|
|
115
|
+
* 设置页写成功后直接经 ctx.shell.refresh 换源,见 client/写路径)。
|
|
116
116
|
*/
|
|
117
117
|
async function mountExecutor(ctx, config) {
|
|
118
118
|
// 用户声明值挂载前 coercing:任意配置(坏类型/空 shells/悬空 default/坏
|
|
@@ -147,8 +147,12 @@ async function runtimeTakeover(ctx, config, targets) {
|
|
|
147
147
|
}
|
|
148
148
|
const exited = await awaitOfficialExit(targets)
|
|
149
149
|
if (!exited) {
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
// 退场超时回滚已禁行(F18):本包不挂载,官方链必须复活自服务,
|
|
151
|
+
// 不留"官方已禁+本包未挂"的 shell 真空窗口
|
|
152
|
+
ctx.logger.warn('shell-select: 官方行退场超时,回滚启用并放弃接管')
|
|
153
|
+
recordTakeover({ event: 'runtime 退场超时,回滚已禁行,放弃挂载' })
|
|
154
|
+
await rollbackDisabledRows(disabled)
|
|
155
|
+
recordTakeover({ event: `rolledBack=${disabled.length}, 退场超时` })
|
|
152
156
|
return
|
|
153
157
|
}
|
|
154
158
|
try {
|