github baileyh8/hermes-feishu-streaming-card v5.0.10
v5.0.10 — 异步完成交接与配置归属恢复

3 hours ago

v5.0.10 — 异步完成交接与配置归属恢复

本补丁处理 #469、#470,并为 #451 的重复投递反馈补充诊断。修复已通过 PR #472 合入;发行提交 fd42a19910b35ff274ed41b2b66fb0455efe81b0。

修复范围

  • 异步通知交接:核验固定 Hermes 源码中的原生 automation admission,在完整 claim、持久化 row 和路由一致时借用原执行归属。标准 v0.22.5 会将复合消息 ID 编码成 JSON 字符串;不接受任意 list/tuple 拼接,也不从展示字段推断执行身份。
  • 终局确认竞态:提交前仍检查当前 owner、generation、epoch 和 superseded 状态。sidecar 明确接受终局后,仅确认并消费本次提交,避免等待期间任务代次变化后又发送同一份原生正文。applied=true 代表 sidecar 接管展示投递,不代表 Feishu PATCH 已完成;后续发送和重试仍由 sidecar 负责。
  • Legacy observer 配置归属与恢复:检查和撤销可证明属于 HFC 的配置改动,保留用户无关编辑。受管内容冲突、不可核验证据和并发文件变化继续拒绝。运行环境身份变化仍通过明确的恢复流程处理,不自动删除 marker 或历史证据。Fixed-tag Hybrid v3 保持既有配置恢复协议。
  • 失败诊断:区分 admission 交接的固定拒绝类别,避免不同原因都显示为身份不明;不记录原始用户、会话或配置内容。

验收与限制

  • 候选完整 CI:57/57 任务通过;候选 CodeQL 通过。
  • 精确主线提交 CI:57/57 通过;主线 CodeQL 通过。
  • annotated tag 发行门禁:59/59 通过,包含支持的 Python/平台、原生 Windows 3.12/3.14、固定及最新上游兼容、官方镜像与安装包构建检查。
  • Terra max 实现与独立 QA、Sol xhigh 独立审查完成。配置独立验收 30+20 项,CI 测试修正独立复核 44 项通过;最初 CI 的两个测试替身问题及失败记录保留,修正后重跑完整矩阵。
  • 普通 wheel 的 146 项包资源与发行提交一致;固定 v0.22.5 的 admission/SQLite/Base 链与跨 Task 完成通过。受控真实 Feishu API 创建、更新、终态读回通过,没有重复原生正文,测试消息已撤回并读回删除。
  • 从公开 v5.0.10 tag 隔离进行非 editable 安装通过,146 项资源、插件入口、命令行和 exact commit 来源一致;验收环境已清理。
  • 三个平台发行资产清单、源码内容、mode 和 SHA256 校验通过;macOS 实际解压 4 个组合通过,Linux root/非 root 实际解压 8 个组合通过。0700/1777 目标的属主、权限、inode 和哨兵保持,旧平铺归档负向控制被检出。

公开后匿名下载四项资产,GitHub digest、SHA256 与已验收草稿一致;公开包再次通过 macOS 实际解压 4 个组合。

#451 的最新现场包含自定义 profile 路由和其他热修,本补丁不宣称已经独立复现或解决该部署的全部现象。报告者真实环境、真实 Gateway/model 对话,以及桌面/Android 视觉和点击仍需分别验证;iOS 和新用户试用不在本轮范围。

升级时沿用实际 Hermes checkout、HOME 和配置,通过正式安装器刷新受管 hook,再由原服务管理器重启对应 sidecar/Gateway。保留安装清单、marker、preimage 和 journal。安装包采用版本化顶层目录,解压后进入 hermes-feishu-card-v5.0.10-<platform>/ 再运行安装器。

新 legacy marker/journal 的 config_delta 不能直接交给 v5.0.9 处理。降级前先使用 v5.0.10 受控 restore/uninstall,核对用户其他配置保留后,再安装旧版;不要直接降级包后删除保护记录。

恢复前先停止 Gateway、自动更新器等配置写入者,并避免同时编辑配置。恢复会在写入前复核文件、目录及归属证据,检测到变化时拒绝;POSIX 的复核与文件替换不是一个原子条件操作,不能保证不遵守这一前提的外部写入者在最后瞬间与恢复并发修改仍安全。无漂移时逐字恢复原配置;有无关漂移时保留当前非 HFC 配置及列表顺序,仅逆转受管改动。

贡献

感谢 leavrcn 的 #469/#470 报告和排查建议,以及 kludgezol 在 #451 补充的多 profile 现场证据。问题证据与代码作者分别记录;既有提交作者、tag、发行资产和历史署名全部保留。

English release notes · Full changelog

Don't miss a new hermes-feishu-streaming-card release

NewReleases is sending notifications on new releases.