Object observer is an ActivityPub actor that can be followed to receive object updates.
This proposal is intended to complement FEP-bad1: Object history collection.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC-2119.
Object observer is a followable actor. It doesn’t perform any activities on its own, but activities that affect the observed object are forwarded to its followers. Only objects and collections can be observed.
Object observer MUST have an observerOf
property specifying the observed object, and it SHOULD have an Application
type.
Objects can specify their observers using the observer
property.
Object observer can be created with ActivityPub client by publishing a Create
activity with user’s actor as its actor
and with observer actor as its object
.
Implementers MAY use a single cryptographic key for signing all HTTP requests made by observers on a server.
When conversation is represented by a collection, a collection observer can be created to support conversation subscriptions.
This actor can be attached to a collection via observer
property, and can forward Add
and Remove
activities that modify it.
If forwarding is not desirable, object observers can use Announce
activity to distribute observed activities.
Example of an observer actor:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Application",
"id": "https://server.example/objects/123456/observer",
"inbox": "https://server.example/objects/123456/observer/inbox",
"outbox": "https://server.example/objects/123456/observer/outbox",
"observerOf": "https://server.example/objects/123456"
}
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or neighboring rights to this work.