dsh-recall-plugin 2.3.5 → 2.3.6
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 +6 -0
- package/lib/index.js +10 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
本文件格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循语义化版本。
|
|
4
4
|
|
|
5
|
+
## [2.3.6] - 2026-09-06
|
|
6
|
+
|
|
7
|
+
### 修复
|
|
8
|
+
|
|
9
|
+
- **修复宿主启动预热的 subprocess 竞态(消除启动噪音)**:预热是唯一在 apply 期就执行 shell 命令的路径,cordis 按 fiber 逐个注入,recall 可能先于 pwsh-sandbox 的 subprocess 注入链完成,`rebuildOrphans` 的 git 命令随即命中「cannot get required service "subprocess" in inactive context」,每次重启刷一条 `recall rebuildOrphans failed`。修复:预热前置短轮询探活(纯编码 prelude 常量、无副作用,10s 窗口),执行器就绪后再跑预热链;超时未就绪则放弃预热——与原先吞错语义一致,只是不再报错刷屏。
|
|
10
|
+
|
|
5
11
|
## [2.3.5] - 2026-09-06
|
|
6
12
|
|
|
7
13
|
### 修复
|
package/lib/index.js
CHANGED
|
@@ -312,6 +312,16 @@ function apply(ctx, config) {
|
|
|
312
312
|
}).catch((error) => rt.recordError("recall snapshot error: " + String(error)));
|
|
313
313
|
});
|
|
314
314
|
(async () => {
|
|
315
|
+
let shellReady = false;
|
|
316
|
+
for (let i = 0; i < 20 && !shellReady; i++) {
|
|
317
|
+
try {
|
|
318
|
+
await rt.runShell(rt.scripts.UTF8_PRELUDE, { timeoutMs: 1e4, stdoutMaxBytes: 4096 });
|
|
319
|
+
shellReady = true;
|
|
320
|
+
} catch {
|
|
321
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
if (!shellReady) return;
|
|
315
325
|
const warmupRoots = /* @__PURE__ */ new Map();
|
|
316
326
|
for (const session of ctx.sessions.list()) {
|
|
317
327
|
const cwd = session && session.header && session.header.cwd;
|