From 5fb4c27e9ae22279cc0e185ff9a77d7f90d26c2a Mon Sep 17 00:00:00 2001 From: silverpill Date: Sat, 1 Aug 2026 20:15:48 +0200 Subject: [PATCH] FEP-5219: Update proposal (#895) - Added `attributedTo` and `object` fields to `Relationship` object. - Allowed to hide `affiliations` collection. Reviewed-on: https://codeberg.org/fediverse/fep/pulls/895 --- fep/5219/fep-5219.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/fep/5219/fep-5219.md b/fep/5219/fep-5219.md index 513b0f8..9e1ad4d 100644 --- a/fep/5219/fep-5219.md +++ b/fep/5219/fep-5219.md @@ -42,12 +42,17 @@ The group actor itself is considered to have an `admin` affiliation. Affiliations can be specified using the `affiliations` collection attached to a `Group` actor. It is an ordered collection where each item is a `Relationship` object that represents a relationship between a user and a group. This object has the following fields: +- `id`: the identifier of the object. - `type`: the `Relationship` string. -- `subject`: the identifier of an actor. +- `attributedTo`: the identifier of the group actor. +- `subject`: the identifier of the affiliated actor. +- `object`: the identifier of the group actor. - [`relationship`](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-relationship-term): the affiliation name (`admin`, `moderator`, `member`, `outcast` or a custom affiliation identifier). The `affiliations` collection is sorted from most privilege to least privilege. When two actors have the same privileges but different power levels, the actor with the higher power level MUST be placed first. +Access to the `affiliations` collection MAY be limited if the group is not public. + When adding a `Relationship` for a custom affiliation, a fallback representation SHOULD also be included. This fallback representation MUST specify an affiliation from the default set that has equal or fewer privileges compared to the custom affiliation. Consumers MUST ignore relationships that represent unsupported affiliations. @@ -61,13 +66,19 @@ Example of an `affiliations` collection: "attributedTo": "https://social.example/group", "items": [ { + "id": "https://social.example/group/affiliations/1", "type": "Relationship", + "attributedTo": "https://social.example/group", "subject": "https://social.example/alice", + "object": "https://social.example/group", "relationship": "admin" }, { + "id": "https://social.example/group/affiliations/2", "type": "Relationship", + "attributedTo": "https://social.example/group", "subject": "https://social.example/bob", + "object": "https://social.example/group", "relationship": "member" } ]