Repository navigation
延迟归档到点撞上还在跑的活,不再可能把它掐断:顺延,最多 60 秒 × 10 次,之后放弃归档、会话原样留在侧边栏。
修复
- 到点归档不再传
stopActivity。 先问宿主这个会话还有没有活(workspace/session-activity瀑布),有活就顺延 60 秒重查,最多 10 次;顺延用尽就放弃归档,日志记一行「旧会话一直有活,放弃到点归档」。以前这条路径会直接掐掉正在进行的那一轮。 - 归档调用改成
archiveSession(fromId)不带第二参:宿主在这几毫秒里又判活跃会抛WorkspaceActiveSessionError,插件接住继续顺延,整条路径没有强杀。换新即归档那条(archiveOnRotate)仍是stopActivity: true—— 那时这一轮已经结束了。 - 待办条目新增
retries并随state.json持久化;只有归档成功或放弃才删条目,顺延途中不丢。被挡过的那一轮结束后 3 秒补做一次,其余照旧顺延整段保留期。 - 定时器与
turn/end补做可能同时到,加deferredBusy占位,同一条待办不会归档两次。
测试
新增 test/deferred.test.mjs:3 条 deferredStep 纯函数用例(归档 / 顺延 / 顺延用尽)+ 4 条集成用例(临时 DSH_HOME + 假 ctx 跑真 apply())。npm test 53 pass / 0 fail(原 46 + 新 7)。
文档
- README /
README.en.md/docs/index.md的延迟归档说明与「已知限制」改成顺延语义。 docs/usage-data.md:实测参考表三行显式标成「可复算」,写明口径与复算命令tools/usage-summary.ps1 -Path <zip>。PROMO.md里的本机路径换成占位符。.gitignore修好被注释吞掉的一行,.tmp-release/现在真的被忽略。
安装
dsh plugin add github:cry-flu/dsh-session-rotate#v1.4.2
附件
dsh-session-rotate-1.4.2.tgz(47307 B)
sha256 6b5a2e04935adb8bf84f741abdd396cbfefdc9a6f83656d71af2c6f600cfe39c