-
-
Notifications
You must be signed in to change notification settings - Fork 354
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[feature] Distribute + ingest Accepts to followers (#3404)
- Loading branch information
1 parent
99f535f
commit 1e421cb
Showing
9 changed files
with
598 additions
and
241 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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, `@[email protected]` (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`. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.