Skip to content

feat: label agent presence rows across the admin UI - #653

Merged
josephfusco merged 5 commits into
mainfrom
feat/549-label-agent-presence
Sep 28, 2026
Merged

josephfusco merged 5 commits into
mainfrom
feat/549-label-agent-presence

Conversation

@i-am-chitti

@i-am-chitti i-am-chitti commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #549

An agent editing over REST/MCP runs no Heartbeat, so nothing showed it was there. It already writes its own presence row with a capped $expires_in in the post room it's editing - wp_presence_is_agent_user() (deferred to wpai_is_agent_user() when the Agent Users plugin is loaded) labels that row, and wp_presence_admin_room_entries() backfills it into admin/online reads so the admin bar picks it up without a second write.

Labelled: the admin bar dropdown (incl. crowd tooltips), the Active Posts widget, and the post list's Editors column. Left out of the wp_presence_collaboration_started count on purpose - that only watches editor- prefixed rows.

screenshot-1790618370901-0
Use of AI Tools

AI assistance: Yes
Tool(s): Claude Code
Model(s): claude-sonnet-5
Used for: Implementation, tests, docs. Reviewed by me.

@i-am-chitti i-am-chitti self-assigned this Sep 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props iamchitti, joefusco.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@github-actions github-actions Bot added the Public API Adds a hook, route, constant, or global that third parties can depend on label Sep 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚩 New public surface

  • (filter) wp_presence_is_agent_user

@github-actions

Copy link
Copy Markdown
Contributor

🛝 WordPress Playgrounds

Built from d7395c9

25 users 100 users
Single site Launch single site, 25 users Launch single site, 100 users
Multisite Launch multisite, 25 users Launch multisite, 100 users

@codecov

codecov Bot commented Sep 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.00000% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 94.99%. Comparing base (a8b869e) to head (d7395c9).

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #653      +/-   ##
============================================
- Coverage     95.24%   94.99%   -0.25%     
- Complexity      195      199       +4     
============================================
  Files            24       24              
  Lines          3257     3298      +41     
============================================
+ Hits           3102     3133      +31     
- Misses          155      165      +10     
Flag Coverage Δ
multisite 94.99% <92.00%> (-0.25%) ⬇️
phpunit 70.10% <92.00%> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@josephfusco
josephfusco merged commit ff02bf0 into main Sep 28, 2026
22 checks passed
@josephfusco
josephfusco deleted the feat/549-label-agent-presence branch September 28, 2026 17:48
@josephfusco josephfusco added this to the 0.12.0 milestone Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Public API Adds a hook, route, constant, or global that third parties can depend on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

An agent can edit a post you have open, and neither of you knows

2 participants