Skip to content

v3.18.8

Choose a tag to compare

@github-actions github-actions released this 30 Aug 16:13
· 80 commits to master since this release
973b6c9

修权限自愈被待发布版本永久卡死;审核中改为提示人工

权限自愈被待发布版本卡死(本次核心)

线上 3 台 bot 的权限自愈每次重启都失败、反复给 owner 发「缺 N 项必需权限」的 DM,
而真因被日志吞掉了。两个互相独立的死锁:

  • 未提交草稿code=10043 版本已创建):飞书不允许并存两个未提交版本,存在草稿时
    建新版本一律被拒。修法是提交那个草稿——它的 scope 集合与应用当前已声明集合逐项
    相等,正是要发的内容;提交它不新建版本、不烧版本号。
  • 应用审核中code=10046 审核中):审核期间开放平台把整个应用配置写锁,连
    「申请权限」本身都被拒 ⟹ 原先给管理员推的权限深链点了必然无效。现在改为如实
    告知:为什么卡(附实测线索:哪几项必填数据范围尚未收敛 + 企业审批规则原文链接)、
    怎么修(看审批详情 → 修不合规项 → Withdraw 撤回 → restart 自动重提),并显式否掉
    「直接撤回重提」与「手动开通」两条无效建议。同一个待审版本只提醒一次(状态落盘,
    且仅在 DM 确认发送成功后记账)。

其它

  • publish/commit 返回成功但版本仍停在草稿态时,不再谎报「已发布」——改为回读版本
    状态后据实结论(这正是上述草稿的来源)。
  • 修一处日志把真因吞掉的缺陷:通用错误描述覆盖了具体错误消息,导致一天 5 次失败只
    留下「开放平台 API 错误」,那句唯一有用的诊断一次都没打出来。
  • 新增审批流程预判:提交后会自动通过的照常办完并说明已生效;需要真人审批的如实告知
    在等谁,避免重复提交或干等。
  • 开放平台写请求对「TLS 握手前断连」重试,改头像不再被一次网络抖动打挂。
  • 恢复被孤儿 WAL 打坏的 SQLite 会话库并改为 fail-closed。
  • fifo teardown 唤醒阻塞 read,修 worker 卡死在 process.exit。
  • worker 慢启动不再误报消息未接收。
  • pi 用自己的轮边界判定失败,中途重试不再误报网关故障。

Dashboard

  • 下拉弹层限高可滚动、空间不足时向上弹,长列表不再被裁掉。
  • Bot 配置名册改为满高分栏,搜索框不再被挤出视口。
  • Bot 配置页与首页启动链去掉两处无谓开销。

新功能

  • 入群开工消息文案支持 bot 级自定义。

测试

  • 单测切到 bun test 并加 HOME 围栏,堵住测试写脏真实用户目录。
  • 补齐入站幂等的五条不变量回归网。

✨ 新功能

  • auto-start: 入群开工消息文案支持 bot 级自定义 (#1080)

🐛 修复

  • dashboard: Bot 配置名册改为满高分栏,避免搜索框被挤出视口 (#1095)
  • backend: fifo teardown 唤醒阻塞 read,修 worker 卡死在 process.exit (#1091)
  • setup: 开放平台写请求对「TLS 握手前断连」重试,改头像不再被一次网络抖动打挂 (#1097)
  • session-store: 恢复被孤儿 WAL 打坏的 SQLite 会话库并改为 fail-closed (#1093)
  • dashboard: 下拉弹层限高可滚动 + 空间不足时向上弹,长列表不再被裁掉 (#1103)
  • worker: 避免慢启动误报消息未接收 (#1050)
  • pi: 用 pi 自己的轮边界判定失败,中途重试不再误报网关故障 (#1107)
  • setup: 修权限自愈被待发布版本永久卡死,并预判审批是否秒过 (#1104)

⚡️ 性能

  • dashboard: Bot 配置页首屏去掉两处无谓开销,1958ms → 77ms (#1102)

🔧 其它

  • webhook: 补齐入站幂等的五条不变量回归网 (#1092)
  • bun: 单测切到 bun test 并加 home 围栏,堵住测试写脏真实用户目录 (#1105)

🙏 感谢贡献者

@hyperdai @swtxbling

Full Changelog: v3.18.7...v3.18.8