Skip to content

v1.6.2

Choose a tag to compare

@monster1389 monster1389 released this 18 Oct 15:09
· 16 commits to master since this release

[1.6.2] - 2026-10-18

修复

  • mermaid 并发渲染大面积 503。plan_chain 为每个块级元素起一个任务,一条回复里 17 张图会同时打向 mermaid.ink,实测 15 张收到 HTTP 503,重试又落在同一拥塞窗口里。改为进程内单通道串行:一次只发一个请求,跨会话共享;锁按事件循环惰性重建,插件重载或测试换 loop 不会绑死旧循环。
  • 单张超时 5s → 10s。实测轻图 p50 1.2s,60 节点流程图冷启 6.26s、40 节点 mindmap 稳定 3–4.2s(服务端无缓存),5s 会误杀重图。
  • 4xx 不再重试。语法错、源码 base64 超约 8KB(414)重试无意义;只有 5xx 重试一次(间隔 1s)——实测约 15% 的偶发 503 重发即 200。
  • 渲染失败不再把源码当文本刷屏。失败那张改发 .md 文件,交给客户端渲染;渲染且保留原文 模式仍回退原文,不夺走用户要看的文本。

变更

  • ElementSpec 增 self_budgeted:自带超时预算的渲染器(mermaid 走外部 HTTP)不再套 15s 通用保险丝,本机渲染器(pillow / typst)继续受它管。15s 原本就是按旧 mermaid 预算 5s×2+0.5s 倒推的余量,单张改 10s 后它会先砍断重试,变成含糊的「超时」。
  • 失败产物规则从「看当前模式是否含文件」改成「有没有原文可看」:渲染图像 模式下代码块、表格、mermaid 失败也出 .md;表达式不支持文件,仍回退原文。