diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml new file mode 100644 index 00000000..7ce0d5ba --- /dev/null +++ b/.github/workflows/renovate.yml @@ -0,0 +1,30 @@ +# DO NOT EDIT DIRECTLY IN REPOSITORY +# Managed in Terraform templates + +name: Renovate +on: + workflow_dispatch: + schedule: + - cron: '0/15 * * * *' +jobs: + renovate: + runs-on: ubuntu-latest + steps: + - id: app-token + uses: actions/create-github-app-token@v2 + with: + app-id: ${{ secrets.GH_STOAT_RELEASE_APP_ID }} + private-key: ${{ secrets.GH_STOAT_RELEASE_APP_PRIVATE_KEY }} + + - name: Setup Mise + uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2 + with: + github_token: ${{ steps.app-token.outputs.token }} + + - name: Self-hosted Renovate + uses: renovatebot/github-action@v46.1.14 + with: + token: '${{ steps.app-token.outputs.token }}' + env: + RENOVATE_PLATFORM_COMMIT: 'enabled' + RENOVATE_REPOSITORIES: '${{ github.repository }}' \ No newline at end of file diff --git a/crates/core/database/src/models/emojis/unicode_emoji.txt b/crates/core/database/src/models/emojis/unicode_emoji.txt index 06e8bf74..1b08dbe0 100644 --- a/crates/core/database/src/models/emojis/unicode_emoji.txt +++ b/crates/core/database/src/models/emojis/unicode_emoji.txt @@ -1,4 +1,3 @@ - *️⃣ 0️⃣ 1️⃣ @@ -242,6 +241,7 @@ 🆘 🆙 🆚 +🇦 🇦🇨 🇦🇩 🇦🇪 @@ -259,6 +259,7 @@ 🇦🇼 🇦🇽 🇦🇿 +🇧 🇧🇦 🇧🇧 🇧🇩 @@ -280,6 +281,7 @@ 🇧🇼 🇧🇾 🇧🇿 +🇨 🇨🇦 🇨🇨 🇨🇩 @@ -301,6 +303,7 @@ 🇨🇽 🇨🇾 🇨🇿 +🇩 🇩🇪 🇩🇬 🇩🇯 @@ -308,6 +311,7 @@ 🇩🇲 🇩🇴 🇩🇿 +🇪 🇪🇦 🇪🇨 🇪🇪 @@ -317,12 +321,14 @@ 🇪🇸 🇪🇹 🇪🇺 +🇫 🇫🇮 🇫🇯 🇫🇰 🇫🇲 🇫🇴 🇫🇷 +🇬 🇬🇦 🇬🇧 🇬🇩 @@ -342,12 +348,14 @@ 🇬🇺 🇬🇼 🇬🇾 +🇭 🇭🇰 🇭🇲 🇭🇳 🇭🇷 🇭🇹 🇭🇺 +🇮 🇮🇨 🇮🇩 🇮🇪 @@ -359,10 +367,12 @@ 🇮🇷 🇮🇸 🇮🇹 +🇯 🇯🇪 🇯🇲 🇯🇴 🇯🇵 +🇰 🇰🇪 🇰🇬 🇰🇭 @@ -374,6 +384,7 @@ 🇰🇼 🇰🇾 🇰🇿 +🇱 🇱🇦 🇱🇧 🇱🇨 @@ -385,6 +396,7 @@ 🇱🇺 🇱🇻 🇱🇾 +🇲 🇲🇦 🇲🇨 🇲🇩 @@ -408,6 +420,7 @@ 🇲🇽 🇲🇾 🇲🇿 +🇳 🇳🇦 🇳🇨 🇳🇪 @@ -420,7 +433,9 @@ 🇳🇷 🇳🇺 🇳🇿 +🇴 🇴🇲 +🇵 🇵🇦 🇵🇪 🇵🇫 @@ -435,12 +450,15 @@ 🇵🇹 🇵🇼 🇵🇾 +🇶 🇶🇦 +🇷 🇷🇪 🇷🇴 🇷🇸 🇷🇺 🇷🇼 +🇸 🇸🇦 🇸🇧 🇸🇨 @@ -462,6 +480,7 @@ 🇸🇽 🇸🇾 🇸🇿 +🇹 🇹🇦 🇹🇨 🇹🇩 @@ -479,6 +498,7 @@ 🇹🇻 🇹🇼 🇹🇿 +🇺 🇺🇦 🇺🇬 🇺🇲 @@ -486,6 +506,7 @@ 🇺🇸 🇺🇾 🇺🇿 +🇻 🇻🇦 🇻🇨 🇻🇪 @@ -493,11 +514,15 @@ 🇻🇮 🇻🇳 🇻🇺 +🇼 🇼🇫 🇼🇸 +🇽 🇽🇰 +🇾 🇾🇪 🇾🇹 +🇿 🇿🇦 🇿🇲 🇿🇼 diff --git a/crates/delta/src/routes/mod.rs b/crates/delta/src/routes/mod.rs index 9f87a749..178ec957 100644 --- a/crates/delta/src/routes/mod.rs +++ b/crates/delta/src/routes/mod.rs @@ -106,8 +106,8 @@ fn custom_openapi_spec() -> OpenApi { extensions.insert( "x-logo".to_owned(), json!({ - "url": "https://revolt.chat/header.png", - "altText": "Revolt Header" + "url": "https://stoat.chat/header.png", + "altText": "Stoat Header" }), ); @@ -115,7 +115,7 @@ fn custom_openapi_spec() -> OpenApi { "x-tagGroups".to_owned(), json!([ { - "name": "Revolt", + "name": "Stoat", "tags": [ "Core" ] @@ -196,18 +196,21 @@ fn custom_openapi_spec() -> OpenApi { OpenApi { openapi: OpenApi::default_version(), info: Info { - title: "Revolt API".to_owned(), + title: "Stoat API".to_owned(), description: Some("Open source user-first chat platform.".to_owned()), - terms_of_service: Some("https://revolt.chat/terms".to_owned()), + terms_of_service: Some("https://stoat.chat/terms".to_owned()), contact: Some(Contact { - name: Some("Revolt Support".to_owned()), - url: Some("https://revolt.chat".to_owned()), - email: Some("contact@revolt.chat".to_owned()), + name: Some("Stoat".to_owned()), + url: Some("https://stoat.chat".to_owned()), + email: Some("contact@stoat.chat".to_owned()), ..Default::default() }), license: Some(License { name: "AGPLv3".to_owned(), - url: Some("https://github.com/stoatchat/stoatchat/blob/main/crates/delta/LICENSE".to_owned()), + url: Some( + "https://github.com/stoatchat/stoatchat/blob/main/crates/delta/LICENSE" + .to_owned(), + ), ..Default::default() }), version: env!("CARGO_PKG_VERSION").to_string(), @@ -215,24 +218,19 @@ fn custom_openapi_spec() -> OpenApi { }, servers: vec![ Server { - url: "https://api.revolt.chat".to_owned(), - description: Some("Revolt Production".to_owned()), + url: "https://api.stoat.chat".to_owned(), + description: Some("Stoat Production".to_owned()), ..Default::default() }, Server { - url: "https://revolt.chat/api".to_owned(), - description: Some("Revolt Staging".to_owned()), - ..Default::default() - }, - Server { - url: "http://local.revolt.chat:14702".to_owned(), - description: Some("Local Revolt Environment".to_owned()), + url: "https://beta.stoat.chat/api".to_owned(), + description: Some("Stoat Beta".to_owned()), ..Default::default() }, ], external_docs: Some(ExternalDocs { - url: "https://developers.revolt.chat".to_owned(), - description: Some("Revolt Developer Documentation".to_owned()), + url: "https://developers.stoat.chat".to_owned(), + description: Some("Stoat Developer Documentation".to_owned()), ..Default::default() }), extensions, @@ -247,19 +245,19 @@ fn custom_openapi_spec() -> OpenApi { Tag { name: "Core".to_owned(), description: Some( - "Use in your applications to determine information about the Revolt node" + "Use in your applications to determine information about the Stoat node" .to_owned(), ), ..Default::default() }, Tag { name: "User Information".to_owned(), - description: Some("Query and fetch users on Revolt".to_owned()), + description: Some("Query and fetch users on Stoat".to_owned()), ..Default::default() }, Tag { name: "Direct Messaging".to_owned(), - description: Some("Direct message other users on Revolt".to_owned()), + description: Some("Direct message other users on Stoat".to_owned()), ..Default::default() }, Tag { @@ -276,7 +274,7 @@ fn custom_openapi_spec() -> OpenApi { }, Tag { name: "Channel Information".to_owned(), - description: Some("Query and fetch channels on Revolt".to_owned()), + description: Some("Query and fetch channels on Stoat".to_owned()), ..Default::default() }, Tag { @@ -306,7 +304,7 @@ fn custom_openapi_spec() -> OpenApi { }, Tag { name: "Server Information".to_owned(), - description: Some("Query and fetch servers on Revolt".to_owned()), + description: Some("Query and fetch servers on Stoat".to_owned()), ..Default::default() }, Tag { @@ -342,7 +340,7 @@ fn custom_openapi_spec() -> OpenApi { Tag { name: "Onboarding".to_owned(), description: Some( - "After signing up to Revolt, users must pick a unique username".to_owned(), + "After signing up to Stoat, users must pick a unique username".to_owned(), ), ..Default::default() }, @@ -354,7 +352,7 @@ fn custom_openapi_spec() -> OpenApi { Tag { name: "Web Push".to_owned(), description: Some( - "Subscribe to and receive Revolt push notifications while offline".to_owned(), + "Subscribe to and receive Stoat push notifications while offline".to_owned(), ), ..Default::default() }, diff --git a/crates/services/january/src/main.rs b/crates/services/january/src/main.rs index b905b87d..e203ce28 100644 --- a/crates/services/january/src/main.rs +++ b/crates/services/january/src/main.rs @@ -21,32 +21,26 @@ async fn main() -> Result<(), std::io::Error> { // Configure API schema #[derive(OpenApi)] #[openapi( - modifiers(&SecurityAddon), - paths( - api::root, - api::proxy, - api::embed - ), - components( - schemas( - api::RootResponse, - revolt_result::Error, - revolt_result::ErrorType, - revolt_models::v0::ImageSize, - revolt_models::v0::Image, - revolt_models::v0::Video, - revolt_models::v0::TwitchType, - revolt_models::v0::LightspeedType, - revolt_models::v0::BandcampType, - revolt_models::v0::Special, - revolt_models::v0::WebsiteMetadata, - revolt_models::v0::Text, - revolt_models::v0::Embed - ) - ) + paths(api::root, api::proxy, api::embed), + components(schemas( + api::RootResponse, + revolt_result::Error, + revolt_result::ErrorType, + revolt_models::v0::ImageSize, + revolt_models::v0::Image, + revolt_models::v0::Video, + revolt_models::v0::TwitchType, + revolt_models::v0::LightspeedType, + revolt_models::v0::BandcampType, + revolt_models::v0::Special, + revolt_models::v0::WebsiteMetadata, + revolt_models::v0::Text, + revolt_models::v0::Embed + )) )] struct ApiDoc; + #[allow(dead_code)] struct SecurityAddon; impl Modify for SecurityAddon { diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 9edf29e9..928a02d1 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -6,7 +6,7 @@ import type { ScalarOptions } from '@scalar/docusaurus'; const config: Config = { title: 'Stoat Developers', tagline: 'Developer documentation for Stoat', - favicon: 'https://stoat.chat/favicon.svg', + favicon: 'https://stoat.chat/favicon-stoat.svg', future: { v4: true, @@ -80,10 +80,10 @@ const config: Config = { respectPrefersColorScheme: true, }, navbar: { - title: 'Stoat Developers', logo: { - alt: 'Stoat', - src: 'https://stoat.chat/favicon.svg', + alt: 'Stoat for Developers', + src: '/img/navbar.light.svg', + srcDark: '/img/navbar.dark.svg' }, items: [ { diff --git a/docs/static/img/navbar.dark.svg b/docs/static/img/navbar.dark.svg new file mode 100644 index 00000000..6a5d88c0 --- /dev/null +++ b/docs/static/img/navbar.dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/static/img/navbar.light.svg b/docs/static/img/navbar.light.svg new file mode 100644 index 00000000..83bc88b0 --- /dev/null +++ b/docs/static/img/navbar.light.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..9ccd60d5 --- /dev/null +++ b/renovate.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ], + "cloneSubmodules": true, + "cloneSubmodulesFilter": [ + "*", + "!packages/client/assets" + ] +} \ No newline at end of file