@mzzsfy/dsh-shell-select 0.4.7 → 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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +9 -5
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.7",
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
- * 接管回滚。快照的陈旧由 apply 里的 loader/volatile-update 监听补偿:
114
- * volatile-only 变更宿主换值后发事件不重挂行,监听器现取 ref 解包成新
115
- * 快照经 ctx.shell.refresh 换源并重建工具。
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
- ctx.logger.warn('shell-select: 官方行退场超时,放弃接管(官方 fiber 仍在服务);重启后由行树声明态收敛')
151
- recordTakeover({ event: 'runtime 退场超时,放弃挂载' })
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 {