diff --git a/docs/changelog.md b/docs/changelog.md
index a1c5d8771c..a53b10f9bf 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -15,6 +15,10 @@ Critical security updates are indicated by the :warning: icon.
 - The new Mastodon API uses a new format to manage Mastodon sessions in the database, whereas old implementation uses Misskey sessions. All previous client app and token registrations will not work with the new API. All clients need to be re-registered and all users need to re-authenticate.
 - All IDs (of statuses/notes, notifications, users, etc.) will be using the alphanumerical format, aligning with the Firefish/Misskey API. The old numerical IDs will not work when queried against the new API.
 
+## [v20240601](https://firefish.dev/firefish/firefish/-/merge_requests/10943/commits)
+
+- Fix bugs
+
 ## [v20240523](https://firefish.dev/firefish/firefish/-/merge_requests/10898/commits)
 
 - Add scheduled posts
diff --git a/docs/notice-for-admins.md b/docs/notice-for-admins.md
index 5471832c83..2e80c98d4d 100644
--- a/docs/notice-for-admins.md
+++ b/docs/notice-for-admins.md
@@ -2,7 +2,7 @@
 
 You can skip intermediate versions when upgrading from an old version, but please read the notices and follow the instructions for each intermediate version before [upgrading](./upgrade.md).
 
-## Unreleased
+## v20240601
 
 ### For systemd/pm2 users
 
diff --git a/package.json b/package.json
index 4d0ab3fda8..34054f338e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "firefish",
-	"version": "20240523",
+	"version": "20240601",
 	"repository": {
 		"type": "git",
 		"url": "https://firefish.dev/firefish/firefish.git"
@@ -46,7 +46,7 @@
 		"@biomejs/cli-darwin-x64": "1.7.3",
 		"@biomejs/cli-linux-arm64": "1.7.3",
 		"@biomejs/cli-linux-x64": "1.7.3",
-		"@types/node": "20.12.13",
+		"@types/node": "20.13.0",
 		"execa": "9.1.0",
 		"pnpm": "9.1.4",
 		"typescript": "5.4.5"
diff --git a/packages/backend-rs/src/database/cache.rs b/packages/backend-rs/src/database/cache.rs
index bf675efa38..77077b8c50 100644
--- a/packages/backend-rs/src/database/cache.rs
+++ b/packages/backend-rs/src/database/cache.rs
@@ -50,9 +50,9 @@ fn wildcard(category: Category) -> String {
 ///
 /// # Arguments
 ///
-/// - `key` : key (prefixed automatically)
-/// - `value` : (de)serializable value
-/// - `expire_seconds` : TTL
+/// * `key` : key (prefixed automatically)
+/// * `value` : (de)serializable value
+/// * `expire_seconds` : TTL
 ///
 /// # Example
 ///
@@ -96,7 +96,7 @@ pub async fn set<V: for<'a> Deserialize<'a> + Serialize>(
 ///
 /// # Argument
 ///
-/// - `key` : key (will be prefixed automatically)
+/// * `key` : key (will be prefixed automatically)
 ///
 /// # Example
 ///
@@ -135,9 +135,9 @@ pub async fn get<V: for<'a> Deserialize<'a> + Serialize>(key: &str) -> Result<Op
 ///
 /// # Argument
 ///
-/// - `key` : key (prefixed automatically)
+/// * `key` : key (prefixed automatically)
 ///
-/// ## Example
+/// # Example
 ///
 /// ```
 /// # use backend_rs::database::cache;
@@ -169,10 +169,10 @@ pub async fn delete(key: &str) -> Result<(), Error> {
 ///
 /// # Arguments
 ///
-/// - `category` : one of [Category]
-/// - `key` : key (prefixed automatically)
-/// - `value` : (de)serializable value
-/// - `expire_seconds` : TTL
+/// * `category` : one of [Category]
+/// * `key` : key (prefixed automatically)
+/// * `value` : (de)serializable value
+/// * `expire_seconds` : TTL
 pub async fn set_one<V: for<'a> Deserialize<'a> + Serialize>(
     category: Category,
     key: &str,
@@ -188,8 +188,8 @@ pub async fn set_one<V: for<'a> Deserialize<'a> + Serialize>(
 ///
 /// # Arguments
 ///
-/// - `category` : one of [Category]
-/// - `key` : key (prefixed automatically)
+/// * `category` : one of [Category]
+/// * `key` : key (prefixed automatically)
 pub async fn get_one<V: for<'a> Deserialize<'a> + Serialize>(
     category: Category,
     key: &str,
@@ -213,7 +213,7 @@ pub async fn delete_one(category: Category, key: &str) -> Result<(), Error> {
 ///
 /// # Argument
 ///
-/// - `category` : one of [Category]
+/// * `category` : one of [Category]
 pub async fn delete_all(category: Category) -> Result<(), Error> {
     let mut redis = redis_conn().await?;
     let keys: Vec<Vec<u8>> = redis.keys(wildcard(category)).await?;
diff --git a/packages/backend-rs/src/misc/check_word_mute.rs b/packages/backend-rs/src/misc/check_word_mute.rs
index 154a9e8537..01ac03212e 100644
--- a/packages/backend-rs/src/misc/check_word_mute.rs
+++ b/packages/backend-rs/src/misc/check_word_mute.rs
@@ -37,7 +37,7 @@ fn check_word_mute_impl(
 ///
 /// # Arguments
 ///
-/// * `note` : [NoteLike] object
+/// * `note` : [PartialNoteToElaborate] object
 /// * `muted_words` : list of muted keyword lists (each array item is a space-separated keyword list that represents an AND condition)
 /// * `muted_patterns` : list of JavaScript-style (e.g., `/foo/i`) regular expressions
 #[crate::export]
diff --git a/packages/backend/package.json b/packages/backend/package.json
index a6ebcbfb79..c87c12e2ea 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -38,7 +38,7 @@
 		"archiver": "7.0.1",
 		"async-lock": "1.4.0",
 		"async-mutex": "0.5.0",
-		"aws-sdk": "2.1631.0",
+		"aws-sdk": "2.1632.0",
 		"axios": "1.7.2",
 		"backend-rs": "workspace:*",
 		"blurhash": "2.0.5",
@@ -132,7 +132,7 @@
 		"@types/escape-regexp": "0.0.3",
 		"@types/fluent-ffmpeg": "2.1.24",
 		"@types/jsdom": "21.1.7",
-		"@types/jsonld": "1.5.13",
+		"@types/jsonld": "1.5.14",
 		"@types/jsrsasign": "10.5.14",
 		"@types/katex": "0.16.7",
 		"@types/koa": "2.15.0",
@@ -146,7 +146,7 @@
 		"@types/koa__multer": "2.0.7",
 		"@types/koa__router": "12.0.4",
 		"@types/mocha": "10.0.6",
-		"@types/node": "20.12.13",
+		"@types/node": "20.13.0",
 		"@types/node-fetch": "2.6.11",
 		"@types/nodemailer": "6.4.15",
 		"@types/oauth": "0.9.5",
diff --git a/packages/client/package.json b/packages/client/package.json
index 54c8311fdb..1cead2a7a5 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -33,7 +33,7 @@
 		"@types/throttle-debounce": "5.0.2",
 		"@types/tinycolor2": "1.4.6",
 		"@types/uuid": "9.0.8",
-		"@vitejs/plugin-vue": "5.0.4",
+		"@vitejs/plugin-vue": "5.0.5",
 		"@vue/runtime-core": "3.4.27",
 		"autobind-decorator": "2.4.0",
 		"autosize": "6.0.1",
diff --git a/packages/firefish-js/package.json b/packages/firefish-js/package.json
index 97a031d7da..fe646fb716 100644
--- a/packages/firefish-js/package.json
+++ b/packages/firefish-js/package.json
@@ -25,7 +25,7 @@
 		"@swc/core": "1.5.24",
 		"@swc/types": "0.1.7",
 		"@types/jest": "29.5.12",
-		"@types/node": "20.12.13",
+		"@types/node": "20.13.0",
 		"jest": "29.7.0",
 		"jest-fetch-mock": "3.0.3",
 		"jest-websocket-mock": "2.5.0",
diff --git a/packages/macro-rs/src/lib.rs b/packages/macro-rs/src/lib.rs
index d723868f83..943dd56cd1 100644
--- a/packages/macro-rs/src/lib.rs
+++ b/packages/macro-rs/src/lib.rs
@@ -25,7 +25,7 @@ pub fn read_version_from_package_json(_item: proc_macro::TokenStream) -> proc_ma
     quote! { #version }.into()
 }
 
-/// Export this function, struct, enum, const, etc. to TypeScript.
+/// Export a function, struct, enum, const, etc. to TypeScript.
 ///
 /// This is a wrapper of [macro@napi] that expands to
 /// ```no_run
@@ -48,7 +48,7 @@ pub fn export(
     .into()
 }
 
-/// Export this function, struct, enum, const, etc. to TypeScript
+/// Export a function, struct, enum, const, etc. to TypeScript
 /// and make it unable to use in Rust.
 ///
 /// This is a wrapper of [macro@napi] that expands to
@@ -84,13 +84,13 @@ pub fn ts_export(
 /// - `js_name` to the camelCase version of the original function name (for functions)
 ///
 /// The types of the function arguments is converted with following rules:
-/// - `&str` and `&mut str` are converted to `String`
-/// - `&[T]` and `&mut [T]` are converted to `Vec<T>`
+/// - `&str` and `&mut str` are converted to [`String`]
+/// - `&[T]` and `&mut [T]` are converted to [`Vec<T>`]
 /// - `&T` and `&mut T` are converted to `T`
 /// - Other `T` remains `T`
 ///
-/// In addition, return type `Result<T>` and `Result<T, E>` are converted to `napi::Result<T>`.
-/// Note that `E` must implement `std::string::ToString` trait.
+/// In addition, return type [`Result<T>`] and [`Result<T, E>`] are converted to [`napi::Result<T>`](https://docs.rs/napi/latest/napi/type.Result.html).
+/// Note that `E` must implement [`std::string::ToString`] trait.
 ///
 /// # Examples
 /// ## Applying the macro to a struct
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c3dc63c378..39e2a4e449 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -28,8 +28,8 @@ importers:
         specifier: 1.7.3
         version: 1.7.3
       '@types/node':
-        specifier: 20.12.13
-        version: 20.12.13
+        specifier: 20.13.0
+        version: 20.13.0
       execa:
         specifier: 9.1.0
         version: 9.1.0
@@ -91,8 +91,8 @@ importers:
         specifier: 0.5.0
         version: 0.5.0
       aws-sdk:
-        specifier: 2.1631.0
-        version: 2.1631.0
+        specifier: 2.1632.0
+        version: 2.1632.0
       axios:
         specifier: 1.7.2
         version: 1.7.2
@@ -323,7 +323,7 @@ importers:
         version: 0.2.3
       typeorm:
         specifier: 0.3.20
-        version: 0.3.20(ioredis@5.4.1)(pg@8.11.5)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+        version: 0.3.20(ioredis@5.4.1)(pg@8.11.5)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       ulid:
         specifier: 2.3.0
         version: 2.3.0
@@ -372,8 +372,8 @@ importers:
         specifier: 21.1.7
         version: 21.1.7
       '@types/jsonld':
-        specifier: 1.5.13
-        version: 1.5.13
+        specifier: 1.5.14
+        version: 1.5.14
       '@types/jsrsasign':
         specifier: 10.5.14
         version: 10.5.14
@@ -414,8 +414,8 @@ importers:
         specifier: 10.0.6
         version: 10.0.6
       '@types/node':
-        specifier: 20.12.13
-        version: 20.12.13
+        specifier: 20.13.0
+        version: 20.13.0
       '@types/node-fetch':
         specifier: 2.6.11
         version: 2.6.11
@@ -505,7 +505,7 @@ importers:
         version: 9.5.1(typescript@5.4.5)(webpack@5.91.0(@swc/core@1.5.24))
       ts-node:
         specifier: 10.9.2
-        version: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)
+        version: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)
       tsconfig-paths:
         specifier: 4.2.0
         version: 4.2.0
@@ -594,8 +594,8 @@ importers:
         specifier: 9.0.8
         version: 9.0.8
       '@vitejs/plugin-vue':
-        specifier: 5.0.4
-        version: 5.0.4(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
+        specifier: 5.0.5
+        version: 5.0.5(vite@5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
       '@vue/runtime-core':
         specifier: 3.4.27
         version: 3.4.27
@@ -748,10 +748,10 @@ importers:
         version: 9.0.1
       vite:
         specifier: 5.2.12
-        version: 5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
+        version: 5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
       vite-plugin-compression:
         specifier: 0.5.1
-        version: 0.5.1(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))
+        version: 0.5.1(vite@5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))
       vue:
         specifier: 3.4.27
         version: 3.4.27(typescript@5.4.5)
@@ -794,11 +794,11 @@ importers:
         specifier: 29.5.12
         version: 29.5.12
       '@types/node':
-        specifier: 20.12.13
-        version: 20.12.13
+        specifier: 20.13.0
+        version: 20.13.0
       jest:
         specifier: 29.7.0
-        version: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+        version: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       jest-fetch-mock:
         specifier: 3.0.3
         version: 3.0.3
@@ -810,10 +810,10 @@ importers:
         version: 9.3.1
       ts-jest:
         specifier: 29.1.4
-        version: 29.1.4(@babel/core@7.24.6)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.6))(jest@29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)))(typescript@5.4.5)
+        version: 29.1.4(@babel/core@7.24.6)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.6))(jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)))(typescript@5.4.5)
       ts-node:
         specifier: 10.9.2
-        version: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)
+        version: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)
       tsd:
         specifier: 0.31.0
         version: 0.31.0
@@ -831,10 +831,10 @@ importers:
         version: 6.2.1
       vite:
         specifier: 5.2.12
-        version: 5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
+        version: 5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
       vite-plugin-compression:
         specifier: 0.5.1
-        version: 0.5.1(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))
+        version: 0.5.1(vite@5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))
 
 packages:
 
@@ -2274,8 +2274,8 @@ packages:
   '@types/json5@0.0.29':
     resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
 
-  '@types/jsonld@1.5.13':
-    resolution: {integrity: sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==}
+  '@types/jsonld@1.5.14':
+    resolution: {integrity: sha512-z4IRf5oRgjPTkazDDv94sjzI5iK3DrDEW7Y5Gk4VO4+ANymgtHtNaXWi93+BmiAoG3PB9QTv5DgSpKWGYVvysA==}
 
   '@types/jsrsasign@10.5.14':
     resolution: {integrity: sha512-lppSlfK6etu+cuKs40K4rg8As79PH6hzIB+v55zSqImbSH3SE6Fm8MBHCiI91cWlAP3Z4igtJK1VL3fSN09blQ==}
@@ -2346,8 +2346,8 @@ packages:
   '@types/node-fetch@2.6.11':
     resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
 
-  '@types/node@20.12.13':
-    resolution: {integrity: sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==}
+  '@types/node@20.13.0':
+    resolution: {integrity: sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==}
 
   '@types/nodemailer@6.4.15':
     resolution: {integrity: sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==}
@@ -2577,8 +2577,8 @@ packages:
     resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
     engines: {node: ^16.0.0 || >=18.0.0}
 
-  '@vitejs/plugin-vue@5.0.4':
-    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
+  '@vitejs/plugin-vue@5.0.5':
+    resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==}
     engines: {node: ^18.0.0 || >=20.0.0}
     peerDependencies:
       vite: ^5.0.0
@@ -2885,8 +2885,8 @@ packages:
     resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
     engines: {node: '>= 0.4'}
 
-  aws-sdk@2.1631.0:
-    resolution: {integrity: sha512-QG1A1bsgy9jKyY20LVxEeB16zEbn3dPIZmVeh/7vk6ukb2+5Vjh0s+E5bVlNHFFXVu6rsviayqGmjr16fJ5I1g==}
+  aws-sdk@2.1632.0:
+    resolution: {integrity: sha512-doNHUxto00r7r9qWb5RcIsQHUTHdGiPPyJoXxmsmQW6aOr69BqYeuFl8SicNS1YzP6s5sFFnDNKq9KB7jA2fyA==}
     engines: {node: '>= 10.0.0'}
 
   axios@0.24.0:
@@ -8594,27 +8594,27 @@ snapshots:
   '@jest/console@29.7.0':
     dependencies:
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       chalk: 4.1.2
       jest-message-util: 29.7.0
       jest-util: 29.7.0
       slash: 3.0.0
 
-  '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))':
+  '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))':
     dependencies:
       '@jest/console': 29.7.0
       '@jest/reporters': 29.7.0
       '@jest/test-result': 29.7.0
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       ansi-escapes: 4.3.2
       chalk: 4.1.2
       ci-info: 3.9.0
       exit: 0.1.2
       graceful-fs: 4.2.11
       jest-changed-files: 29.7.0
-      jest-config: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      jest-config: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       jest-haste-map: 29.7.0
       jest-message-util: 29.7.0
       jest-regex-util: 29.6.3
@@ -8639,7 +8639,7 @@ snapshots:
     dependencies:
       '@jest/fake-timers': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       jest-mock: 29.7.0
 
   '@jest/expect-utils@29.7.0':
@@ -8657,7 +8657,7 @@ snapshots:
     dependencies:
       '@jest/types': 29.6.3
       '@sinonjs/fake-timers': 10.3.0
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       jest-message-util: 29.7.0
       jest-mock: 29.7.0
       jest-util: 29.7.0
@@ -8679,7 +8679,7 @@ snapshots:
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
       '@jridgewell/trace-mapping': 0.3.25
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       chalk: 4.1.2
       collect-v8-coverage: 1.0.2
       exit: 0.1.2
@@ -8749,7 +8749,7 @@ snapshots:
       '@jest/schemas': 29.6.3
       '@types/istanbul-lib-coverage': 2.0.6
       '@types/istanbul-reports': 3.0.4
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       '@types/yargs': 17.0.32
       chalk: 4.1.2
 
@@ -9166,11 +9166,11 @@ snapshots:
 
   '@types/accepts@1.3.7':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/adm-zip@0.5.5':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/async-lock@1.4.0': {}
 
@@ -9200,18 +9200,18 @@ snapshots:
   '@types/body-parser@1.19.5':
     dependencies:
       '@types/connect': 3.4.38
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/cacheable-request@6.0.3':
     dependencies:
       '@types/http-cache-semantics': 4.0.4
       '@types/keyv': 3.1.4
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       '@types/responselike': 1.0.3
 
   '@types/co-body@6.1.3':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       '@types/qs': 6.9.15
 
   '@types/color-convert@2.0.3':
@@ -9222,7 +9222,7 @@ snapshots:
 
   '@types/connect@3.4.38':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/content-disposition@0.5.8': {}
 
@@ -9231,7 +9231,7 @@ snapshots:
       '@types/connect': 3.4.38
       '@types/express': 4.17.21
       '@types/keygrip': 1.0.6
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/disposable-email-domains@1.0.6': {}
 
@@ -9256,7 +9256,7 @@ snapshots:
 
   '@types/express-serve-static-core@4.19.2':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       '@types/qs': 6.9.15
       '@types/range-parser': 1.2.7
       '@types/send': 0.17.4
@@ -9270,20 +9270,20 @@ snapshots:
 
   '@types/fluent-ffmpeg@2.1.24':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/formidable@2.0.6':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/glob@8.1.0':
     dependencies:
       '@types/minimatch': 5.1.2
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/graceful-fs@4.1.9':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/http-assert@1.5.5': {}
 
@@ -9310,7 +9310,7 @@ snapshots:
 
   '@types/jsdom@21.1.7':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       '@types/tough-cookie': 4.0.5
       parse5: 7.1.2
 
@@ -9318,7 +9318,7 @@ snapshots:
 
   '@types/json5@0.0.29': {}
 
-  '@types/jsonld@1.5.13': {}
+  '@types/jsonld@1.5.14': {}
 
   '@types/jsrsasign@10.5.14': {}
 
@@ -9328,7 +9328,7 @@ snapshots:
 
   '@types/keyv@3.1.4':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/koa-bodyparser@4.3.12':
     dependencies:
@@ -9367,7 +9367,7 @@ snapshots:
       '@types/http-errors': 2.0.4
       '@types/keygrip': 1.0.6
       '@types/koa-compose': 3.2.8
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/koa__cors@5.0.0':
     dependencies:
@@ -9397,32 +9397,32 @@ snapshots:
 
   '@types/needle@3.3.0':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/node-fetch@2.6.11':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       form-data: 4.0.0
 
-  '@types/node@20.12.13':
+  '@types/node@20.13.0':
     dependencies:
       undici-types: 5.26.5
 
   '@types/nodemailer@6.4.15':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/normalize-package-data@2.4.4': {}
 
   '@types/oauth@0.9.5':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/opencc-js@1.0.3': {}
 
   '@types/pg@8.11.6':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       pg-protocol: 1.6.1
       pg-types: 4.0.2
 
@@ -9431,7 +9431,7 @@ snapshots:
   '@types/probe-image-size@7.2.4':
     dependencies:
       '@types/needle': 3.3.0
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/pug@2.0.10': {}
 
@@ -9439,7 +9439,7 @@ snapshots:
 
   '@types/qrcode@1.5.5':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/qs@6.9.15': {}
 
@@ -9453,7 +9453,7 @@ snapshots:
 
   '@types/responselike@1.0.3':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/sanitize-html@2.11.0':
     dependencies:
@@ -9466,12 +9466,12 @@ snapshots:
   '@types/send@0.17.4':
     dependencies:
       '@types/mime': 1.3.5
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/serve-static@1.15.7':
     dependencies:
       '@types/http-errors': 2.0.4
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       '@types/send': 0.17.4
 
   '@types/sinonjs__fake-timers@8.1.5': {}
@@ -9498,11 +9498,11 @@ snapshots:
 
   '@types/websocket@1.0.10':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/ws@8.5.10':
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
 
   '@types/yargs-parser@21.0.3': {}
 
@@ -9682,9 +9682,9 @@ snapshots:
       '@typescript-eslint/types': 6.21.0
       eslint-visitor-keys: 3.4.3
 
-  '@vitejs/plugin-vue@5.0.4(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
+  '@vitejs/plugin-vue@5.0.5(vite@5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
     dependencies:
-      vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
+      vite: 5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
       vue: 3.4.27(typescript@5.4.5)
 
   '@volar/language-core@2.2.5':
@@ -10053,7 +10053,7 @@ snapshots:
     dependencies:
       possible-typed-array-names: 1.0.0
 
-  aws-sdk@2.1631.0:
+  aws-sdk@2.1632.0:
     dependencies:
       buffer: 4.9.2
       events: 1.1.1
@@ -10636,13 +10636,13 @@ snapshots:
       crc-32: 1.2.2
       readable-stream: 4.5.2
 
-  create-jest@29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)):
+  create-jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)):
     dependencies:
       '@jest/types': 29.6.3
       chalk: 4.1.2
       exit: 0.1.2
       graceful-fs: 4.2.11
-      jest-config: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      jest-config: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       jest-util: 29.7.0
       prompts: 2.4.2
     transitivePeerDependencies:
@@ -10839,7 +10839,7 @@ snapshots:
 
   deepl-node@1.13.0:
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       axios: 1.7.2
       form-data: 3.0.1
       loglevel: 1.9.1
@@ -12455,7 +12455,7 @@ snapshots:
       '@jest/expect': 29.7.0
       '@jest/test-result': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       chalk: 4.1.2
       co: 4.6.0
       dedent: 1.5.3
@@ -12475,16 +12475,16 @@ snapshots:
       - babel-plugin-macros
       - supports-color
 
-  jest-cli@29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)):
+  jest-cli@29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)):
     dependencies:
-      '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       '@jest/test-result': 29.7.0
       '@jest/types': 29.6.3
       chalk: 4.1.2
-      create-jest: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      create-jest: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       exit: 0.1.2
       import-local: 3.1.0
-      jest-config: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      jest-config: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       jest-util: 29.7.0
       jest-validate: 29.7.0
       yargs: 17.7.2
@@ -12494,7 +12494,7 @@ snapshots:
       - supports-color
       - ts-node
 
-  jest-config@29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)):
+  jest-config@29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)):
     dependencies:
       '@babel/core': 7.24.6
       '@jest/test-sequencer': 29.7.0
@@ -12519,8 +12519,8 @@ snapshots:
       slash: 3.0.0
       strip-json-comments: 3.1.1
     optionalDependencies:
-      '@types/node': 20.12.13
-      ts-node: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)
+      '@types/node': 20.13.0
+      ts-node: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)
     transitivePeerDependencies:
       - babel-plugin-macros
       - supports-color
@@ -12549,7 +12549,7 @@ snapshots:
       '@jest/environment': 29.7.0
       '@jest/fake-timers': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       jest-mock: 29.7.0
       jest-util: 29.7.0
 
@@ -12566,7 +12566,7 @@ snapshots:
     dependencies:
       '@jest/types': 29.6.3
       '@types/graceful-fs': 4.1.9
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       anymatch: 3.1.3
       fb-watchman: 2.0.2
       graceful-fs: 4.2.11
@@ -12605,7 +12605,7 @@ snapshots:
   jest-mock@29.7.0:
     dependencies:
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       jest-util: 29.7.0
 
   jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
@@ -12640,7 +12640,7 @@ snapshots:
       '@jest/test-result': 29.7.0
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       chalk: 4.1.2
       emittery: 0.13.1
       graceful-fs: 4.2.11
@@ -12668,7 +12668,7 @@ snapshots:
       '@jest/test-result': 29.7.0
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       chalk: 4.1.2
       cjs-module-lexer: 1.3.1
       collect-v8-coverage: 1.0.2
@@ -12714,7 +12714,7 @@ snapshots:
   jest-util@29.7.0:
     dependencies:
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       chalk: 4.1.2
       ci-info: 3.9.0
       graceful-fs: 4.2.11
@@ -12733,7 +12733,7 @@ snapshots:
     dependencies:
       '@jest/test-result': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       ansi-escapes: 4.3.2
       chalk: 4.1.2
       emittery: 0.13.1
@@ -12747,23 +12747,23 @@ snapshots:
 
   jest-worker@27.5.1:
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       merge-stream: 2.0.0
       supports-color: 8.1.1
 
   jest-worker@29.7.0:
     dependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       jest-util: 29.7.0
       merge-stream: 2.0.0
       supports-color: 8.1.1
 
-  jest@29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)):
+  jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)):
     dependencies:
-      '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       '@jest/types': 29.6.3
       import-local: 3.1.0
-      jest-cli: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      jest-cli: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
     transitivePeerDependencies:
       - '@types/node'
       - babel-plugin-macros
@@ -14878,11 +14878,11 @@ snapshots:
     dependencies:
       typescript: 5.4.5
 
-  ts-jest@29.1.4(@babel/core@7.24.6)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.6))(jest@29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)))(typescript@5.4.5):
+  ts-jest@29.1.4(@babel/core@7.24.6)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.6))(jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)))(typescript@5.4.5):
     dependencies:
       bs-logger: 0.2.6
       fast-json-stable-stringify: 2.1.0
-      jest: 29.7.0(@types/node@20.12.13)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5))
+      jest: 29.7.0(@types/node@20.13.0)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5))
       jest-util: 29.7.0
       json5: 2.2.3
       lodash.memoize: 4.1.2
@@ -14906,14 +14906,14 @@ snapshots:
       typescript: 5.4.5
       webpack: 5.91.0(@swc/core@1.5.24)
 
-  ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5):
+  ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5):
     dependencies:
       '@cspotcode/source-map-support': 0.8.1
       '@tsconfig/node10': 1.0.11
       '@tsconfig/node12': 1.0.11
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.4
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       acorn: 8.11.3
       acorn-walk: 8.3.2
       arg: 4.1.3
@@ -15026,7 +15026,7 @@ snapshots:
 
   typedarray@0.0.6: {}
 
-  typeorm@0.3.20(ioredis@5.4.1)(pg@8.11.5)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)):
+  typeorm@0.3.20(ioredis@5.4.1)(pg@8.11.5)(ts-node@10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)):
     dependencies:
       '@sqltools/formatter': 1.2.5
       app-root-path: 3.1.0
@@ -15046,7 +15046,7 @@ snapshots:
     optionalDependencies:
       ioredis: 5.4.1
       pg: 8.11.5
-      ts-node: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.12.13)(typescript@5.4.5)
+      ts-node: 10.9.2(@swc/core@1.5.24)(@swc/wasm@1.2.130)(@types/node@20.13.0)(typescript@5.4.5)
     transitivePeerDependencies:
       - supports-color
 
@@ -15164,22 +15164,22 @@ snapshots:
       core-util-is: 1.0.2
       extsprintf: 1.3.0
 
-  vite-plugin-compression@0.5.1(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)):
+  vite-plugin-compression@0.5.1(vite@5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)):
     dependencies:
       chalk: 4.1.2
       debug: 4.3.4(supports-color@8.1.1)
       fs-extra: 10.1.0
-      vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
+      vite: 5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0)
     transitivePeerDependencies:
       - supports-color
 
-  vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0):
+  vite@5.2.12(@types/node@20.13.0)(sass@1.77.4)(stylus@0.57.0)(terser@5.31.0):
     dependencies:
       esbuild: 0.20.2
       postcss: 8.4.38
       rollup: 4.17.2
     optionalDependencies:
-      '@types/node': 20.12.13
+      '@types/node': 20.13.0
       fsevents: 2.3.3
       sass: 1.77.4
       stylus: 0.57.0