跳到正文
原文
Make WordPress Core(核心开发)· Joe Fusco·· 3 天前精选编辑评分64

Presence API 推进至 0.20.0,实时协作功能进入 WordPress 核心评估阶段

Presence API meeting summary: October 26, 2026

编辑导读

Presence API 已发布至 0.20.0,新增多房间登录状态处理、个人数据导出排除和实时协作相关钩子。该项目除安全审计外,其余功能插件合并标准均已完成,用户测试仍在推进,进入 Trac 初始提案阶段的最早日期为 December 3。

推荐理由

文章记录 Presence API 的版本进展、核心合并标准与安全审计要求,并说明实时协作功能进入 WordPress 核心提案流程的门槛。

Presence API 会议于 2026 年 10 月 26 日星期一 15:00 UTC 在 #feature-presence-api 举行。该频道也承载实时协作 (RTC) 工作。本周的重点是最后两项合并标准:用户测试和安全审计。

Slack 中的会议开始

公告

  • Presence API 0.18.3 已发布。0.18.0 到 0.18.3 引入了一个按房间划分的会话哈希,用来区分第二个浏览器和第二个标签页(#815);还规定 core 中一旦存在某个 API 函数的副本,就以该副本为准(#805);此外,REST 设置保存警告会提示 Settings 界面已打开(#868)。
  • 接下来是 0.18.4(#873)。@huzaifaalmesbah 发现,在一个浏览器中退出登录会释放另一个浏览器中仍持有的文章锁(#890),修复目前正在审查中(#893)。

后续事项

  • GSE 关于同步引擎的指南于 10 月 14 日发布在 Make/Core 上:《实时协作:同步引擎指南》。Kevin Jahns 评论了让每条消息都经过 PHP 的做法,@chriszarate 则评论了外部工具加入实时会话的问题。

合并标准

手册中功能插件标准的每一项都在 #550 中跟踪。

  • 除审计外,上次的所有事项都已合并:触控(#830)、仅键盘操作(#841)、关闭 JavaScript(#857)、HTML 验证(#852、#858)、Firefox 和 WebKit(#838)、样式表中的内联 CSS(#825),以及经过 lint 检查的 PHPUnit 测试(#817)。感谢 @iamchitti 和 @rejaulalomkhan。
  • 用户测试是 #835。Muhib 在 #869 中起草了一份针对 Make/Test 的测试征集,包含 Playground 链接和四项任务。@huzaifaalmesbah、@iamchitti 和 @joefusco 留下了反馈,@huzaifaalmesbah 表示一旦相关反馈得到处理,愿意协助将其发布到 Make/Test。
  • 安全审计是 #834。noruzzaman 在该 issue 中逐一检查了全部四个方面。该标准仍要求来自仓库外部的审查,因此 @joefusco 将向 Core 安全团队询问。欢迎任何做过 core 或大型插件安全审查的人,在频道中或 #834 上参与查看。
  • #836 在插件的文章锁关闭和开启两种情况下测量文章查询缓存。该 issue 中提供了一个包含 20,000 篇文章的合成站点,并且正在安排 WP Engine 上的几个大型站点来测量真实流量。

进入 core 的路径

#550 上的就绪门槛仍以 12 月 3 日为最早日期,即从 0.17.0 起连续八周没有破坏性 API 更改;也只有到那时,初始提案才会最早提交至 Trac。它还要求有三个基于该 API 的外部项目,目前只有 GSE。任何正在基于该 API 开发,或考虑将其用于插件或主机的人,都欢迎联系。

自由讨论

  • @jaredrethman 在指南中询问,WordPress 是否可以为每个存储的编辑日志行触发一个 action,从而让托管的中继服务流式传输更改,而无需在服务器上运行进程(comment)。Presence API 已经为 presence 这样做,每次写入时都会触发 set_presence 和 removed_presence。
  • @alecgeatches 表示,该引擎可能支持这一点,但要注意,每行发起一次服务器端请求会让服务器忙于跟进处理,因此这项成本应由接入方承担,并在其端排队或批量处理。
  • @jaredrethman 指出,gutenberg_sync_engines_room_changed 已经会在每次写入时触发,而 Redis notifier 每次请求只发送一个 publish,因此中继只需要这个唤醒提示,不需要行数据。编辑器 presence 已经利用这个提示;如果同时携带 set_presence 和 removed_presence,就能让 Heartbeat 轮询退出 admin。他为中继需要什么开了 #901。

自本次会议以来

  • Presence API 0.18.4 于 10 月 26 日发布,包含退出登录修复(#893),个人数据导出现在会排除保留行(#896)。
  • 0.19.0 于 10 月 29 日发布,包含 presence-api.keepalive 过滤器(#904)和 presence-api.roomChanged 操作(#903),因此推送传输可以保存某个标签页的行并同时刷新在线状态。
  • 0.20.0 于 11 月 1 日发布,包含 wp_presence_admin_state()(#924),完成 #901;此外,当已编辑帖子的标题或状态发生变化时,wp_presence_room_changed 现在会触发(#915)。
  • 文档现已上线。这是针对目前已完成内容的自动化文档初稿,由代码生成并进行校验。

下次会议

2026 年 11 月 9 日星期一 15:00 UTC,在 #feature-presence-api 举行。

#collaboration、#presence-api、#summary

来源:Make WordPress Core(核心开发) · https://make.wordpress.org/core/2026/11/01/presence-api-meeting-summary-october-26-2026/

部分链接为推广/关联链接。