From 46297d538c3641a43a9f20f744b227a234c7a168 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Tue, 10 Dec 2024 17:44:51 +0100 Subject: [PATCH] fix: :memo: Add more information on what a transient entity is --- app/entities/delete/page.mdx | 4 ++-- app/entities/follow-accept/page.mdx | 2 +- app/entities/follow-reject/page.mdx | 2 +- app/entities/follow/page.mdx | 2 +- app/entities/group/page.mdx | 10 +++++----- app/entities/page.mdx | 8 +++++++- app/entities/unfollow/page.mdx | 2 +- app/extensions/migration/page.mdx | 2 +- app/extensions/reports/page.mdx | 2 +- app/introduction/page.mdx | 2 +- 10 files changed, 21 insertions(+), 15 deletions(-) diff --git a/app/entities/delete/page.mdx b/app/entities/delete/page.mdx index 61d3893..edb75a1 100644 --- a/app/entities/delete/page.mdx +++ b/app/entities/delete/page.mdx @@ -5,7 +5,7 @@ export const metadata = { # Delete -Signals the deletion of an entity. It is a **transient entity**. {{ className: 'lead' }} +Signals the deletion of an entity. It is a [**Transient Entity**](/entities#transient-entities). {{ className: 'lead' }} ## Authorization @@ -21,7 +21,7 @@ Having the authorization is defined as: - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the `User` who is deleting the entity. [Can be set to `null` to represent the instance](/entities/instance-metadata#the-null-author). diff --git a/app/entities/follow-accept/page.mdx b/app/entities/follow-accept/page.mdx index 8336474..620bb96 100644 --- a/app/entities/follow-accept/page.mdx +++ b/app/entities/follow-accept/page.mdx @@ -15,7 +15,7 @@ export const metadata = { - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the `User` considered the 'followee', i.e. the user who is being followed. diff --git a/app/entities/follow-reject/page.mdx b/app/entities/follow-reject/page.mdx index a65a26c..c87435c 100644 --- a/app/entities/follow-reject/page.mdx +++ b/app/entities/follow-reject/page.mdx @@ -25,7 +25,7 @@ But it can also be used when Bob is already following Alice, in the case that: - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the `User` considered the 'followee', i.e. the user who is being followed. diff --git a/app/entities/follow/page.mdx b/app/entities/follow/page.mdx index 26ff12b..e72d25e 100644 --- a/app/entities/follow/page.mdx +++ b/app/entities/follow/page.mdx @@ -57,7 +57,7 @@ Once a follow relationship is established, the **followee**'s instance should se - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the `User` considered the 'follower'. diff --git a/app/entities/group/page.mdx b/app/entities/group/page.mdx index e9cab0e..df8d46d 100644 --- a/app/entities/group/page.mdx +++ b/app/entities/group/page.mdx @@ -83,7 +83,7 @@ Indicates that a [User](/entities/user) wishes to subscribe to a group. - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the [User](/entities/user) subscribing to the group. @@ -117,7 +117,7 @@ Indicates that a [User](/entities/user) wishes to unsubscribe from a group. - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the [User](/entities/user) unsubscribing from the group. @@ -151,7 +151,7 @@ Indicates that a [Group](#entity-definition) has accepted a [User](/entities/use - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the [User](/entities/user) subscribing to the group. @@ -185,7 +185,7 @@ Indicates that a [Group](#entity-definition) has rejected a [User](/entities/use - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the [User](/entities/user) subscribing to the group. @@ -227,7 +227,7 @@ The `GroupFederate` entity allows a group to federate a note to all of its membe - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the note to federate. diff --git a/app/entities/page.mdx b/app/entities/page.mdx index 431e246..ec6fe15 100644 --- a/app/entities/page.mdx +++ b/app/entities/page.mdx @@ -35,7 +35,7 @@ Any field in an entity not marked as `required` may be omitted or set to `null`. URI of the entity. Should be unique and resolve to the entity. Must be an absolute URI. - **Transient Entities** do not require a URI. + [**Transient Entities**](/entities#transient-entities) do not require a URI. @@ -86,6 +86,12 @@ Any field in an entity not marked as `required` may be omitted or set to `null`. +## Transient Entities + +Some entities are transient, meaning they do not have a URI. These entities are used for actions that do not require a permanent record, such as deletions or migrations. + +Implementations **must not** rely on other implementations to store transient entities in their database. + ## Serialization When serialized to a string, the JSON representation of an entity must follow the following rules: diff --git a/app/entities/unfollow/page.mdx b/app/entities/unfollow/page.mdx index 078db5f..ab836fa 100644 --- a/app/entities/unfollow/page.mdx +++ b/app/entities/unfollow/page.mdx @@ -30,7 +30,7 @@ Sometimes, [Users](/entities/user) want to unsubscribe from each other to stop s - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. URI of the `User` considered the 'follower', i.e. the user who is unsubscribing from the followee. diff --git a/app/extensions/migration/page.mdx b/app/extensions/migration/page.mdx index 8e2f5a0..d775427 100644 --- a/app/extensions/migration/page.mdx +++ b/app/extensions/migration/page.mdx @@ -34,7 +34,7 @@ Migration happens in three steps: - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. Must be `pub.versia:migration/Migration`. diff --git a/app/extensions/reports/page.mdx b/app/extensions/reports/page.mdx index 68751a7..e119796 100644 --- a/app/extensions/reports/page.mdx +++ b/app/extensions/reports/page.mdx @@ -15,7 +15,7 @@ When an instance receives a report, it *should* be reviewed by a moderator or ad - This is a **Transient Entity** and does not have a URI. + This is a [**Transient Entity**](/entities#transient-entities) and does not have a URI. Must be `pub.versia:reports/Report`. diff --git a/app/introduction/page.mdx b/app/introduction/page.mdx index e9cd248..6274e6b 100644 --- a/app/introduction/page.mdx +++ b/app/introduction/page.mdx @@ -35,7 +35,7 @@ The words **MUST**, **MUST NOT**, **SHOULD**, **SHOULD NOT**, and **MAY** are us The Versia Protocol uses the following terms: - **Entity**: A generic term for any JSON object in the protocol, such as a [User](./entities/user), a [Note](./entities/note), or a [Like](./extensions/likes). Entities are uniquely identified by their `id` property. - - **Transient Entity**: A type of **Entity** that is not meant to be stored permanently or referenced by other entities. + - [**Transient Entity**](/entities#transient-entities): A type of **Entity** that is not meant to be stored permanently or referenced by other entities. - **Implementation**: A software application that implements the Versia Protocol. - **Instance**: An application deploying an **Implementation**. - Using the same nomenclature, an ActivityPub Implementation would be `Mastodon`, and an Instance would be `mastodon.social`.