Skip to content

2.0.12

Choose a tag to compare

@imaegoo imaegoo released this 29 Sep 06:57
d7a040b

修复

  • Netlify / Vercel:POST_SUBMIT 不再阻塞评论提交(#1206)

    评论入库后服务端会通过 HTTP 自调用触发 POST_SUBMIT(后置垃圾检测 + 邮件 / 即时消息通知),此前适配器会等待这次自调用完成(最长约 5 秒)。实测开启 SMTP 时服务端平均 3831ms、关闭时 176ms,浏览器端提交评论要等 5~6 秒。

    现在 Netlify 走 Modern Functions 的 context.waitUntil()、Vercel 走 @vercel/functions 的 waitUntil(),把自调用交给平台托管后立即返回,评论提交先返回客户端、后置任务在后台继续跑;不支持 waitUntil 的旧运行时回退为原来的 5 秒有界等待。

    同时修正 Netlify Deploy Preview / Branch Deploy 的自调用地址解析顺序(TWIKOO_SELF_URL → 当前请求 origin → URL)——此前预览环境的 POST_SUBMIT 会被错误地发到生产站点。

    ⚠️ Netlify 用户注意:要拿到「评论秒回」的收益需要做一次入口迁移 —— 把 netlify/functions/twikoo.js 换成 netlify/functions/twikoo.mjs(内容为 export { default } from "twikoo-netlify"),并把 Node.js 提到 >= 22.12.0(建议 24)。只升级 npm 包仍可运行,但会继续走同步兼容路径,最多仍等待约 5 秒。完整步骤见更新文档:https://twikoo.js.org/update.html

  • 含非 ASCII 字符的 owo 表情名无法渲染(#1208,修复 #1207)

    2.0 重写 marked 集成时把表情名正则收紧为 [a-zA-Z0-9_+-]+,而默认表情 CDN 的 Bilibili 包 21 个表情里有 20 个是中文名(tv_呆、tv_亲亲、tv_大佬 …),于是评论正文里直接显示了 :tv_呆: 文本而不是表情图片。现已恢复 1.x 的语义(只排除空白与 :),未注册的表情名仍然原样输出、不吞字符。

  • Cloudflare:1.x 老库缺 ipRegion 列导致发评论整条失败(#1205)

    自动迁移语句漏了 1.x 时代就已存在的 ipRegion,老 D1 库提交评论会直接报 no column named ipRegion。已补上迁移,并新增「真实 1.x 旧表结构(20 列)」的回归用例 —— 此前 fixture 被误写成新装形态,这条路径从未被覆盖。

文档

  • Hugging Face 部署现在需要付费方案(#1204):HF 自 2026-07 起不再允许免费账号创建 Docker Space(PRO $9/月);2026-07 之前创建的既有 Space 不受影响,更新章节保留。
  • 移除已停服的 Zeabur 章节,补全 Railway 免费额度(#1203):Zeabur 共享集群已于 2026 年停服,文档删除该平台;Railway 免费方案每月仅 $1 额度(另有一次 $5 试用额度,30 天有效),常驻服务约需 $5/月,实质需要 Hobby 方案。
  • Cloudflare 适配器文档(随 #1205):补充真机部署验证结论 —— 边缘运行时无法建立真实 SMTP 会话(端口 25 被平台禁止,465 / 587 均在传输层失败),邮件请改用 HTTP 通道;另提示 *.workers.dev 在中国大陆被 DNS 污染,需要代理或自定义域名。

Full Changelog: 2.0.11...2.0.12