Merged
Conversation
GET/POST/DELETE /wp-presence/v1/presence and GET /wp-presence/v1/presence/rooms. SQL-level pagination with X-WP-Total/X-WP-TotalPages headers, Cache-Control: no-store, per-user entry limits, and client_id ownership validation to prevent impersonation.
Two heartbeat-driven dashboard widgets with signature-based DOM diffing, avatar stacks, idle/active status, overflow thresholds, and ARIA live regions for accessibility.
CLI: wp presence set/list/summary/cleanup/demo with user validation and demo user cap. Debug viewer at ?presence-db=1 with nonce verification and X-Frame-Options.
23 additional tests covering REST controller, both dashboard widgets, pagination headers, entry limits, and XSS sanitization.
2-minute demo framed around host performance and scalability. Covers empty room, first signs of life, real-time awareness, entropy, and architectural rationale.
Avatar stack in the admin bar now draws from the "here" group only, not all online users. If nobody else is on your page, the stack is empty and only the count shows.
Overflow "+N more rows" now ticks down as entries expire instead of showing a stale server-side count. Body overflow switches from hidden (embedded iframe) to auto (standalone page).
First demo user always gets a post-editing screen so the Active Posts widget is never empty during demos.
Avatar stack limited to 10 to prevent overflow at high user counts. Both "On this page" and "Elsewhere" groups sorted A-Z by display name.
Playwright test that captures PNGs of every presence surface under 7 conditions: empty, 5 users, 20 users, post list, users list, idle state, and expired state. Outputs to artifacts/screenshots/ for docs and GIF generation.
Use Playwright request API for login instead of form interaction to avoid viewport/focus issues. Add dedicated headless config for consistent screenshot artifacts.
Replace custom auth with core's globalSetup + storageState pattern. All tests run headless with request-based authentication. Remove old screenshots.config.js in favor of single config. Fix Active Posts test to use wp eval instead of CLI --user flag which collides with WP-CLI's global --user parameter.
josephfusco
added a commit
that referenced
this pull request
Mar 30, 2026
feat: presence UI surfaces for 7.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
User-facing presence surfaces built on the internal API from
main. REST endpoints, dashboard widgets, admin bar indicator, post/user list integration, and WP-CLI commands.