Skip to content

feat: require the Presence API plugin - #120

Merged
chriszarate merged 9 commits into
WordPress:trunkfrom
josephfusco:feat/require-presence-api
Sep 29, 2026
Merged

chriszarate merged 9 commits into
WordPress:trunkfrom
josephfusco:feat/require-presence-api

Conversation

@josephfusco

@josephfusco josephfusco commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Requiring Presence API moves the minimum to WordPress 7.0, the version Presence API supports, and turning presence recording off still falls back to the built-in store, so the editor keeps showing collaborators.

Use of AI Tools

AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5.5
Used for: Assisting with the dependency setup.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Resolve the test-environment isolation issue and the no-Redis presence update delay.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity · 1 Medium severity

Open (2)
What changed in this PR

This PR requires the Presence API plugin and WordPress 7.0, updating environments and stream notifications for collaborator presence.

Changes:

  • Adds the Presence API dependency and version requirement.
  • Updates test, development, and Playground environments.
  • Publishes notifications after presence changes.
File Summary
tests/​phpunit/​wpSyncAwareness.php Adds presence notification test coverage.
includes/​class-wp-sync-presence-api-awareness-backend.php Publishes awareness changes; no-Redis streams may delay updates.
gutenberg-sync-engines.php Declares the dependency and minimum WordPress version.
CHANGELOG.md Documents the dependency change.
blueprint.local.json Installs Presence API locally.
blueprint.json Installs Presence API in Playground.
AGENTS.md Updates awareness documentation.
.wp-env.tests.json Installs Presence API in tests, interfering with the test fixture controls.
.wp-env.json Installs Presence API in development.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .wp-env.tests.json
Comment thread includes/class-wp-sync-presence-api-awareness-backend.php
@josephfusco
josephfusco force-pushed the feat/require-presence-api branch from b6b16ea to b74b135 Compare September 26, 2026 05:09
@chriszarate
chriszarate merged commit 92a2e28 into WordPress:trunk Sep 29, 2026
17 of 18 checks passed
chriszarate added a commit that referenced this pull request Oct 7, 2026
…151)

#120 made the Presence API a requirement, so who is in a room lives in
its wp_presence table by default. Several docs still described the room
array and the object cache as the only store:

- README: add a Requirements section; move presence out of the room
  meta table description and say the room array is now the fallback.
- AGENTS.md: SSE wait checks also read awareness under the Presence
  API (no version bump); the object-cache rule and idle-poll query
  counts apply to the fallback; wp-env and both blueprints install the
  Presence API.
- docs/transports.md: presence in wp_presence bumps no counter; the
  stream reads presence on each check instead.
- docs/awareness-high-latency.md: the same-instant overwrite limit
  applies only without the Presence API (one record per tab since #114).
- check-presence-api.php: drop the install step wp-env already does.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants