-
-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Request for Cross-Platform Review: WordPress ActivityPub Outbox Handling and Cross-Platform Consistency in Co-Author Representation and Actor Reassignment
Please refer to the original discussion for detailed context:
🔗 Automattic/wordpress-activitypub#2353 – Post Author and Object Actor Synchronization Issue
Cross-platform discussion links:
• https://github.com/mastodon/mastodon/discussions
• https://github.com/TryGhost/ActivityPub/issues (no discussions tab)
• https://github.com/LemmyNet/lemmy/issues
“This post requests cross-platform evaluation on how co-authoring and actor reassignment are handled across federated CMS implementations (WordPress, Ghost, Mastodon, etc.), to improve interoperability and spec consistency.”
Hi everyone,
I’m currently analyzing how WordPress implements ActivityPub, particularly how post authors are represented as object actors within the outbox collection.
It appears that when a post author is changed, or when multiple authors (co-authors) are assigned, the associated object’s actor and attributedTo fields are not properly synchronized across federated instances.
As a result, remote platforms such as Mastodon or Ghost may continue to attribute the object to the original actor even after updates occur on the WordPress side.
This leads to inconsistencies between the origin server and remote instances, especially when testing with Jetpack Social Notes or custom post types using ActivityPub.
I’m currently investigating the following:
- Whether the ActivityStreams specification allows reassignment of an object’s actor after publication.
- Whether
MoveorAddactivities (as defined in the spec) could serve as appropriate mechanisms to handle actor changes. - How other federated platforms such as Mastodon or Ghost implement co-authoring and actor reassignment within their ActivityPub architecture.
I’d really appreciate cross-platform feedback or references to any related discussions or prior approaches.
If a similar issue has already been addressed in your implementation, I’d love to review how it was handled.
Thanks in advance for your insights and technical perspectives!