mirror of
https://codeberg.org/fediverse/fep.git
synced 2026-08-08 13:35:51 +00:00
FEP-7628: Update proposal (#735)
- Removed outdated comment about nomadic identity. - Clarified that `alsoKnownAs` is the most popular linking method. - Removed unnecessary SHOULD from the description of pull mode. - Require to publish an `Update` activity after adding `movedTo` / `copiedTo`. - Updated ActivityPub author list. - Added RFC-2119 to references. - Updated `discussionsTo` URL. - Added `type` metadata attribute. Reviewed-on: https://codeberg.org/fediverse/fep/pulls/735 Co-authored-by: silverpill <silverpill@firemail.cc> Co-committed-by: silverpill <silverpill@firemail.cc>
This commit is contained in:
+12
-9
@@ -1,10 +1,11 @@
|
||||
---
|
||||
slug: "7628"
|
||||
authors: silverpill <silverpill@firemail.cc>
|
||||
authors: silverpill <@silverpill@mitra.social>
|
||||
type: informational
|
||||
status: DRAFT
|
||||
dateReceived: 2023-09-20
|
||||
trackingIssue: https://codeberg.org/fediverse/fep/issues/168
|
||||
discussionsTo: https://codeberg.org/fediverse/fep/issues/168
|
||||
discussionsTo: https://socialhub.activitypub.rocks/t/fep-7628-move-actor/3583
|
||||
---
|
||||
# FEP-7628: Move actor
|
||||
|
||||
@@ -18,17 +19,15 @@ Migration of followers from one [ActivityPub][ActivityPub] actor to another.
|
||||
|
||||
Mastodon started using [`Move`](https://docs.joinmastodon.org/spec/activitypub/#Move) activity for migrating accounts [in 2019](https://github.com/mastodon/mastodon/pull/11846). The activity is sent by the old server to actor's followers and actors who receive this activity un-follow the old account and follow the new account.
|
||||
|
||||
[Streams](https://codeberg.org/streams/streams) implements [Nomadic Identity](https://codeberg.org/streams/streams/src/commit/11f5174fdd3dfcd8714974f93d8b8fc50378a193/FEDERATION.md?display=source#L54-L59) mechanism, that makes identity independent from a server. Nomadic accounts are currently not supported by ActivityPub but are available via the [Nomad protocol](https://codeberg.org/streams/streams/src/commit/11f5174fdd3dfcd8714974f93d8b8fc50378a193/spec/Nomad/Home.md).
|
||||
|
||||
## Requirements
|
||||
|
||||
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](https://tools.ietf.org/html/rfc2119.html).
|
||||
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].
|
||||
|
||||
## Linked actors
|
||||
|
||||
One persona can be represented by one or more actors. Different actors are considered associated with one persona if and only if they are **linked**. Possible ways to link actors:
|
||||
|
||||
- `alsoKnownAs` property of an actor object. This method is used by [Mastodon](https://docs.joinmastodon.org/user/moving/#aliases).
|
||||
- `alsoKnownAs` property of an actor object. This method is the most popular, it is used by [Mastodon](https://docs.joinmastodon.org/user/moving/#aliases) and many other ActivityPub servers.
|
||||
- [FEP-c390][FEP-c390] identity proofs. Actors are linked if they have identity proofs with the same `subject` property.
|
||||
- [rel-me][rel-me] links. Actors are linked if their profile metadata contains verified rel-me links pointing to the same website.
|
||||
|
||||
@@ -52,7 +51,7 @@ Upon receiving valid `Move` activity, all actors following `object` MAY un-follo
|
||||
This activity comes in two sub-types:
|
||||
|
||||
1. `Move` sent by the old actor (**push mode**). In this case, the old server needs to be online.
|
||||
2. `Move` sent by the new actor (**pull mode**). In this case, the old server doesn't need to be online, but the person using the actor SHOULD have a reserve copy of the follower list.
|
||||
2. `Move` sent by the new actor (**pull mode**). In this case, the old server doesn't need to be online, but the person using the actor needs to have a reserve copy of the follower list.
|
||||
|
||||
Example (activity subtype 1, push mode):
|
||||
|
||||
@@ -86,10 +85,12 @@ Example (activity subtype 2, pull mode):
|
||||
|
||||
## `movedTo` and `copiedTo` properties
|
||||
|
||||
If previous primary actor is deactivated after migration, it MUST have `movedTo` property containing the ID of the new primary actor. Publishers SHOULD NOT deliver activities to actor's inbox if `movedTo` property is present.
|
||||
If previous primary actor was deactivated after migration, it MUST have `movedTo` property containing the ID of the new primary actor. Publishers SHOULD NOT deliver activities to actor's inbox if `movedTo` property is present.
|
||||
|
||||
If previous primary actor is not deactivated, `copiedTo` property MUST be used.
|
||||
|
||||
After adding the `movedTo` or `copiedTo` property, the actor SHOULD notify its followers about the change by publishing an `Update` activity.
|
||||
|
||||
<dl>
|
||||
<dt id="movedTo">movedTo</dt>
|
||||
<dd>
|
||||
@@ -109,13 +110,15 @@ If previous primary actor is not deactivated, `copiedTo` property MUST be used.
|
||||
|
||||
## References
|
||||
|
||||
- Christine Lemmer Webber, Jessica Tallon, [ActivityPub][ActivityPub], 2018
|
||||
- Christine Lemmer-Webber, Jessica Tallon, Erin Shepherd, Amy Guy, Evan Prodromou, [ActivityPub], 2018
|
||||
- James M Snell, Evan Prodromou, [Activity Vocabulary][ActivityVocabulary], 2017
|
||||
- S. Bradner, [Key words for use in RFCs to Indicate Requirement Levels][RFC-2119], 1997
|
||||
- silverpill, [FEP-c390: Identity Proofs][FEP-c390], 2022
|
||||
- indieweb.org editors, [rel-me][rel-me], 2013
|
||||
|
||||
[ActivityPub]: https://www.w3.org/TR/activitypub/
|
||||
[ActivityVocabulary]: https://www.w3.org/TR/activitystreams-vocabulary/
|
||||
[RFC-2119]: https://tools.ietf.org/html/rfc2119.html
|
||||
[FEP-c390]: https://codeberg.org/fediverse/fep/src/branch/main/fep/c390/fep-c390.md
|
||||
[rel-me]: https://indieweb.org/rel-me
|
||||
|
||||
|
||||
Reference in New Issue
Block a user