feat: add compaction timeout mechanism and health check#490
Conversation
- Add safety timeout (5 minutes) to prevent compaction from hanging indefinitely - Implement health check module to track compaction operations - Monitor for stuck compactions (>10 minutes) and consecutive failures - Emit diagnostic events for external monitoring and debugging - Improve error handling in compaction lifecycle events Changes: - compact.ts: Apply safety timeout wrapper, add health tracking - compaction-health-check.ts: New health monitoring module - subscribe.handlers.lifecycle.ts: Better error handling in compaction end
|
根因已经找到了:这是服务器上 openclaw-cn 0.1.8-fix.3 的一个运行时兼容问题。 具体是: 社区飞书插件调用的是旧签名:readAllowFromStore("feishu") |
|
感谢提交!这个 PR 的出发点(防止 compaction 卡死)是有价值的,但目前有几个问题需要先解决,暂时无法合并: 1. 缺少关键文件
2. package-lock.json 包含大量无关变更lockfile 中混入了与本 PR 无关的改动:
请只提交与 compaction timeout 功能相关的变更,不要混入本地的 lockfile 状态差异。 3. clearTimeout 用于清理 setInterval 创建的定时器
4. 过度工程化
5. 缺少测试新增了两个模块但没有对应的测试文件。 6. 根因可能不在这里PR 评论中 @Elegying 已指出实际问题是飞书插件 API 签名兼容性问题( 建议:
期待你的更新! |
Changes: