From 6414337a302e9b149a50f63f7ac17afddab5e0be Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Tue, 13 Aug 2024 16:47:37 +0200 Subject: [PATCH] refactor: :truck: Do full rename of Lysand to Versia --- README.md | 6 +++--- app/changelog/page.mdx | 2 +- app/entities/note/page.mdx | 18 +++++++++--------- app/entities/page.mdx | 10 +++++----- app/entities/user/page.mdx | 28 ++++++++++++++-------------- app/extensions/likes/page.mdx | 12 ++++++------ app/extensions/vanity/page.mdx | 6 +++--- app/extensions/websockets/page.mdx | 2 +- app/federation/http/page.mdx | 4 ++-- app/federation/page.mdx | 8 ++++---- app/federation/validation/page.mdx | 6 +++--- app/introduction/page.mdx | 16 ++++++++-------- app/layout.tsx | 10 +++++----- app/page.tsx | 18 +++++++++--------- app/sdks/page.mdx | 8 ++++---- app/signatures/page.mdx | 4 ++-- app/structures/collection/page.mdx | 10 +++++----- app/structures/emoji/page.mdx | 2 +- components/Logo.tsx | 2 +- components/Resources.tsx | 2 +- package.json | 2 +- 21 files changed, 88 insertions(+), 88 deletions(-) diff --git a/README.md b/README.md index 61ac0d4..9efaf86 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@

- Lysand Logo + Versia Logo

- Lysand Documentation + Versia Documentation

@@ -24,7 +24,7 @@

- Lysand on an iPad + Versia on an iPad

## Technologies diff --git a/app/changelog/page.mdx b/app/changelog/page.mdx index d27c535..c5e0ffd 100644 --- a/app/changelog/page.mdx +++ b/app/changelog/page.mdx @@ -1,7 +1,7 @@ export const metadata = { title: 'Changelog', description: - 'Changes since the last version of the Lysand protocol.', + 'Changes since the last version of the Versia protocol.', } # Changelog diff --git a/app/entities/note/page.mdx b/app/entities/note/page.mdx index 68d8aa8..c35a6a5 100644 --- a/app/entities/note/page.mdx +++ b/app/entities/note/page.mdx @@ -5,7 +5,7 @@ export const metadata = { # Notes -Notes represent a piece of content on a Lysand instance. They can be posted by [Users](/entities/user) and are displayed in a user's feed. Notes can contain text, images, and other media. {{ className: 'lead' }} +Notes represent a piece of content on a Versia instance. They can be posted by [Users](/entities/user) and are displayed in a user's feed. Notes can contain text, images, and other media. {{ className: 'lead' }} Notes are not just limited to microblogging. They can be used for any kind of content, such as forum posts, blog posts, image posts, video posts, audio posts, and even messaging. @@ -97,12 +97,12 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [ { "id": "01902e09-0f8b-72de-8ee3-9afc0cf5eae1", "type": "Note", - "uri": "https://social.lysand.org/objects/01902e09-0f8b-72de-8ee3-9afc0cf5eae1", + "uri": "https://versia.social/objects/01902e09-0f8b-72de-8ee3-9afc0cf5eae1", "created_at": "2024-06-19T01:07:44.139Z", "attachments": [ // [!code focus:100] { "image/png": { - "content": "https://cdn.lysand.org/29e810bf4707fef373d886af322089d5db300fce66e4e073efc26827f10825f6/image.webp", + "content": "https://cdn.versia.social/29e810bf4707fef373d886af322089d5db300fce66e4e073efc26827f10825f6/image.webp", "remote": true, "thumbhash": "1QcSHQRnh493V4dIh4eXh1h4kJUI", "description": "", @@ -116,7 +116,7 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [ }, { "image/png": { - "content": "https://cdn.lysand.org/4f87598d377441e78f3c8cfa7bd7d19d61a7470bfe0abcbee6eb1de87279fb3b/image.webp", + "content": "https://cdn.versia.social/4f87598d377441e78f3c8cfa7bd7d19d61a7470bfe0abcbee6eb1de87279fb3b/image.webp", "remote": true, "thumbhash": "3PcNNYSFeXh/d3eld0iHZoZgVwh2", "description": "", @@ -129,14 +129,14 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [ } } ], - "author": "https://social.lysand.org/users/018eb863-753f-76ff-83d6-fd590de7740a", + "author": "https://versia.social/users/018eb863-753f-76ff-83d6-fd590de7740a", "category": "microblog", "content": { "text/html": { - "content": "

In the next lysand-fe update: account settings, finally!

" + "content": "

In the next versia-fe update: account settings, finally!

" }, "text/plain": { - "content": "In the next lysand-fe update: account settings, finally!" + "content": "In the next versia-fe update: account settings, finally!" } }, "device": { @@ -145,14 +145,14 @@ Notes represent a piece of content on a Lysand instance. They can be posted by [ "url": "https://sk22.github.io/megalodon" }, "extensions": { - "org.lysand:custom_emojis": { + "pub.versia:custom_emojis": { "emojis": [] } }, "group": "public", "is_sensitive": false, "mentions": [], - "subject": "Lysand development" + "subject": "Versia development" } ``` diff --git a/app/entities/page.mdx b/app/entities/page.mdx index de111a6..842b7d4 100644 --- a/app/entities/page.mdx +++ b/app/entities/page.mdx @@ -1,16 +1,16 @@ export const metadata = { title: 'Entities', description: - 'Entities are simple JSON objects that represent the core data structures in Lysand.', + 'Entities are simple JSON objects that represent the core data structures in Versia.', } # Entities -Entities are the foundation of the Lysand protocol. A similar concept to entities are the [ActivityStreams](https://www.w3.org/TR/activitystreams-core/) objects, which are used to represent activities in the [ActivityPub](https://www.w3.org/TR/activitypub/) protocol. {{ className: 'lead' }} +Entities are the foundation of the Versia protocol. A similar concept to entities are the [ActivityStreams](https://www.w3.org/TR/activitystreams-core/) objects, which are used to represent activities in the [ActivityPub](https://www.w3.org/TR/activitypub/) protocol. {{ className: 'lead' }} ## Entity Definition -An entity is a simple JSON object that represents a core data structure in Lysand. Entities are used to represent various types of data, such as users, notes, and more. Each entity has a unique `id` property that is used to identify it within the instance. +An entity is a simple JSON object that represents a core data structure in Versia. Entities are used to represent various types of data, such as users, notes, and more. Each entity has a unique `id` property that is used to identify it within the instance. Any field in an entity not marked as `required` may be omitted or set to `null`. @@ -22,7 +22,7 @@ Any field in an entity not marked as `required` may be omitted or set to `null`. Unique identifier for the entity. Must be unique within the instance. Can be any string. Max of 512 UTF-8 characters. - Type of the entity. Only types defined in the Lysand protocol are allowed. Use an [Extension](/extensions) if you want to define custom types. + Type of the entity. Only types defined in the Versia protocol are allowed. Use an [Extension](/extensions) if you want to define custom types. Date and time when the entity was created. Must be an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted string. @@ -67,7 +67,7 @@ Any field in an entity not marked as `required` may be omitted or set to `null`. "zlorb_type": "giant", "zlorb_size": "huge" }, - "org.lysand:location": { + "pub.versia:location": { "latitude": 37.7749, "longitude": -122.4194 } diff --git a/app/entities/user/page.mdx b/app/entities/user/page.mdx index c794892..ca7c319 100644 --- a/app/entities/user/page.mdx +++ b/app/entities/user/page.mdx @@ -5,7 +5,7 @@ export const metadata = { # Users -The `User` entity represents an account on a Lysand instance. Users can post [Notes](/entities/note), follow other users, and interact with content. Users are identified by their `id` property, which is unique within the instance. {{ className: 'lead' }} +The `User` entity represents an account on a Versia instance. Users can post [Notes](/entities/note), follow other users, and interact with content. Users are identified by their `id` property, which is unique within the instance. {{ className: 'lead' }} ## Addresses @@ -19,8 +19,8 @@ Users may be represented by a shorthand address, in the following formats: For example: ``` -@jessew@social.lysand.org -@018ec082-0ae1-761c-b2c5-22275a611771@social.lysand.org +@jessew@versia.social +@018ec082-0ae1-761c-b2c5-22275a611771@versia.social ``` This is similar to an email address or an ActivityPub address. @@ -71,7 +71,7 @@ Instance **must** be the host of the instance the user is on (hostname with opti A header image for the user's profile. Also known as a cover photo or a banner. Must be an image format (`image/*`). - The user's public key. Must follow the [Lysand Public Key](/signatures) format. `actor` may be a URI to another user's profile, in which case this key may allow the user to act on behalf of the other user (see [delegation](/delegation)). + The user's public key. Must follow the [Versia Public Key](/signatures) format. `actor` may be a URI to another user's profile, in which case this key may allow the user to act on behalf of the other user (see [delegation](/delegation)). ```typescript type URI = string; @@ -132,7 +132,7 @@ Instance **must** be the host of the instance the user is on (hostname with opti { "id": "018ec082-0ae1-761c-b2c5-22275a611771", "type": "User", - "uri": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771", + "uri": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771", "created_at": "2024-04-09T01:38:51.743Z", "avatar": { // [!code focus:100] "image/png": { @@ -148,16 +148,16 @@ Instance **must** be the host of the instance the user is on (hostname with opti } }, "collections": { - "featured": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/featured", - "followers": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/followers", - "following": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/following", - "org.lysand:likes/Dislikes": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/dislikes", - "org.lysand:likes/Likes": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/likes", - "outbox": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox", + "featured": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/featured", + "followers": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/followers", + "following": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/following", + "pub.versia:likes/Dislikes": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/dislikes", + "pub.versia:likes/Likes": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/likes", + "outbox": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/outbox", }, "display_name": "April The Pink (limited Sand Edition)", "extensions": { - "org.lysand:custom_emojis": { + "pub.versia:custom_emojis": { "emojis": [] } }, @@ -176,11 +176,11 @@ Instance **must** be the host of the instance the user is on (hostname with opti } ], "header": null, - "inbox": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771/inbox", + "inbox": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771/inbox", "indexable": false, "manually_approves_followers": false, "public_key": { - "actor": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771", + "actor": "https://versia.social/users/018ec082-0ae1-761c-b2c5-22275a611771", "public_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }, "username": "aprl" diff --git a/app/extensions/likes/page.mdx b/app/extensions/likes/page.mdx index c5c61ab..f48f97b 100644 --- a/app/extensions/likes/page.mdx +++ b/app/extensions/likes/page.mdx @@ -20,7 +20,7 @@ Likes are a way for users to show appreciation for a note, like Twitter's "heart - Must be `org.lysand:likes/Like`. + Must be `pub.versia:likes/Like`. Creator of the Like. @@ -37,7 +37,7 @@ Likes are a way for users to show appreciation for a note, like Twitter's "heart { "id": "3e7e4750-afd4-4d99-a256-02f0710a0520", "type": "Extension", - "extension_type": "org.lysand:likes/Like", + "extension_type": "pub.versia:likes/Like", "created_at": "2021-01-01T00:00:00.000Z", "author": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe", "uri": "https://example.com/likes/3e7e4750-afd4-4d99-a256-02f0710a0520", @@ -58,7 +58,7 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis - Must be `org.lysand:likes/Dislike`. + Must be `pub.versia:likes/Dislike`. Creator of the Dislike. @@ -75,7 +75,7 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis { "id": "3e7e4750-afd4-4d99-a256-02f0710a0520", "type": "Extension", - "extension_type": "org.lysand:likes/Dislike", + "extension_type": "pub.versia:likes/Dislike", "created_at": "2021-01-01T00:00:00.000Z", "author": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe", "uri": "https://example.com/dislikes/3e7e4750-afd4-4d99-a256-02f0710a0520", @@ -103,7 +103,7 @@ The Likes extension adds the following collections to the [User](/entities/user) ... "collections": { ... - "org.lysand:likes/Likes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/likes", - "org.lysand:likes/Dislikes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/dislikes" + "pub.versia:likes/Likes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/likes", + "pub.versia:likes/Dislikes": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe/dislikes" } } \ No newline at end of file diff --git a/app/extensions/vanity/page.mdx b/app/extensions/vanity/page.mdx index 49f2b6e..437b819 100644 --- a/app/extensions/vanity/page.mdx +++ b/app/extensions/vanity/page.mdx @@ -68,7 +68,7 @@ All properties are optional. Location does not need to be precise, and can be as simple as `+46+002/` (France) or `+48.52+002.20/` (Paris, France). - Lysand profiles that should be considered aliases of this profile. + Versia profiles that should be considered aliases of this profile. @@ -81,7 +81,7 @@ All properties are optional. "type": "User", // ... "extensions": { // [!code focus:100] - "org.lysand:vanity": { + "pub.versia:vanity": { "avatar_overlays": [ { "image/png": { @@ -124,7 +124,7 @@ All properties are optional. "location": "+40.6894-074.0447/", "aliases": [ "https://burger.social/accounts/349ee237-c672-41c1-aadc-677e185f795a", - "https://social.lysand.org/users/f565ef02-035d-4974-ba5e-f62a8558331d" + "https://versia.social/users/f565ef02-035d-4974-ba5e-f62a8558331d" ] } } diff --git a/app/extensions/websockets/page.mdx b/app/extensions/websockets/page.mdx index 0897207..59b716d 100644 --- a/app/extensions/websockets/page.mdx +++ b/app/extensions/websockets/page.mdx @@ -12,7 +12,7 @@ export const metadata = { If testing proves unsuccessful, this draft may be abandoned.
-Typically, communication between Lysand instances is done via HTTP. However, HTTP suffers from some limitations, such as high latency and heavy overhead for small messages, making it less suitable for exchanging large amounts of entities at acceptable speeds. {{ className: 'lead' }} +Typically, communication between Versia instances is done via HTTP. However, HTTP suffers from some limitations, such as high latency and heavy overhead for small messages, making it less suitable for exchanging large amounts of entities at acceptable speeds. {{ className: 'lead' }} This extension aims to address these limitations by adding support for the exchange of entities using WebSockets. diff --git a/app/federation/http/page.mdx b/app/federation/http/page.mdx index 056bad0..54f6108 100644 --- a/app/federation/http/page.mdx +++ b/app/federation/http/page.mdx @@ -1,12 +1,12 @@ export const metadata = { title: 'HTTP', description: - 'How Lysand uses the HTTP protocol for all communications between instances.', + 'How Versia uses the HTTP protocol for all communications between instances.', } # HTTP -Lysand uses the HTTP protocol for all communications between instances. HTTP requests must conform to certain standards to ensure compatibility between different implementations, as well as to ensure the security and integrity of the data being exchanged. +Versia uses the HTTP protocol for all communications between instances. HTTP requests must conform to certain standards to ensure compatibility between different implementations, as well as to ensure the security and integrity of the data being exchanged. ALL kinds of HTTP requests/responses between instances **MUST** include a [Signature](/signatures), signed with either the relevant [User](/entities/user)'s private key or the [Server Actor](/entities/server-actor)'s private key. diff --git a/app/federation/page.mdx b/app/federation/page.mdx index e3c6dd7..c770bd0 100644 --- a/app/federation/page.mdx +++ b/app/federation/page.mdx @@ -3,16 +3,16 @@ import { Guides, Guide } from '@/components/Guides'; export const metadata = { title: 'Federation', description: - 'Description of federation behavior in Lysand.', + 'Description of federation behavior in Versia.', } # Federation -Being a federation protocol, Lysand defines a set of rules for exchanging data between instances. This document outlines the behavior of instances in a Lysand federated network. {{ className: 'lead' }} +Being a federation protocol, Versia defines a set of rules for exchanging data between instances. This document outlines the behavior of instances in a Versia federated network. {{ className: 'lead' }} Federation is built on the [HyperText Transfer Protocol (HTTP)](https://tools.ietf.org/html/rfc7230) and the [JavaScript Object Notation (JSON)](https://tools.ietf.org/html/rfc7159) data format. Instances communicate with each other by sending and receiving JSON payloads over HTTP. - - + + \ No newline at end of file diff --git a/app/federation/validation/page.mdx b/app/federation/validation/page.mdx index 69fb209..bc86f1d 100644 --- a/app/federation/validation/page.mdx +++ b/app/federation/validation/page.mdx @@ -1,12 +1,12 @@ export const metadata = { title: 'Validation', description: - 'Validation rules for Lysand implementations.', + 'Validation rules for Versia implementations.', } # Validation -Implementations **MUST** strictly validate all incoming data to ensure that it is well-formed and adheres to the Lysand Protocol. If a request is invalid, the server **MUST** return a `400 Bad Request` HTTP status code. +Implementations **MUST** strictly validate all incoming data to ensure that it is well-formed and adheres to the Versia Protocol. If a request is invalid, the server **MUST** return a `400 Bad Request` HTTP status code. Remember that while *your* implementation may disallow or restrict some user input, other implementations may not. You **should not** apply those restrictions to data coming from other instances. @@ -33,4 +33,4 @@ Things that should be validated include, but are not limited to: - The **validity** of all URLs and URIs (run them through your favorite URL parser, optionally fetch the linked URL). - The **time** of all dates and times (people should not be born in the future, or in the year 0). -It is your implementation's duty to reject data from other instances that does not adhere to the strict spec. **This is crucial to ensure the integrity of your instance and the network as a whole**. Allowing data that is technically valid but semantically incorrect can lead to the degradation of the entire Lysand ecosystem. +It is your implementation's duty to reject data from other instances that does not adhere to the strict spec. **This is crucial to ensure the integrity of your instance and the network as a whole**. Allowing data that is technically valid but semantically incorrect can lead to the degradation of the entire Versia ecosystem. diff --git a/app/introduction/page.mdx b/app/introduction/page.mdx index 251cc4f..65c9fbe 100644 --- a/app/introduction/page.mdx +++ b/app/introduction/page.mdx @@ -2,8 +2,8 @@ import { Resources } from '@/components/Resources' import { HeroPattern } from '@/components/HeroPattern' export const metadata = { - title: 'Lysand Documentation', - description: 'Introduction to the Lysand Protocol, a communication medium for federated applications, leveraging the HTTP stack.', + title: 'Versia Documentation', + description: 'Introduction to the Versia Protocol, a communication medium for federated applications, leveraging the HTTP stack.', } export const sections = [ @@ -14,9 +14,9 @@ export const sections = [ -# Lysand Federation Protocol +# Versia Federation Protocol -The Lysand Protocol is designed as a communication medium for federated applications, leveraging the HTTP stack. Its simplicity ensures ease of implementation and comprehension. {{ className: 'lead' }} +The Versia Protocol is designed as a communication medium for federated applications, leveraging the HTTP stack. Its simplicity ensures ease of implementation and comprehension. {{ className: 'lead' }}