diff options
author | 2024-10-08 10:51:13 +0200 | |
---|---|---|
committer | 2024-10-08 08:51:13 +0000 | |
commit | 1e421cb912a9bc8dc564b814984bcdad4a597ada (patch) | |
tree | b62e67266b59c0952aed0aba93dcd1485777136a /docs/federation/posts.md | |
parent | [chore]: Bump golang.org/x/image from 0.20.0 to 0.21.0 (#3399) (diff) | |
download | gotosocial-1e421cb912a9bc8dc564b814984bcdad4a597ada.tar.xz |
[feature] Distribute + ingest Accepts to followers (#3404)
Diffstat (limited to 'docs/federation/posts.md')
-rw-r--r-- | docs/federation/posts.md | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/docs/federation/posts.md b/docs/federation/posts.md index 1330476a9..c599587a7 100644 --- a/docs/federation/posts.md +++ b/docs/federation/posts.md @@ -569,6 +569,7 @@ For example, the following json object `Reject`s the attempt of `@someone@somewh ```json { + "@context": "https://www.w3.org/ns/activitystreams", "actor": "https://example.org/users/post_author", "to": "https://somewhere.else.example.org/users/someone", "id": "https://example.org/users/post_author/activities/reject/01J0K2YXP9QCT5BE1JWQSAM3B6", @@ -591,7 +592,12 @@ For example, the following json object `Accept`s the attempt of `@someone@somewh ```json { + "@context": "https://www.w3.org/ns/activitystreams", "actor": "https://example.org/users/post_author", + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://example.org/users/post_author/followers" + ], "to": "https://somewhere.else.example.org/users/someone", "id": "https://example.org/users/post_author/activities/reject/01J0K2YXP9QCT5BE1JWQSAM3B6", "object": "https://somewhere.else.example.org/users/someone/statuses/01J17XY2VXGMNNPH1XR7BG2524", @@ -601,6 +607,9 @@ For example, the following json object `Accept`s the attempt of `@someone@somewh If this happens, `@someone@somewhere.else.example.org` (and their instance) should consider the interaction as having been approved / accepted. The instance can then feel free to distribute the interaction `Activity` to all of the recipients targed by `to`, `cc`, etc, with the additional property `approvedBy` ([see below](#approvedby)). +!!! Note + In the above example, actor `https://example.org/users/post_author` addresses the `Accept` activity not just to the interacting actor `https://somewhere.else.example.org/users/someone`, but to their followers collection as well (and, implicitly, to the public). This allows followers of `https://example.org/users/post_author` on other servers to also mark the interaction as accepted, and to show the interaction alongside the interacted-with post. + ### Validating presence in a Followers / Following collection If an `Actor` interacting with an `Object` (via `Like`, `inReplyTo`, or `Announce`) is permitted to do that interaction based on their presence in a `Followers` or `Following` collection in the `always` field of an interaction policy, then their server should *still* wait for an `Accept` to be received from the server of the target account, before distributing the interaction more widely with the `approvedBy` property set to the URI of the `Accept`. |