All open source work

Presence API

WordPress/presence-api · 32 stars · PHP, JavaScript

One of the maintainers

Real time presence for WordPress. Performance work on polling and SQL aggregation, network wide presence over REST and WP-CLI, plus authorization, accessibility and test coverage.

Pull requests 35

  1. perf: decide redundant presence writes inside the upsert (opens in a new tab)

    Merged #542 · +101 / -61

  2. feat: filter wp_get_presence() by client_id prefix in SQL (opens in a new tab)

    Merged #530 · +89 / -13

  3. ci: fail the Plugin Check job when Plugin Check reports an error (opens in a new tab)

    Merged #465 · +13 / -1

  4. fix: distinguish a non-aggregating network from a quiet one (opens in a new tab)

    Merged #448 · +328 / -11

  5. fix: add data-post-id to server-rendered Active Posts rows (opens in a new tab)

    Merged #435 · +19 / -1

  6. fix: preserve accessible names across heartbeat re-renders in the network Who's Online widget (opens in a new tab)

    Merged #416 · +248 / -5

  7. test: cover the Network Admin Users list Online view and column (opens in a new tab)

    Merged #407 · +167 / -0

  8. test: cover the Network Admin Sites list Online column (opens in a new tab)

    Merged #402 · +269 / -0

  9. fix: gate cross-tab relay on Web Locks availability (opens in a new tab)

    Merged #401 · +201 / -1

  10. test: add a multisite environment for Network Admin e2e coverage (opens in a new tab)

    Merged #397 · +179 / -19

  11. fix: outlast core's unfocused heartbeat interval in the presence TTL (opens in a new tab)

    Merged #379 · +59 / -19

  12. refactor: share the avatar stack's CSS and JS across every surface (opens in a new tab)

    Merged #373 · +244 / -54

  13. feat: expose network presence via REST and WP-CLI (opens in a new tab)

    Merged #365 · +875 / -6

  14. perf: gate network presence aggregation on wp_is_large_network() (opens in a new tab)

    Merged #357 · +146 / -2

  15. fix: carry each site's own scheme in the network summary row (opens in a new tab)

    Merged #355 · +68 / -2

  16. fix: clear a user's presence when their account or site membership ends (opens in a new tab)

    Merged #339 · +97 / -1

  17. perf: back off heartbeat polling interval for idle rooms (opens in a new tab)

    Merged #307 · +278 / -1

  18. perf: coalesce presence polling across tabs of the same user (opens in a new tab)

    Merged #300 · +1302 / -185

  19. perf: skip Who's Online payload when room state is unchanged (opens in a new tab)

    Merged #288 · +258 / -10

  20. perf: aggregate wp_get_presence_summary() in SQL (opens in a new tab)

    Merged #277 · +74 / -19

  21. test: simulate declining the cleanup confirmation prompt (opens in a new tab)

    Merged #276 · +33 / -4

  22. fix: keyboard users can't reach non-link items in the admin bar presence flyout (opens in a new tab)

    Merged #275 · +40 / -3

  23. fix: preserve focus across heartbeat re-renders in dashboard widgets (opens in a new tab)

    Merged #271 · +144 / -3

  24. fix: check table availability in the CLI command and debug viewer (opens in a new tab)

    Merged #261 · +14 / -7

  25. test: cover the WP-CLI presence command (opens in a new tab)

    Merged #256 · +422 / -0

  26. test: cover post list and user list admin integrations (opens in a new tab)

    Merged #251 · +315 / -0

  27. test: cover empty-result and deleted-user branches in functions.php (opens in a new tab)

    Merged #234 · +32 / -0

  28. docs: document the existing Presence API extension points (opens in a new tab)

    Merged #175 · +56 / -11

  29. feat: add display_name and avatar_url to presence response (opens in a new tab)

    Merged #159 · +90 / -5

  30. fix: add missing alt text to Who's Online widget avatar (opens in a new tab)

    Merged #147 · +28 / -1

  31. refactor: replace hardcoded admin/online room string with helper (opens in a new tab)

    Merged #176 · +20 / -17

  32. feat: move inline heartbeat JS to a standalone enqueued script (opens in a new tab)

    Merged #169 · +144 / -112

  33. build: declare PHPUnit and Polyfills as composer dependencies (opens in a new tab)

    Merged #150 · +14 / -11

  34. fix: enforce per-room authorization checks for presence rooms (opens in a new tab)

    Merged #158 · +123 / -18

  35. REST API: Remove value sanitization from arbitrary data parameter (opens in a new tab)

    Merged #145 · +23 / -11