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