From d5d09d849b186f3e6ee224d45a6fb9e4d37ed779 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 12:49:47 +0900 Subject: [PATCH 01/20] docs: fix typo --- docs/notice-for-admins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notice-for-admins.md b/docs/notice-for-admins.md index 7b18882a2f..fdc501a8df 100644 --- a/docs/notice-for-admins.md +++ b/docs/notice-for-admins.md @@ -19,7 +19,7 @@ The full-text search engine used in Firefish has been changed to [PGroonga](http [Edit (2024/03/23 23:55 UTC+9)] ~~**Warning**: You may fail to install PGroonga, since the package registry of Apache Arrow (one of the subdependencies of PGroonga) is currently down ([GitHub issue](https://github.com/apache/arrow/issues/40759)). We recommend that you hold off on upgrading until this problem is resolved.~~ -[Edit (2025/03/25 22:31 UTC+9)] The Apache Arrow repository is now back up and running again. +[Edit (2024/03/25 22:31 UTC+9)] The Apache Arrow repository is now back up and running again. #### 1. Install PGroonga From 4e2c7e14bf0209a361cec8013932dd4befdb6b93 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 13:02:46 +0900 Subject: [PATCH 02/20] chore: add --frozen to cargo flags --- packages/backend-rs/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend-rs/package.json b/packages/backend-rs/package.json index 94f1517448..39a42f2909 100644 --- a/packages/backend-rs/package.json +++ b/packages/backend-rs/package.json @@ -33,8 +33,8 @@ }, "scripts": { "artifacts": "napi artifacts", - "build": "napi build --features napi --platform --release --cargo-flags=--locked ./built/", - "build:debug": "napi build --features napi --platform --cargo-flags=--locked ./built/", + "build": "napi build --features napi --platform --release --cargo-flags='--locked --frozen' ./built/", + "build:debug": "napi build --features napi --platform --cargo-flags='--locked --frozen' ./built/", "prepublishOnly": "napi prepublish -t npm", "test": "pnpm run cargo:test && pnpm run build:napi && ava", "universal": "napi universal", From 9ee78049904a1f0b134ce7cf8de70373615412a4 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 13:11:06 +0900 Subject: [PATCH 03/20] fix (backend-rs): update package.json --- packages/backend-rs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend-rs/package.json b/packages/backend-rs/package.json index 39a42f2909..80873d6984 100644 --- a/packages/backend-rs/package.json +++ b/packages/backend-rs/package.json @@ -36,7 +36,7 @@ "build": "napi build --features napi --platform --release --cargo-flags='--locked --frozen' ./built/", "build:debug": "napi build --features napi --platform --cargo-flags='--locked --frozen' ./built/", "prepublishOnly": "napi prepublish -t npm", - "test": "pnpm run cargo:test && pnpm run build:napi && ava", + "test": "pnpm run cargo:test && pnpm run build:debug && ava", "universal": "napi universal", "version": "napi version", "format": "cargo fmt --all --", From bd5e95a1f069651b306a8809fce18adb630549a7 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 19:13:28 +0900 Subject: [PATCH 04/20] chore: remove unused import --- packages/backend/src/server/api/endpoints/notes/edit.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/backend/src/server/api/endpoints/notes/edit.ts b/packages/backend/src/server/api/endpoints/notes/edit.ts index 6a699ee25c..504e6013d9 100644 --- a/packages/backend/src/server/api/endpoints/notes/edit.ts +++ b/packages/backend/src/server/api/endpoints/notes/edit.ts @@ -34,7 +34,6 @@ import renderUpdate from "@/remote/activitypub/renderer/update.js"; import { deliverToRelays } from "@/services/relay.js"; // import { deliverQuestionUpdate } from "@/services/note/polls/update.js"; import { langmap } from "@/misc/langmap.js"; -import detectLanguage from "@/misc/detect-language.js"; export const meta = { tags: ["notes"], From d1d0328f8b046aaaf65b98b70ab4237b2e22fa2a Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 19:42:19 +0900 Subject: [PATCH 05/20] fix (backend): update note_file on note edits TODO: move these processes to services/note/edit.ts --- packages/backend/src/server/api/endpoints/notes/edit.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/backend/src/server/api/endpoints/notes/edit.ts b/packages/backend/src/server/api/endpoints/notes/edit.ts index 504e6013d9..34d94157e6 100644 --- a/packages/backend/src/server/api/endpoints/notes/edit.ts +++ b/packages/backend/src/server/api/endpoints/notes/edit.ts @@ -9,6 +9,7 @@ import { UserProfiles, Polls, NoteEdits, + NoteFiles, } from "@/models/index.js"; import type { DriveFile } from "@/models/entities/drive-file.js"; import type { IMentionedRemoteUsers, Note } from "@/models/entities/note.js"; @@ -605,6 +606,13 @@ export default define(meta, paramDef, async (ps, user) => { update.updatedAt = new Date(); await Notes.update(note.id, update); + if (update.fileIds != null) { + await NoteFiles.delete({ noteId: note.id }); + await NoteFiles.insert( + update.fileIds.map((fileId) => ({ noteId: note.id, fileId })), + ); + } + // Add NoteEdit history for the previous one await NoteEdits.insert({ id: genId(), From 5e2b8d3be0d974f0f1e66437633a8006fc265174 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 19:43:11 +0900 Subject: [PATCH 06/20] chore: add a function to compare two arrays --- packages/backend/src/prelude/array.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/prelude/array.ts b/packages/backend/src/prelude/array.ts index 71a24c89b7..20ffbcd339 100644 --- a/packages/backend/src/prelude/array.ts +++ b/packages/backend/src/prelude/array.ts @@ -3,7 +3,6 @@ import type { EndoRelation, Predicate } from "./relation.js"; /** * Count the number of elements that satisfy the predicate */ - export function countIf(f: Predicate, xs: T[]): number { return xs.filter(f).length; } @@ -60,6 +59,21 @@ export function maximum(xs: number[]): number { return Math.max(...xs); } +/** + * Returns if two arrays are equal + * + * examples: + * equal([1, 2, 3], [1, 2, 3]) === true + * equal([1, 2, 3], [1, 3, 2]) === false + * equal([1, 2, 3], [1, 2]) === false + */ +export function equal(lhs: T[], rhs: T[]): boolean { + return ( + lhs.length === rhs.length && + lhs.every((value, index) => value === rhs[index]) + ); +} + /** * Splits an array based on the equivalence relation. * The concatenation of the result is equal to the argument. From 400f227237f142cab5e5bec823461cfbb5d066c8 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 20:33:42 +0900 Subject: [PATCH 07/20] refactor (client): move detectLanguage to scripts/language-utils.ts --- packages/client/src/components/MkNote.vue | 2 +- packages/client/src/components/MkNoteSub.vue | 2 +- packages/client/src/components/MkPostForm.vue | 9 +++++++-- packages/client/src/scripts/detect-language.ts | 11 ----------- packages/client/src/scripts/language-utils.ts | 13 ++++++++++++- 5 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 packages/client/src/scripts/detect-language.ts diff --git a/packages/client/src/components/MkNote.vue b/packages/client/src/components/MkNote.vue index e13050206b..c06069a60b 100644 --- a/packages/client/src/components/MkNote.vue +++ b/packages/client/src/components/MkNote.vue @@ -286,7 +286,7 @@ import XStarButtonNoEmoji from "@/components/MkStarButtonNoEmoji.vue"; import XQuoteButton from "@/components/MkQuoteButton.vue"; import MkVisibility from "@/components/MkVisibility.vue"; import copyToClipboard from "@/scripts/copy-to-clipboard"; -import detectLanguage from "@/scripts/detect-language"; +import { detectLanguage } from "@/scripts/language-utils"; import { url } from "@/config"; import { pleaseLogin } from "@/scripts/please-login"; import { focusNext, focusPrev } from "@/scripts/focus"; diff --git a/packages/client/src/components/MkNoteSub.vue b/packages/client/src/components/MkNoteSub.vue index b8007ec945..07192497d3 100644 --- a/packages/client/src/components/MkNoteSub.vue +++ b/packages/client/src/components/MkNoteSub.vue @@ -201,7 +201,7 @@ import XStarButtonNoEmoji from "@/components/MkStarButtonNoEmoji.vue"; import XRenoteButton from "@/components/MkRenoteButton.vue"; import XQuoteButton from "@/components/MkQuoteButton.vue"; import copyToClipboard from "@/scripts/copy-to-clipboard"; -import detectLanguage from "@/scripts/detect-language"; +import { detectLanguage } from "@/scripts/language-utils"; import { url } from "@/config"; import { pleaseLogin } from "@/scripts/please-login"; import { getNoteMenu } from "@/scripts/get-note-menu"; diff --git a/packages/client/src/components/MkPostForm.vue b/packages/client/src/components/MkPostForm.vue index b3245fa815..4f670d859d 100644 --- a/packages/client/src/components/MkPostForm.vue +++ b/packages/client/src/components/MkPostForm.vue @@ -329,9 +329,14 @@ import XCheatSheet from "@/components/MkCheatSheetDialog.vue"; import preprocess from "@/scripts/preprocess"; import { vibrate } from "@/scripts/vibrate"; import { langmap } from "@/scripts/langmap"; -import { isSupportedLang, isSameLanguage, languageContains, parentLanguage } from "@/scripts/language-utils"; +import { + detectLanguage, + isSupportedLang, + isSameLanguage, + languageContains, + parentLanguage, +} from "@/scripts/language-utils"; import type { MenuItem } from "@/types/menu"; -import detectLanguage from "@/scripts/detect-language"; import icon from "@/scripts/icon"; const modal = inject("modal"); diff --git a/packages/client/src/scripts/detect-language.ts b/packages/client/src/scripts/detect-language.ts deleted file mode 100644 index 6147247dee..0000000000 --- a/packages/client/src/scripts/detect-language.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { detect } from "tinyld"; -import * as mfm from "mfm-js"; - -export default function detectLanguage(text: string): string { - const nodes = mfm.parse(text); - const filtered = mfm.extract(nodes, (node) => { - return node.type === "text" || node.type === "quote"; - }); - const purified = mfm.toString(filtered); - return detect(purified); -} diff --git a/packages/client/src/scripts/language-utils.ts b/packages/client/src/scripts/language-utils.ts index 32591e6eea..19fe1dea01 100644 --- a/packages/client/src/scripts/language-utils.ts +++ b/packages/client/src/scripts/language-utils.ts @@ -1,4 +1,15 @@ -import { supportedLangs } from "@/scripts/langmap" +import { supportedLangs } from "@/scripts/langmap"; +import { detect } from "tinyld"; +import * as mfm from "mfm-js"; + +export function detectLanguage(text: string): string { + const nodes = mfm.parse(text); + const filtered = mfm.extract(nodes, (node) => { + return node.type === "text" || node.type === "quote"; + }); + const purified = mfm.toString(filtered); + return detect(purified); +} export function isSupportedLang(langCode: string | null) { if (!langCode) return false; From 6cd5dc2fcb4c54bcc8f856ce71cca61caae0a7c1 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 20:46:44 +0900 Subject: [PATCH 08/20] chore: update dependencies except for adm-zip --- package.json | 10 +- packages/backend-rs/Cargo.lock | 88 ++++----- packages/backend-rs/Cargo.toml | 8 +- packages/backend/package.json | 16 +- packages/client/package.json | 4 +- packages/firefish-js/package.json | 2 +- packages/sw/package.json | 2 +- pnpm-lock.yaml | 297 +++++++++++++++--------------- 8 files changed, 212 insertions(+), 215 deletions(-) diff --git a/package.json b/package.json index 6604a3f094..b5a87aa812 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ "gulp-terser": "2.1.0" }, "devDependencies": { - "@biomejs/biome": "1.6.2", - "@biomejs/cli-darwin-arm64": "^1.6.2", - "@biomejs/cli-darwin-x64": "^1.6.2", - "@biomejs/cli-linux-arm64": "^1.6.2", - "@biomejs/cli-linux-x64": "^1.6.2", + "@biomejs/biome": "1.6.3", + "@biomejs/cli-darwin-arm64": "^1.6.3", + "@biomejs/cli-darwin-x64": "^1.6.3", + "@biomejs/cli-linux-arm64": "^1.6.3", + "@biomejs/cli-linux-x64": "^1.6.3", "@types/node": "20.11.30", "execa": "8.0.1", "pnpm": "8.15.5", diff --git a/packages/backend-rs/Cargo.lock b/packages/backend-rs/Cargo.lock index 99e3b27428..02d294df58 100644 --- a/packages/backend-rs/Cargo.lock +++ b/packages/backend-rs/Cargo.lock @@ -157,18 +157,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] name = "async-trait" -version = "0.1.78" +version = "0.1.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85" +checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -182,9 +182,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "backend-rs" @@ -326,7 +326,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", "syn_derive", ] @@ -411,9 +411,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.3" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -433,14 +433,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.3" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -542,7 +542,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" dependencies = [ "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -688,9 +688,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "finl_unicode" @@ -1066,7 +1066,7 @@ checksum = "0122b7114117e64a63ac49f752a5ca4624d534c7b1c7de796ac196381cd2d947" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1095,9 +1095,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" @@ -1261,9 +1261,9 @@ dependencies = [ [[package]] name = "napi" -version = "2.16.0" +version = "2.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a63d0570e4c3e0daf7a8d380563610e159f538e20448d6c911337246f40e84" +checksum = "c4ca998356d8ff9fba7a070dae4508a2298439c98c9f3bc9c07669538b999e8f" dependencies = [ "bitflags 2.5.0", "ctor", @@ -1281,23 +1281,23 @@ checksum = "2f9130fccc5f763cf2069b34a089a18f0d0883c66aceb81f2fad541a3d823c43" [[package]] name = "napi-derive" -version = "2.16.0" +version = "2.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bb7c37e3c1dda9312fdbe4a9fc7507fca72288ba154ec093e2d49114e727ce" +checksum = "b138cecf1141ae0ff5d62f4aa0e2f269aec339f66070f346ba6fb4279f1fc178" dependencies = [ "cfg-if", "convert_case", "napi-derive-backend", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] name = "napi-derive-backend" -version = "1.0.62" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f785a8b8d7b83e925f5aa6d2ae3c159d17fe137ac368dc185bef410e7acdaeb4" +checksum = "ce5126b64f6ad9e28e30e6d15213dd378626b38f556454afebc42f7f02a90902" dependencies = [ "convert_case", "once_cell", @@ -1305,7 +1305,7 @@ dependencies = [ "quote", "regex", "semver", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1487,7 +1487,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1536,7 +1536,7 @@ dependencies = [ "regex", "regex-syntax 0.7.5", "structmeta", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2003,7 +2003,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2044,7 +2044,7 @@ dependencies = [ "proc-macro2", "quote", "sea-bae", - "syn 2.0.53", + "syn 2.0.55", "unicode-ident", ] @@ -2110,7 +2110,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2126,9 +2126,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ "itoa", "ryu", @@ -2513,7 +2513,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2524,7 +2524,7 @@ checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2552,9 +2552,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.53" +version = "2.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" dependencies = [ "proc-macro2", "quote", @@ -2570,7 +2570,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2635,7 +2635,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2711,7 +2711,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2782,7 +2782,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2931,7 +2931,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", "wasm-bindgen-shared", ] @@ -2965,7 +2965,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3194,7 +3194,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] diff --git a/packages/backend-rs/Cargo.toml b/packages/backend-rs/Cargo.toml index 3aecbef10a..fba44dca38 100644 --- a/packages/backend-rs/Cargo.toml +++ b/packages/backend-rs/Cargo.toml @@ -12,7 +12,7 @@ napi = ["dep:napi", "dep:napi-derive"] crate-type = ["cdylib", "lib"] [dependencies] -async-trait = "0.1.78" +async-trait = "0.1.79" cfg-if = "1.0.0" chrono = "0.4.35" cuid2 = "0.1.2" @@ -23,13 +23,13 @@ rand = "0.8.5" schemars = { version = "0.8.16", features = ["chrono"] } sea-orm = { version = "0.12.15", features = ["sqlx-postgres", "runtime-tokio-rustls"] } serde = { version = "1.0.197", features = ["derive"] } -serde_json = "1.0.114" +serde_json = "1.0.115" thiserror = "1.0.58" tokio = { version = "1.36.0", features = ["full"] } # Default enable napi4 feature, see https://nodejs.org/api/n-api.html#node-api-version-matrix -napi = { version = "2.16.0", default-features = false, features = ["napi9", "tokio_rt"], optional = true } -napi-derive = { version = "2.16.0", optional = true } +napi = { version = "2.16.1", default-features = false, features = ["napi9", "tokio_rt"], optional = true } +napi-derive = { version = "2.16.1", optional = true } basen = "0.1.0" [dev-dependencies] diff --git a/packages/backend/package.json b/packages/backend/package.json index 6914a2c329..af0821e3ad 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -22,30 +22,30 @@ "@swc/core-android-arm64": "1.3.11" }, "dependencies": { - "@bull-board/api": "5.15.1", - "@bull-board/koa": "5.15.1", - "@bull-board/ui": "5.15.1", + "@bull-board/api": "5.15.2", + "@bull-board/koa": "5.15.2", + "@bull-board/ui": "5.15.2", "@discordapp/twemoji": "^15.0.2", "@koa/cors": "5.0.0", "@koa/multer": "3.0.2", "@koa/router": "12.0.1", "@ladjs/koa-views": "9.0.0", "@peertube/http-signature": "1.7.0", - "@redocly/openapi-core": "1.10.5", + "@redocly/openapi-core": "1.10.6", "@sinonjs/fake-timers": "11.2.2", "@twemoji/parser": "^15.0.0", "adm-zip": "0.5.10", "ajv": "8.12.0", "archiver": "7.0.1", "argon2": "^0.40.1", - "aws-sdk": "2.1584.0", + "aws-sdk": "2.1585.0", "axios": "^1.6.8", "backend-rs": "workspace:*", "bcryptjs": "2.4.3", "blurhash": "2.0.5", "bull": "4.12.2", "cacheable-lookup": "TheEssem/cacheable-lookup", - "cbor-x": "^1.5.8", + "cbor-x": "^1.5.9", "chalk": "5.3.0", "chalk-template": "1.1.0", "cli-highlight": "2.1.11", @@ -62,7 +62,7 @@ "form-data": "^4.0.0", "got": "14.2.1", "gunzip-maybe": "^1.4.2", - "happy-dom": "^14.3.1", + "happy-dom": "^14.3.8", "hpagent": "1.2.0", "ioredis": "5.3.2", "ip-cidr": "4.0.0", @@ -129,7 +129,7 @@ }, "devDependencies": { "@swc/cli": "0.3.10", - "@swc/core": "1.4.8", + "@swc/core": "1.4.11", "@types/adm-zip": "^0.5.5", "@types/bcryptjs": "2.4.6", "@types/color-convert": "^2.0.3", diff --git a/packages/client/package.json b/packages/client/package.json index a24e24be8d..f45cac80d5 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -59,7 +59,7 @@ "idb-keyval": "6.2.1", "insert-text-at-cursor": "0.3.0", "json5": "2.2.3", - "katex": "0.16.9", + "katex": "0.16.10", "libopenmpt-wasm": "github:TheEssem/libopenmpt-packaging#build", "matter-js": "0.19.0", "mfm-js": "0.24.0", @@ -83,7 +83,7 @@ "typescript": "5.4.3", "unicode-emoji-json": "^0.6.0", "uuid": "9.0.1", - "vite": "5.2.4", + "vite": "5.2.6", "vite-plugin-compression": "^0.5.1", "vue": "3.4.21", "vue-draggable-plus": "^0.3.5", diff --git a/packages/firefish-js/package.json b/packages/firefish-js/package.json index 1cb7a5bbb6..6251025b61 100644 --- a/packages/firefish-js/package.json +++ b/packages/firefish-js/package.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@swc/cli": "0.3.10", - "@swc/core": "1.4.8", + "@swc/core": "1.4.11", "@swc/types": "^0.1.6", "@types/jest": "^29.5.12", "@types/node": "20.11.30", diff --git a/packages/sw/package.json b/packages/sw/package.json index 6791793e42..b701b36b22 100644 --- a/packages/sw/package.json +++ b/packages/sw/package.json @@ -11,7 +11,7 @@ "devDependencies": { "firefish-js": "workspace:*", "idb-keyval": "^6.2.1", - "vite": "5.2.4", + "vite": "5.2.6", "vite-plugin-compression": "^0.5.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0faf2f9ed6..e4a58c1630 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,20 +25,20 @@ importers: version: 4.1.0 devDependencies: '@biomejs/biome': - specifier: 1.6.2 - version: 1.6.2 + specifier: 1.6.3 + version: 1.6.3 '@biomejs/cli-darwin-arm64': - specifier: ^1.6.2 - version: 1.6.2 + specifier: ^1.6.3 + version: 1.6.3 '@biomejs/cli-darwin-x64': - specifier: ^1.6.2 - version: 1.6.2 + specifier: ^1.6.3 + version: 1.6.3 '@biomejs/cli-linux-arm64': - specifier: ^1.6.2 - version: 1.6.2 + specifier: ^1.6.3 + version: 1.6.3 '@biomejs/cli-linux-x64': - specifier: ^1.6.2 - version: 1.6.2 + specifier: ^1.6.3 + version: 1.6.3 '@types/node': specifier: 20.11.30 version: 20.11.30 @@ -55,14 +55,14 @@ importers: packages/backend: dependencies: '@bull-board/api': - specifier: 5.15.1 - version: 5.15.1(@bull-board/ui@5.15.1) + specifier: 5.15.2 + version: 5.15.2(@bull-board/ui@5.15.2) '@bull-board/koa': - specifier: 5.15.1 - version: 5.15.1(@types/koa@2.15.0)(pug@3.0.2) + specifier: 5.15.2 + version: 5.15.2(@types/koa@2.15.0)(pug@3.0.2) '@bull-board/ui': - specifier: 5.15.1 - version: 5.15.1 + specifier: 5.15.2 + version: 5.15.2 '@discordapp/twemoji': specifier: ^15.0.2 version: 15.0.2 @@ -82,8 +82,8 @@ importers: specifier: 1.7.0 version: 1.7.0 '@redocly/openapi-core': - specifier: 1.10.5 - version: 1.10.5 + specifier: 1.10.6 + version: 1.10.6 '@sinonjs/fake-timers': specifier: 11.2.2 version: 11.2.2 @@ -103,8 +103,8 @@ importers: specifier: ^0.40.1 version: 0.40.1 aws-sdk: - specifier: 2.1584.0 - version: 2.1584.0 + specifier: 2.1585.0 + version: 2.1585.0 axios: specifier: ^1.6.8 version: 1.6.8 @@ -124,8 +124,8 @@ importers: specifier: TheEssem/cacheable-lookup version: github.com/TheEssem/cacheable-lookup/dd2fb616366a3c68dcf321a57a67295967b204bf cbor-x: - specifier: ^1.5.8 - version: 1.5.8 + specifier: ^1.5.9 + version: 1.5.9 chalk: specifier: 5.3.0 version: 5.3.0 @@ -175,8 +175,8 @@ importers: specifier: ^1.4.2 version: 1.4.2 happy-dom: - specifier: ^14.3.1 - version: 14.3.1 + specifier: ^14.3.8 + version: 14.3.8 hpagent: specifier: 1.2.0 version: 1.2.0 @@ -373,10 +373,10 @@ importers: devDependencies: '@swc/cli': specifier: 0.3.10 - version: 0.3.10(@swc/core@1.4.8) + version: 0.3.10(@swc/core@1.4.11) '@swc/core': - specifier: 1.4.8 - version: 1.4.8 + specifier: 1.4.11 + version: 1.4.11 '@types/adm-zip': specifier: ^0.5.5 version: 0.5.5 @@ -526,13 +526,13 @@ importers: version: 2.0.0 swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.4.8)(webpack@5.91.0) + version: 0.2.6(@swc/core@1.4.11)(webpack@5.91.0) ts-loader: specifier: 9.5.1 version: 9.5.1(typescript@5.4.3)(webpack@5.91.0) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.3) + version: 10.9.2(@swc/core@1.4.11)(@types/node@20.11.30)(typescript@5.4.3) tsconfig-paths: specifier: 4.2.0 version: 4.2.0 @@ -541,7 +541,7 @@ importers: version: 5.4.3 webpack: specifier: ^5.91.0 - version: 5.91.0(@swc/core@1.4.8) + version: 5.91.0(@swc/core@1.4.11) ws: specifier: 8.16.0 version: 8.16.0 @@ -622,7 +622,7 @@ importers: version: 9.0.8 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.4)(vue@3.4.21) + version: 5.0.4(vite@5.2.6)(vue@3.4.21) '@vue/runtime-core': specifier: 3.4.21 version: 3.4.21 @@ -702,8 +702,8 @@ importers: specifier: 2.2.3 version: 2.2.3 katex: - specifier: 0.16.9 - version: 0.16.9 + specifier: 0.16.10 + version: 0.16.10 libopenmpt-wasm: specifier: github:TheEssem/libopenmpt-packaging#build version: github.com/TheEssem/libopenmpt-packaging/d05d151a72b638c6312227af0417aca69521172c @@ -774,11 +774,11 @@ importers: specifier: 9.0.1 version: 9.0.1 vite: - specifier: 5.2.4 - version: 5.2.4(@types/node@20.11.30)(sass@1.72.0) + specifier: 5.2.6 + version: 5.2.6(@types/node@20.11.30)(sass@1.72.0) vite-plugin-compression: specifier: ^0.5.1 - version: 0.5.1(vite@5.2.4) + version: 0.5.1(vite@5.2.6) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -807,10 +807,10 @@ importers: devDependencies: '@swc/cli': specifier: 0.3.10 - version: 0.3.10(@swc/core@1.4.8) + version: 0.3.10(@swc/core@1.4.11) '@swc/core': - specifier: 1.4.8 - version: 1.4.8 + specifier: 1.4.11 + version: 1.4.11 '@swc/types': specifier: ^0.1.6 version: 0.1.6 @@ -837,7 +837,7 @@ importers: version: 29.1.2(@babel/core@7.23.2)(jest@29.7.0)(typescript@5.4.3) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.3) + version: 10.9.2(@swc/core@1.4.11)(@types/node@20.11.30)(typescript@5.4.3) tsd: specifier: ^0.30.7 version: 0.30.7 @@ -972,11 +972,11 @@ importers: specifier: ^6.2.1 version: 6.2.1 vite: - specifier: 5.2.4 - version: 5.2.4(@types/node@20.11.30)(sass@1.72.0) + specifier: 5.2.6 + version: 5.2.6(@types/node@20.11.30)(sass@1.72.0) vite-plugin-compression: specifier: ^0.5.1 - version: 0.5.1(vite@5.2.4) + version: 0.5.1(vite@5.2.6) packages: @@ -1536,38 +1536,38 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@biomejs/biome@1.6.2: - resolution: {integrity: sha512-vw6JhYnpLRRDaawI+d7NaQj17F7LSSJrgT03IQUETwRUG3Q1/a4ByJRphTVXPuhiTnaKVmUlEF3I5NSitcdD+g==} + /@biomejs/biome@1.6.3: + resolution: {integrity: sha512-Xnp/TIpIcTnRA4LwerJuoGYQJEqwXtn5AL0U0OPXll/QGbAKmcUAfizU880xTwZRD4f53iceqODLDaD3wxYlIw==} engines: {node: '>=14.*'} hasBin: true requiresBuild: true optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.6.2 - '@biomejs/cli-darwin-x64': 1.6.2 - '@biomejs/cli-linux-arm64': 1.6.2 - '@biomejs/cli-linux-arm64-musl': 1.6.2 - '@biomejs/cli-linux-x64': 1.6.2 - '@biomejs/cli-linux-x64-musl': 1.6.2 - '@biomejs/cli-win32-arm64': 1.6.2 - '@biomejs/cli-win32-x64': 1.6.2 + '@biomejs/cli-darwin-arm64': 1.6.3 + '@biomejs/cli-darwin-x64': 1.6.3 + '@biomejs/cli-linux-arm64': 1.6.3 + '@biomejs/cli-linux-arm64-musl': 1.6.3 + '@biomejs/cli-linux-x64': 1.6.3 + '@biomejs/cli-linux-x64-musl': 1.6.3 + '@biomejs/cli-win32-arm64': 1.6.3 + '@biomejs/cli-win32-x64': 1.6.3 dev: true - /@biomejs/cli-darwin-arm64@1.6.2: - resolution: {integrity: sha512-2sGcNO1wDuQ6r97/SDaPzP3ehrCL7qHXpVggcB/OonbVBEamqIkN1tHsID/snnX3R2ax2QTarjb4bQ+1BpEWzA==} + /@biomejs/cli-darwin-arm64@1.6.3: + resolution: {integrity: sha512-0E8PGu3/8HSkBJdtjno+niJE1ANS/12D7sPK65vw5lTBYmmaYwJdfclDp6XO0IAX7uVd3/YtXlsEua0SVrNt3Q==} engines: {node: '>=14.*'} cpu: [arm64] os: [darwin] dev: true - /@biomejs/cli-darwin-x64@1.6.2: - resolution: {integrity: sha512-qtHDXIHd7eRIHv41XdG6pt1dbw+qiD0OgLlJn5rvW20kSSFfLxW8yc4upcC1PzlruP1BQpKFec3r5rx1duTtzw==} + /@biomejs/cli-darwin-x64@1.6.3: + resolution: {integrity: sha512-UWu0We/aIRtWXgJKe6ygWt2xR0yXs64BwWqtZbfxBojRn3jgW8UdFAkV5yiUOX3TQlsV6BZH1EQaUAVsccUeeA==} engines: {node: '>=14.*'} cpu: [x64] os: [darwin] dev: true - /@biomejs/cli-linux-arm64-musl@1.6.2: - resolution: {integrity: sha512-ej3Jj6O9KUSCJUWqVs+9aOo6IcRIALHaGFB20wnQTWtRMFhu1PluM48MrQtMKputgdk5/CopQ662IdKf1PeuEg==} + /@biomejs/cli-linux-arm64-musl@1.6.3: + resolution: {integrity: sha512-AntGCSfLN1nPcQj4VOk3X2JgnDw07DaPC8BuBmRcsRmn+7GPSWLllVN5awIKlRPZEbGJtSnLkTiDc5Bxw8OiuA==} engines: {node: '>=14.*'} cpu: [arm64] os: [linux] @@ -1575,15 +1575,15 @@ packages: dev: true optional: true - /@biomejs/cli-linux-arm64@1.6.2: - resolution: {integrity: sha512-e1FJ59lx84QoqQgu1/uzAPIcYGcTkZY/m6Aj8ZHwi7KoWAE5xSogximFHNQ82lS4qkUfG7KaPTbYT6cGJjN9jQ==} + /@biomejs/cli-linux-arm64@1.6.3: + resolution: {integrity: sha512-wFVkQw38kOssfnkbpSh6ums5TaElw3RAt5i/VZwHmgR2nQgE0fHXLO7HwIE9VBkOEdbiIFq+2PxvFIHuJF3z3Q==} engines: {node: '>=14.*'} cpu: [arm64] os: [linux] dev: true - /@biomejs/cli-linux-x64-musl@1.6.2: - resolution: {integrity: sha512-uOVt4UBkFTFtdXgPX3QuSHRPVIvj07FP0P7A0UOP++idd0r9Bxyt5iIBaAORM3eQyGQqzCGPln1GuM6GalYKzg==} + /@biomejs/cli-linux-x64-musl@1.6.3: + resolution: {integrity: sha512-GelAvGsUwbxfFpKLG+7+dvDmbrfkGqn08sL8CMQrGnhjE1krAqHWiXQsjfmi0UMFdMsk7hbc4oSAP+1+mrXcHQ==} engines: {node: '>=14.*'} cpu: [x64] os: [linux] @@ -1591,15 +1591,15 @@ packages: dev: true optional: true - /@biomejs/cli-linux-x64@1.6.2: - resolution: {integrity: sha512-S6Wc5YX6aLDLMzwlDmiw/kjK62Ex+xzE432M5ge9q8tSCluGeHIzrenrJlu8E0xPG2FEipDaK4iqwnjS9O6e2A==} + /@biomejs/cli-linux-x64@1.6.3: + resolution: {integrity: sha512-vyn8TQaTZg617hjqFitwGmb1St5XXvq6I3vmxU/QFalM74BryMSvYCrYWb2Yw/TkykdEwZTMGYp+SWHRb04fTg==} engines: {node: '>=14.*'} cpu: [x64] os: [linux] dev: true - /@biomejs/cli-win32-arm64@1.6.2: - resolution: {integrity: sha512-5zuxNyvnKy7oLN7KLkqcYpsMKGubfMaeQ+RqnpFsmrofQAxpOo6EL/TyJvr8g533Z0a2/cQ/ALqnwl0mN3KQoQ==} + /@biomejs/cli-win32-arm64@1.6.3: + resolution: {integrity: sha512-Gx8N2Tixke6pAI1BniteCVZgUUmaFEDYosdWxoaCus15BZI/7RcBxhsRM0ZL/lC66StSQ8vHl8JBrrld1k570Q==} engines: {node: '>=14.*'} cpu: [arm64] os: [win32] @@ -1607,8 +1607,8 @@ packages: dev: true optional: true - /@biomejs/cli-win32-x64@1.6.2: - resolution: {integrity: sha512-O3nf09/m3cb3/U3M+uO4l236iTZr4F4SmLNG3okKXPfyZqKLNnF6OjdTHOYEiNXnGEtlRuUeemqb3vht9JkXaw==} + /@biomejs/cli-win32-x64@1.6.3: + resolution: {integrity: sha512-meungPJw64SqoR7LXY1wG7GC4+4wgpyThdFUMGXa6PCe0BLFOIOcZ9VMj9PstuczMPdgmt/BUMPsj25dK1VO8A==} engines: {node: '>=14.*'} cpu: [x64] os: [win32] @@ -1616,20 +1616,20 @@ packages: dev: true optional: true - /@bull-board/api@5.15.1(@bull-board/ui@5.15.1): - resolution: {integrity: sha512-yJqv2uhMTC5BE2SwK/zG7kTloZyOFOujzPtP09OF9S8GvTalCwSTk7EsLQOUMHTUhyiVZ8JpUyJz8oytZ77+xQ==} + /@bull-board/api@5.15.2(@bull-board/ui@5.15.2): + resolution: {integrity: sha512-HOqh5/Z0W5GR0WHVS/G83DTn8JwDn0NZs2H5u0bMFnvEmKZexysdnZyeox8Y31A6azRO/tqK3o/LrT1Hhtaxtw==} peerDependencies: - '@bull-board/ui': 5.15.1 + '@bull-board/ui': 5.15.2 dependencies: - '@bull-board/ui': 5.15.1 + '@bull-board/ui': 5.15.2 redis-info: 3.1.0 dev: false - /@bull-board/koa@5.15.1(@types/koa@2.15.0)(pug@3.0.2): - resolution: {integrity: sha512-O6Mq0qoVK125YHXfNYUY7g3QrhvPcU0Vg81TC7mEbt+rrdPJa7twvP0VAqd/Ga3SiDS+cth+9S2bnPQQ3CoOoA==} + /@bull-board/koa@5.15.2(@types/koa@2.15.0)(pug@3.0.2): + resolution: {integrity: sha512-tT1gjfcEF/87ITR0Scfh5V3Qy74NOCEOwIPWV78F4/5oIcSvdhjhFWBvCMZ/RLQSozS49/2gK5AucJW5pmf2ww==} dependencies: - '@bull-board/api': 5.15.1(@bull-board/ui@5.15.1) - '@bull-board/ui': 5.15.1 + '@bull-board/api': 5.15.2(@bull-board/ui@5.15.2) + '@bull-board/ui': 5.15.2 ejs: 3.1.9 koa: 2.15.2 koa-mount: 4.0.0 @@ -1693,10 +1693,10 @@ packages: - whiskers dev: false - /@bull-board/ui@5.15.1: - resolution: {integrity: sha512-+jpHdBTaqC2D9QDlix9j0EeqiJgN+RB8aH/A7J0VwVMLnbM820ZFPbrlXIN3Ph0hX2hgc+aHabZjs4Rjmwpqng==} + /@bull-board/ui@5.15.2: + resolution: {integrity: sha512-OlDCAaBOjdR7ke3vGkm/vEwC8Cwrt/r9ivc8jL+hQbgDluauKl/o9NSPp3BgC2Fo0MRszAxTgSitR0pGLRhAwg==} dependencies: - '@bull-board/api': 5.15.1(@bull-board/ui@5.15.1) + '@bull-board/api': 5.15.2(@bull-board/ui@5.15.2) dev: false /@cbor-extract/cbor-extract-darwin-arm64@2.2.0: @@ -3308,8 +3308,8 @@ packages: resolution: {integrity: sha512-OEdCW1HRpFiZaZNrXQq8LoBxX3APijZaa/Xyoc6r44LnyAPWkjQqvPoBxE7IRqSvMihf8bl+ZRc1gtc1KuFLHw==} dev: false - /@redocly/openapi-core@1.10.5: - resolution: {integrity: sha512-RaVwWLbGuzQxK6ezbvPGnz4rtVMTo5DOrxyII/sKJiTexBHplZzUVqrpU6aeRckl3iY9xe9+w07c/kDiLEeWRQ==} + /@redocly/openapi-core@1.10.6: + resolution: {integrity: sha512-qWZszssMMe/UrJ4LN4qh2mdcIx5uMHwnvtkAEdmWYWlUv+LNaBeqazjDt0UrCOX5EsrD4d+21oxQJNdbyGMVVA==} engines: {node: '>=14.19.0', npm: '>=7.0.0'} dependencies: '@redocly/ajv': 8.11.0 @@ -3518,7 +3518,7 @@ packages: resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} dev: false - /@swc/cli@0.3.10(@swc/core@1.4.8): + /@swc/cli@0.3.10(@swc/core@1.4.11): resolution: {integrity: sha512-YWfYo9kXdbmIuGwIPth9geKgb0KssCMTdZa44zAN5KoqcuCP2rTW9s60heQDSRNpbtCmUr7BKF1VivsoHXrvrQ==} engines: {node: '>= 16.14.0'} hasBin: true @@ -3530,7 +3530,7 @@ packages: optional: true dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.4.8 + '@swc/core': 1.4.11 '@swc/counter': 0.1.3 commander: 8.3.0 fast-glob: 3.3.2 @@ -3552,88 +3552,88 @@ packages: dev: false optional: true - /@swc/core-darwin-arm64@1.4.8: - resolution: {integrity: sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==} + /@swc/core-darwin-arm64@1.4.11: + resolution: {integrity: sha512-C1j1Qp/IHSelVWdEnT7f0iONWxQz6FAqzjCF2iaL+0vFg4V5f2nlgrueY8vj5pNNzSGhrAlxsMxEIp4dj1MXkg==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.4.8: - resolution: {integrity: sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==} + /@swc/core-darwin-x64@1.4.11: + resolution: {integrity: sha512-0TTy3Ni8ncgaMCchSQ7FK8ZXQLlamy0FXmGWbR58c+pVZWYZltYPTmheJUvVcR0H2+gPAymRKyfC0iLszDALjg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf@1.4.8: - resolution: {integrity: sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==} + /@swc/core-linux-arm-gnueabihf@1.4.11: + resolution: {integrity: sha512-XJLB71uw0rog4DjYAPxFGAuGCBQpgJDlPZZK6MTmZOvI/1t0+DelJ24IjHIxk500YYM26Yv47xPabqFPD7I2zQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.4.8: - resolution: {integrity: sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==} + /@swc/core-linux-arm64-gnu@1.4.11: + resolution: {integrity: sha512-vYQwzJvm/iu052d5Iw27UFALIN5xSrGkPZXxLNMHPySVko2QMNNBv35HLatkEQHbQ3X+VKSW9J9SkdtAvAVRAQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.4.8: - resolution: {integrity: sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==} + /@swc/core-linux-arm64-musl@1.4.11: + resolution: {integrity: sha512-eV+KduiRYUFjPsvbZuJ9aknQH9Tj0U2/G9oIZSzLx/18WsYi+upzHbgxmIIHJ2VJgfd7nN40RI/hMtxNsUzR/g==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.4.8: - resolution: {integrity: sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==} + /@swc/core-linux-x64-gnu@1.4.11: + resolution: {integrity: sha512-WA1iGXZ2HpqM1OR9VCQZJ8sQ1KP2or9O4bO8vWZo6HZJIeoQSo7aa9waaCLRpkZvkng1ct/TF/l6ymqSNFXIzQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.4.8: - resolution: {integrity: sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==} + /@swc/core-linux-x64-musl@1.4.11: + resolution: {integrity: sha512-UkVJToKf0owwQYRnGvjHAeYVDfeimCEcx0VQSbJoN7Iy0ckRZi7YPlmWJU31xtKvikE2bQWCOVe0qbSDqqcWXA==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.4.8: - resolution: {integrity: sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==} + /@swc/core-win32-arm64-msvc@1.4.11: + resolution: {integrity: sha512-35khwkyly7lF5NDSyvIrukBMzxPorgc5iTSDfVO/LvnmN5+fm4lTlrDr4tUfTdOhv3Emy7CsKlsNAeFRJ+Pm+w==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.4.8: - resolution: {integrity: sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==} + /@swc/core-win32-ia32-msvc@1.4.11: + resolution: {integrity: sha512-Wx8/6f0ufgQF2pbVPsJ2dAmFLwIOW+xBE5fxnb7VnEbGkTgP1qMDWiiAtD9rtvDSuODG3i1AEmAak/2HAc6i6A==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.4.8: - resolution: {integrity: sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==} + /@swc/core-win32-x64-msvc@1.4.11: + resolution: {integrity: sha512-0xRFW6K9UZQH2NVC/0pVB0GJXS45lY24f+6XaPBF1YnMHd8A8GoHl7ugyM5yNUTe2AKhSgk5fJV00EJt/XBtdQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.4.8: - resolution: {integrity: sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==} + /@swc/core@1.4.11: + resolution: {integrity: sha512-WKEakMZxkVwRdgMN4AMJ9K5nysY8g8npgQPczmjBeNK5In7QEAZAJwnyccrWwJZU0XjVeHn2uj+XbOKdDW17rg==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -3643,30 +3643,26 @@ packages: optional: true dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.5 + '@swc/types': 0.1.6 optionalDependencies: - '@swc/core-darwin-arm64': 1.4.8 - '@swc/core-darwin-x64': 1.4.8 - '@swc/core-linux-arm-gnueabihf': 1.4.8 - '@swc/core-linux-arm64-gnu': 1.4.8 - '@swc/core-linux-arm64-musl': 1.4.8 - '@swc/core-linux-x64-gnu': 1.4.8 - '@swc/core-linux-x64-musl': 1.4.8 - '@swc/core-win32-arm64-msvc': 1.4.8 - '@swc/core-win32-ia32-msvc': 1.4.8 - '@swc/core-win32-x64-msvc': 1.4.8 + '@swc/core-darwin-arm64': 1.4.11 + '@swc/core-darwin-x64': 1.4.11 + '@swc/core-linux-arm-gnueabihf': 1.4.11 + '@swc/core-linux-arm64-gnu': 1.4.11 + '@swc/core-linux-arm64-musl': 1.4.11 + '@swc/core-linux-x64-gnu': 1.4.11 + '@swc/core-linux-x64-musl': 1.4.11 + '@swc/core-win32-arm64-msvc': 1.4.11 + '@swc/core-win32-ia32-msvc': 1.4.11 + '@swc/core-win32-x64-msvc': 1.4.11 /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - /@swc/types@0.1.5: - resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} - /@swc/types@0.1.6: resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} dependencies: '@swc/counter': 0.1.3 - dev: true /@swc/wasm@1.2.130: resolution: {integrity: sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==} @@ -4790,14 +4786,14 @@ packages: - supports-color dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.4)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.4(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) vue: 3.4.21(typescript@5.4.3) dev: true @@ -4822,7 +4818,7 @@ packages: resolution: {integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==} dependencies: '@babel/parser': 7.23.9 - postcss: 8.4.35 + postcss: 8.4.38 source-map: 0.6.1 dev: true @@ -5658,8 +5654,8 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /aws-sdk@2.1584.0: - resolution: {integrity: sha512-57Qizb+bLOhrBLWQSWw6WXTtbO/lFKzLouHxTfm/QeXm38gs0Q0knFxhdH+sWc/DPPJYSRGy7MNiuQcmsq5zxA==} + /aws-sdk@2.1585.0: + resolution: {integrity: sha512-zDJ76hivdnBLH2+hXTO0F5y3Sdx5RRSDCf4EqZILZCUkPLTwaVmKmaU6XO3pyhrMTcWk58m7UBgHFyARE5SCkQ==} engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: @@ -6272,8 +6268,8 @@ packages: dev: false optional: true - /cbor-x@1.5.8: - resolution: {integrity: sha512-gc3bHBsvG6GClCY6c0/iip+ghlqizkVp+TtaL927lwvP4VP9xBdi1HmqPR5uj/Mj/0TOlngMkIYa25wKg+VNrQ==} + /cbor-x@1.5.9: + resolution: {integrity: sha512-OEI5rEu3MeR0WWNUXuIGkxmbXVhABP+VtgAXzm48c9ulkrsvxshjjk94XSOGphyAKeNGLPfAxxzEtgQ6rEVpYQ==} optionalDependencies: cbor-extract: 2.2.0 dev: false @@ -7581,6 +7577,7 @@ packages: /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} + dev: true /detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} @@ -10087,8 +10084,8 @@ packages: engines: {node: '>=0.8.0'} dev: true - /happy-dom@14.3.1: - resolution: {integrity: sha512-uv2mE7jUH0S3cTnDPqNQj+J+Z5wOevqzopc7e8URXtcCH2STubCjPFVyEJ1ONGSv/aL/uvNwo5WWjsinpWpADQ==} + /happy-dom@14.3.8: + resolution: {integrity: sha512-jP7p/VQJ08lbIoCsw1Adna3RA86eE+2CNkqvJRWIhrKP7XKZ0e0s2TJSt5lwGS4b7x0z0Ztw0A9P4uQGMHPiiA==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11272,7 +11269,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.3) + ts-node: 10.9.2(@swc/core@1.4.11)(@types/node@20.11.30)(typescript@5.4.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -11867,8 +11864,8 @@ packages: safe-buffer: 5.2.1 dev: false - /katex@0.16.9: - resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} + /katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} hasBin: true dependencies: commander: 8.3.0 @@ -13077,7 +13074,7 @@ packages: hasBin: true requiresBuild: true dependencies: - detect-libc: 2.0.2 + detect-libc: 2.0.3 dev: false optional: true @@ -16027,15 +16024,15 @@ packages: whet.extend: 0.9.9 dev: false - /swc-loader@0.2.6(@swc/core@1.4.8)(webpack@5.91.0): + /swc-loader@0.2.6(@swc/core@1.4.11)(webpack@5.91.0): resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} peerDependencies: '@swc/core': ^1.2.147 webpack: '>=2' dependencies: - '@swc/core': 1.4.8 + '@swc/core': 1.4.11 '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.4.8) + webpack: 5.91.0(@swc/core@1.4.11) dev: true /swiper@11.0.7: @@ -16122,7 +16119,7 @@ packages: engines: {node: '>=14.16'} dev: true - /terser-webpack-plugin@5.3.10(@swc/core@1.4.8)(webpack@5.91.0): + /terser-webpack-plugin@5.3.10(@swc/core@1.4.11)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -16139,12 +16136,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.20 - '@swc/core': 1.4.8 + '@swc/core': 1.4.11 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.27.0 - webpack: 5.91.0(@swc/core@1.4.8) + webpack: 5.91.0(@swc/core@1.4.11) dev: true /terser@5.19.2: @@ -16466,10 +16463,10 @@ packages: semver: 7.6.0 source-map: 0.7.4 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.4.8) + webpack: 5.91.0(@swc/core@1.4.11) dev: true - /ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.3): + /ts-node@10.9.2(@swc/core@1.4.11)(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -16484,7 +16481,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.4.8 + '@swc/core': 1.4.11 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -16772,7 +16769,7 @@ packages: pg: 8.11.3 reflect-metadata: 0.2.1 sha.js: 2.4.11 - ts-node: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.3) + ts-node: 10.9.2(@swc/core@1.4.11)(@types/node@20.11.30)(typescript@5.4.3) tslib: 2.6.1 uuid: 9.0.1 yargs: 17.7.2 @@ -17116,7 +17113,7 @@ packages: replace-ext: 1.0.1 dev: false - /vite-plugin-compression@0.5.1(vite@5.2.4): + /vite-plugin-compression@0.5.1(vite@5.2.6): resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} peerDependencies: vite: '>=2.0.0' @@ -17124,13 +17121,13 @@ packages: chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) fs-extra: 10.1.0 - vite: 5.2.4(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) transitivePeerDependencies: - supports-color dev: true - /vite@5.2.4(@types/node@20.11.30)(sass@1.72.0): - resolution: {integrity: sha512-vjFghvHWidBTinu5TCymJk/lRHlR5ljqB83yugr0HA1xspUPdOZHqbqDLnZ8f9/jINrtFHTCYYyIUi+o+Q5iyg==} + /vite@5.2.6(@types/node@20.11.30)(sass@1.72.0): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -17340,7 +17337,7 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.91.0(@swc/core@1.4.8): + /webpack@5.91.0(@swc/core@1.4.11): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true @@ -17371,7 +17368,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.8)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.11)(webpack@5.91.0) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: From 10b86134498be2d086096d59236010b266c73907 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 20:50:00 +0900 Subject: [PATCH 09/20] docs: we're not publishing firefish-js see also: !10711 --- packages/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/README.md b/packages/README.md index 4eb66b9315..56356ec2d0 100644 --- a/packages/README.md +++ b/packages/README.md @@ -6,5 +6,5 @@ This directory contains all of the packages Firefish uses. - `backend-rs`: Backend code written in Rust, bound to NodeJS by [NAPI-RS](https://napi.rs/) - `client`: Web interface written in Vue3 and TypeScript - `sw`: Web [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) written in TypeScript -- `firefish-js`: TypeScript SDK for both backend and client, also published on [NPM](https://www.npmjs.com/package/firefish-js) for public use +- `firefish-js`: TypeScript SDK for both backend and client - `megalodon`: TypeScript library used for partial Mastodon API compatibility From d9681f9b5bf89888c09fee1671ae19676cb9c62f Mon Sep 17 00:00:00 2001 From: jolupa Date: Tue, 26 Mar 2024 12:26:41 +0000 Subject: [PATCH 10/20] locale: update translations (Catalan) Currently translated at 100.0% (1919 of 1919 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/ca/ --- locales/ca-ES.yml | 59 +++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index b6cbf75bae..1a360c7827 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -9,14 +9,14 @@ notifications: "Notificacions" username: "Nom d'usuari" password: "Contrasenya" forgotPassword: "Contrasenya oblidada" -fetchingAsApObject: "Cercant en el Fediverse" +fetchingAsApObject: "Obtenint des de el Fediverse" ok: "D'acord" gotIt: "Ho he entès!" cancel: "Cancel·la" enterUsername: "Introdueix el teu nom d'usuari" renotedBy: "Impulsat per {user}" -noNotes: "Cap publicació" -noNotifications: "Cap notificació" +noNotes: "Sense publicacions" +noNotifications: "Sense notificacions" instance: "Servidor" settings: "Preferències" basicSettings: "Configuració bàsica" @@ -35,23 +35,23 @@ users: "Usuaris" addUser: "Afegeix un usuari" favorite: "Afegeix a les adreces d'interès" favorites: "Adreces d'interès" -unfavorite: "Eliminar de les adreces d'interès" -favorited: "Afegit a les adreces d'interès." -alreadyFavorited: "Ja es troba a les adreces d'interès." +unfavorite: "Suprimeix de les adreces d'interès" +favorited: "S'ha afegit a les adreces d'interès." +alreadyFavorited: "Ja s'ha afegit a les adreces d'interès." cantFavorite: "No s'ha pogut afegir a les adreces d'interès." -pin: "Fixar al perfil" -unpin: "Deixa de fixar al perfil" +pin: "Fixa al perfil" +unpin: "No fixis al perfil" copyContent: "Copia el contingut" copyLink: "Copia l'enllaç" -delete: "Elimina" -deleteAndEdit: "Elimina i edita" -deleteAndEditConfirm: "Segur que vols eliminar la publicació i editar-la? Perdràs +delete: "Suprimeix" +deleteAndEdit: "Suprimeix i edita" +deleteAndEditConfirm: "Segur que vols suprimir aquesta publicació i editar-la? Perdràs totes les reaccions, impulsos i respostes." addToList: "Afegeix a la llista" sendMessage: "Envia un missatge" copyUsername: "Copia el nom d'usuari" searchUser: "Cerca un usuari" -reply: "Respon" +reply: "Resposta" loadMore: "Carrega'n més" showMore: "Mostra'n més" youGotNewFollower: "t'ha seguit" @@ -66,20 +66,20 @@ export: "Exporta" files: "Fitxers" download: "Baixa" driveFileDeleteConfirm: "Segur que vols eliminar el fitxer «{name}»? S'eliminarà de - totes les notes que el continguin com a fitxer adjunt." + totes les publicacions que el continguin com a fitxer adjunt." unfollowConfirm: "Segur que vols deixar de seguir a {name}?" -exportRequested: "Has demanat exportar dades. Això pot trigar una estona. S'afegirà - al teu Disc un cop completada." -importRequested: "Has demanat importar dades. Això pot trigar una estona." +exportRequested: "Has sol·licitat una exportació. Això pot trigar una estona. S'afegirà + al teu Disc un cop finalitzada." +importRequested: "Has sol·licitat una importació de dades. Això pot trigar una estona." lists: "Llistes" noLists: "No tens cap llista" -note: "Publica" +note: "Publicació" notes: "Publicacions" following: "Seguint" followers: "Seguidors" followsYou: "Et segueix" -createList: "Crear una llista" -manageLists: "Gestionar les llistes" +createList: "Crea una llista" +manageLists: "Gestiona les llistes" error: "Error" somethingHappened: "S'ha produït un error" retry: "Torna-ho a intentar" @@ -91,7 +91,7 @@ serverIsDead: "Aquest servidor no respon. Espera una estona i torna-ho a provar. youShouldUpgradeClient: "Per veure aquesta pàgina, actualitzeu-la per actualitzar el vostre client." enterListName: "Introdueix un nom per a la llista" -privacy: "Privadesa" +privacy: "Privacitat" makeFollowManuallyApprove: "Les sol·licituds de seguiment requereixen aprovació" defaultNoteVisibility: "Visibilitat per defecte" follow: "Segueix" @@ -2066,7 +2066,7 @@ _relayStatus: rejected: Rebutjat deleted: Eliminat editNote: Edita la publicació -edited: 'Editat el {date} {time}' +edited: 'Editat a les {time} {date}' signupsDisabled: Actualment, les inscripcions en aquest servidor estan desactivades. Si teniu un codi d'invitació per a aquest servidor, introduïu-lo a continuació. userSaysSomethingReasonQuote: '{name} ha citat una publicació que conté {reason}' @@ -2096,7 +2096,7 @@ newer: Més nou older: Més antic silencedWarning: S'està mostrant aquesta pàgina per què aquest usuari és d'un servidor que l'administrador a silenciat, així que pot ser spam. -jumpToPrevious: Vés a l'anterior +jumpToPrevious: Salta a l'anterior cw: Avís de contingut antennasDesc: "Les antenes mostren publicacions noves que coincideixen amb els criteris establerts!\nS'hi pot accedir des de la pàgina de línies de temps." @@ -2104,7 +2104,7 @@ expandOnNoteClick: Obre la publicació amb un clic expandOnNoteClickDesc: Si està desactivat, encara pots obrir les publicacions al menú del botó dret o fent clic a la marca de temps. channelFederationWarn: Els canals encara no es federen amb altres servidors -searchPlaceholder: Cerca a Firefish +searchPlaceholder: Cercar a Firefish listsDesc: Les llistes et permeten crear línies de temps amb usuaris específics. Es pot accedir des de la pàgina de línies de temps. clipsDesc: Els clips són com marcadors categoritzats que es poden compartir. Podeu @@ -2264,8 +2264,8 @@ publishTimelinesDescription: Si està activat, les línies de temps Global i Loc noAltTextWarning: Alguns fitxers adjunts no tenen una descripció. T'has s oblidat d'escriure-les? showNoAltTextWarning: Mostra un avís si públiques un fitxer sense descripció -toReply: Respon -toQuote: Cita +toReply: Resposta +toQuote: Citar toEdit: Edita searchUsersDescription: "Per buscar publicacions concretes d'un usuari/servidor, escriu la ID (@usuari@exemple.com, o @usuari per un usuari local) o nom del domini (exemple.com).\n @@ -2285,3 +2285,12 @@ searchRangeDescription: "Si vols filtrar per un període de temps, has de fer se moderationNote: Nota de moderació ipFirstAcknowledged: Data en què es va veure la adreça IP per primera vegada driveCapacityOverride: Capacitat del disc esgotada +incorrectLanguageWarning: "Semblar ser que la teva publicació es troba en {detected}, + però has seleccionat {current}.\nVols canviar l'idioma a {detected}?" +markLocalFilesNsfwByDefault: Marcar tots els fitxers locals nous com a sensibles per + defecte +markLocalFilesNsfwByDefaultDescription: Independentment d'aquest ajust, els usuaris + poden treure l'etiqueta NSFW els mateixos. Els fitxers que ja existeixen no es veuen + afectats. +autocorrectNoteLanguage: Mostra un avís si l'idioma de la publicació no coincideix + amb el resultat de l'idioma detectat automàticament From 9506a3e812eaa2208e7a3fb33b0b055ed8e38cec Mon Sep 17 00:00:00 2001 From: Gary O'Regan Kelly Date: Tue, 26 Mar 2024 03:40:53 +0000 Subject: [PATCH 11/20] locale: update translations (French) Currently translated at 100.0% (1919 of 1919 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/fr/ --- locales/fr-FR.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index 063d6014f0..f0afee23d2 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -2315,3 +2315,12 @@ noAltTextWarning: Certains fichiers joints n'ont aucune description. Avez-vous o de l'écrire ? showNoAltTextWarning: Afficher un avertissement si vous essayez de publier des fichiers sans description +autocorrectNoteLanguage: Afficher un avertissement si la langue de publication ne + correspond pas au résultat autodétecté +incorrectLanguageWarning: "Il semble que votre publication est en {detected}, mais + vous avez sélectionné {current}.\nVoulez-vous sélectionner {detected} à la place ?" +markLocalFilesNsfwByDefault: Marquer tous les nouveaux fichiers locaux comme sensibles + par défaut +markLocalFilesNsfwByDefaultDescription: Indépendamment de ce réglage, les utilisateurs + peuvent supprimer le drapeau « sensible » (NSFW) eux-mêmes. Les fichiers existants + ne sont pas affectés. From bd3be6fe80358eb731f140a40d846844fb3f2c2d Mon Sep 17 00:00:00 2001 From: naskya Date: Wed, 27 Mar 2024 08:04:39 +0900 Subject: [PATCH 12/20] dev: add a check item to release MR template --- .gitlab/merge_request_templates/release.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab/merge_request_templates/release.md b/.gitlab/merge_request_templates/release.md index 4cc9794582..b16db00212 100644 --- a/.gitlab/merge_request_templates/release.md +++ b/.gitlab/merge_request_templates/release.md @@ -2,6 +2,8 @@ ## Checklist +- [ ] There are no pending changes on Weblate + I have updated... - [ ] `package.json` From e9193dc1f5bb8d107775a4ca7fe96ea3d1a58dcf Mon Sep 17 00:00:00 2001 From: naskya Date: Wed, 27 Mar 2024 08:50:08 +0900 Subject: [PATCH 13/20] chore: remove cargo flags --- packages/backend-rs/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend-rs/package.json b/packages/backend-rs/package.json index 80873d6984..6cc295dac4 100644 --- a/packages/backend-rs/package.json +++ b/packages/backend-rs/package.json @@ -33,8 +33,8 @@ }, "scripts": { "artifacts": "napi artifacts", - "build": "napi build --features napi --platform --release --cargo-flags='--locked --frozen' ./built/", - "build:debug": "napi build --features napi --platform --cargo-flags='--locked --frozen' ./built/", + "build": "napi build --features napi --platform --release ./built/", + "build:debug": "napi build --features napi --platform ./built/", "prepublishOnly": "napi prepublish -t npm", "test": "pnpm run cargo:test && pnpm run build:debug && ava", "universal": "napi universal", From d37c375e5d3ba0bf35b5dbd3c66238656767af7d Mon Sep 17 00:00:00 2001 From: naskya Date: Wed, 27 Mar 2024 10:08:19 +0900 Subject: [PATCH 14/20] docs: add 'sleep 5' to wait for the startup of the database container --- docs/notice-for-admins.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/notice-for-admins.md b/docs/notice-for-admins.md index fdc501a8df..3e8bbe8286 100644 --- a/docs/notice-for-admins.md +++ b/docs/notice-for-admins.md @@ -131,8 +131,8 @@ db: After that, execute this command to enable PGroonga: ```sh -docker-compose up db --detach && docker-compose exec db sh -c 'psql --user="${POSTGRES_USER}" --dbname="${POSTGRES_DB}" --command="CREATE EXTENSION pgroonga;"' -# or podman-compose up db --detach && podman-compose exec db sh -c 'psql --user="${POSTGRES_USER}" --dbname="${POSTGRES_DB}" --command="CREATE EXTENSION pgroonga;"' +docker-compose up db --detach && sleep 5 && docker-compose exec db sh -c 'psql --user="${POSTGRES_USER}" --dbname="${POSTGRES_DB}" --command="CREATE EXTENSION pgroonga;"' +# or podman-compose up db --detach && sleep 5 && podman-compose exec db sh -c 'psql --user="${POSTGRES_USER}" --dbname="${POSTGRES_DB}" --command="CREATE EXTENSION pgroonga;"' ``` Once this is done, you can start Firefish as usual. From 45a20bc63a76d67224163dbe8ec9373044bd1c03 Mon Sep 17 00:00:00 2001 From: naskya Date: Wed, 27 Mar 2024 13:01:29 +0900 Subject: [PATCH 15/20] chore (client): trim entered strings in search box --- packages/client/src/components/MkSearchBox.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/client/src/components/MkSearchBox.vue b/packages/client/src/components/MkSearchBox.vue index 2efd298202..bf5a914b70 100644 --- a/packages/client/src/components/MkSearchBox.vue +++ b/packages/client/src/components/MkSearchBox.vue @@ -142,6 +142,10 @@ function done(canceled: boolean, result?: searchQuery) { } function search() { + searchWords.value = searchWords.value.trim(); + searchUsers.value = searchUsers.value.trim(); + searchRange.value = searchRange.value.trim(); + if ( searchWords.value === "" && searchUsers.value === "" && @@ -160,6 +164,8 @@ function search() { } function lookup() { + searchWords.value = searchWords.value.trim(); + if (searchWords.value === "") return; done(false, { From e55b854b8af8654602216d7ec638bea0cbe56ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Wed, 27 Mar 2024 11:54:22 +0000 Subject: [PATCH 16/20] locale: update translations (English) Currently translated at 99.9% (1918 of 1919 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/en/ --- locales/en-US.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/locales/en-US.yml b/locales/en-US.yml index 88b44d2787..d736a7d881 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1196,16 +1196,16 @@ releaseToReload: "Release to reload" reloading: "Reloading" enableTimelineStreaming: "Update timelines automatically" searchWords: "Words to search / ID or URL to lookup" -searchWordsDescription: "Enter the search term here to search for posts. Separate words - with a space for an AND search, or 'OR' (without quotes) between words for an OR - search.\nFor example, 'morning night' will find posts that contain both 'morning' +searchWordsDescription: "Enter the search term here to search for posts. Separate + words with a space for an AND search, or 'OR' (without quotes) between words for + an OR search.\nFor example, 'morning night' will find posts that contain both 'morning' and 'night', and 'morning OR night' will find posts that contain either 'morning' or 'night' (or both).\nYou can also combine AND/OR conditions like '(morning OR - night) sleepy'.\nIf you want to search for a sequence of words (e.g., a sentence), you - must put it in double quotes, not to make it an AND search: \"Today I learned\"\n\n - If you want to go to a specific user page or post page, enter - the ID or URL in this field and click the 'Lookup' button. Clicking 'Search' will - search for posts that literally contain the ID/URL." + night) sleepy'.\nIf you want to search for a sequence of words (e.g., a sentence), + you must put it in double quotes, not to make it an AND search: \"Today I learned\"\ + \n\n If you want to go to a specific user page or post page, enter the ID or URL + in this field and click the 'Lookup' button. Clicking 'Search' will search for posts + that literally contain the ID/URL." searchUsers: "Posted by (optional)" searchUsersDescription: "To search for posts by a specific user/server, enter the ID (@user@example.com, or @user for a local user) or domain name (example.com).\n @@ -2230,5 +2230,7 @@ moreUrlsDescription: "Enter the pages you want to pin to the help menu in the lo left corner using this notation:\n\"Display name\": https://example.com/" messagingUnencryptedInfo: "Chats on Firefish are not end-to-end encrypted. Don't share any sensitive infomation over Firefish." -autocorrectNoteLanguage: "Show a warning if the post language does not match the auto-detected result" -incorrectLanguageWarning: "It looks like your post is in {detected}, but you selected {current}.\nWould you like to set the language to {detected} instead?" +autocorrectNoteLanguage: "Show a warning if the post language does not match the auto-detected + result" +incorrectLanguageWarning: "It looks like your post is in {detected}, but you selected + {current}.\nWould you like to set the language to {detected} instead?" From e66032bb46e4bfc5c18fe6e0962b56e590d1cc9a Mon Sep 17 00:00:00 2001 From: Linerly Date: Wed, 27 Mar 2024 12:27:38 +0000 Subject: [PATCH 17/20] locale: update translations (Indonesian) Currently translated at 100.0% (1919 of 1919 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/id/ --- locales/id-ID.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/locales/id-ID.yml b/locales/id-ID.yml index d5f65bfb49..8aeca86c2e 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -2269,3 +2269,6 @@ incorrectLanguageWarning: "Sepertinya kirimanmu dalam bahasa {detected}, tetapi memilih {current}.\nApakah kamu ingin ubah bahasanya ke bahasa {detected} saja?" autocorrectNoteLanguage: Tampilkan peringatan jika bahasa kiriman tidak cocok dengan hasil yang dideteksi secara otomatis +markLocalFilesNsfwByDefault: Tandai semua berkas lokal baru sensitif secara bawaan +markLocalFilesNsfwByDefaultDescription: Terlepas dari pengaturan ini, pengguna dapat + menghapus sendiri tanda NSFW. Berkas yang ada tidak berpengaruh. From 5284537a7c98841848883e41e1cd8148b6818db8 Mon Sep 17 00:00:00 2001 From: naskya Date: Tue, 26 Mar 2024 23:06:14 +0000 Subject: [PATCH 18/20] locale: update translations (Japanese) Currently translated at 100.0% (1919 of 1919 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/ja/ --- locales/ja-JP.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 9b77925096..4a0923182a 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2058,3 +2058,5 @@ ipFirstAcknowledged: IPアドレスが最初に取得された日 driveCapacityOverride: ドライブ容量の変更 autocorrectNoteLanguage: 設定した投稿言語が自動検出されたものと異なる場合に警告する incorrectLanguageWarning: "この投稿は{detected}で書かれていると判定されました。\n投稿言語を{current}ではなく{detected}にしますか?" +markLocalFilesNsfwByDefault: このサーバーの全てのファイルをデフォルトでNSFWに設定する +markLocalFilesNsfwByDefaultDescription: この設定が有効でも、ユーザーは自分でNSFWのフラグを外すことができます。また、この設定は既存のファイルには影響しません。 From a98a26e901ea4346625465993430797110ece009 Mon Sep 17 00:00:00 2001 From: Nyan Helsing Date: Thu, 28 Mar 2024 05:25:33 +0000 Subject: [PATCH 19/20] chore: format Co-authored-by: deathg.rip --- packages/backend/src/db/postgre.ts | 2 +- packages/backend/src/misc/fetch.ts | 4 +- packages/backend/src/misc/populate-emojis.ts | 12 +- packages/backend/src/misc/schema.ts | 92 ++--- .../models/repositories/abuse-user-report.ts | 2 +- .../backend/src/models/repositories/app.ts | 2 +- .../src/models/repositories/channel.ts | 6 +- .../src/models/repositories/drive-file.ts | 4 +- .../src/models/repositories/drive-folder.ts | 4 +- .../src/models/repositories/following.ts | 4 +- .../src/models/repositories/gallery-post.ts | 2 +- .../src/models/repositories/note-reaction.ts | 2 +- .../backend/src/models/repositories/note.ts | 10 +- .../src/models/repositories/notification.ts | 20 +- .../backend/src/models/repositories/page.ts | 2 +- .../backend/src/models/repositories/user.ts | 46 +-- packages/backend/src/prelude/time.ts | 22 +- packages/backend/src/queue/get-job-info.ts | 4 +- packages/backend/src/queue/initialize.ts | 2 +- .../queue/processors/db/export-following.ts | 2 +- .../queue/processors/db/import-blocking.ts | 4 +- .../queue/processors/db/import-following.ts | 8 +- .../src/queue/processors/db/import-muting.ts | 4 +- .../queue/processors/db/import-user-lists.ts | 4 +- .../src/remote/activitypub/models/note.ts | 6 +- .../src/remote/activitypub/models/person.ts | 56 +-- .../src/remote/activitypub/models/question.ts | 4 +- .../src/remote/activitypub/renderer/note.ts | 8 +- .../src/remote/activitypub/renderer/person.ts | 4 +- .../src/remote/activitypub/resolver.ts | 2 +- .../src/server/activitypub/followers.ts | 2 +- .../src/server/activitypub/following.ts | 2 +- .../backend/src/server/activitypub/outbox.ts | 4 +- .../backend/src/server/api/api-handler.ts | 8 +- .../src/server/api/common/inject-promo.ts | 2 +- .../api/endpoints/admin/drive/show-file.ts | 2 +- .../endpoints/i/registry/keys-with-type.ts | 20 +- .../server/api/endpoints/messaging/history.ts | 2 +- .../backend/src/server/api/endpoints/meta.ts | 4 +- .../src/server/api/endpoints/notes/create.ts | 2 +- .../src/server/api/endpoints/pages/update.ts | 4 +- .../server/api/endpoints/users/followers.ts | 2 +- .../server/api/endpoints/users/following.ts | 2 +- .../api/endpoints/users/groups/joined.ts | 2 +- .../server/api/mastodon/endpoints/timeline.ts | 4 +- .../src/server/api/openapi/gen-spec.ts | 6 +- packages/backend/src/server/api/streaming.ts | 2 +- .../src/server/file/send-drive-file.ts | 2 +- packages/backend/src/server/web/feed.ts | 6 +- packages/backend/src/server/web/index.ts | 2 +- .../backend/src/server/web/url-preview.ts | 6 +- packages/backend/src/server/well-known.ts | 8 +- packages/backend/src/services/chart/core.ts | 46 +-- .../backend/src/services/drive/add-file.ts | 4 +- packages/backend/src/services/drive/s3.ts | 2 +- packages/backend/src/services/logger.ts | 48 +-- packages/backend/src/services/note/create.ts | 2 +- packages/backend/src/services/note/delete.ts | 4 +- .../src/services/note/reaction/create.ts | 2 +- packages/backend/src/services/note/read.ts | 4 +- packages/backend/src/services/send-email.ts | 2 +- packages/backend/src/services/stream.ts | 4 +- .../services/validate-email-for-account.ts | 22 +- packages/backend/test/e2e/users.ts | 2 +- packages/backend/test/utils.ts | 8 +- packages/client/assets/tagcanvas.min.js | 356 +++++++++--------- packages/client/src/account.ts | 8 +- packages/client/src/components/mfm.ts | 36 +- packages/client/src/directives/tooltip.ts | 12 +- packages/client/src/init.ts | 8 +- packages/client/src/instance.ts | 2 +- packages/client/src/os.ts | 8 +- packages/client/src/pizzax.ts | 4 +- packages/client/src/scripts/device-kind.ts | 8 +- packages/client/src/scripts/form.ts | 24 +- packages/client/src/scripts/get-note-menu.ts | 46 +-- packages/client/src/scripts/get-user-menu.ts | 22 +- packages/client/src/scripts/select-file.ts | 2 +- packages/client/src/scripts/time.ts | 22 +- packages/client/src/scripts/upload.ts | 2 +- .../client/src/scripts/use-note-capture.ts | 2 +- packages/client/src/stream.ts | 2 +- packages/client/src/ui/deck/deck-store.ts | 2 +- packages/firefish-js/src/api.ts | 36 +- packages/firefish-js/src/streaming.ts | 2 +- packages/megalodon/src/misskey/api_client.ts | 2 +- .../sw/src/scripts/create-notification.ts | 4 +- 87 files changed, 599 insertions(+), 599 deletions(-) diff --git a/packages/backend/src/db/postgre.ts b/packages/backend/src/db/postgre.ts index b6c3f0db8f..19f7e7816a 100644 --- a/packages/backend/src/db/postgre.ts +++ b/packages/backend/src/db/postgre.ts @@ -213,7 +213,7 @@ export const db = new DataSource({ db: config.redis.db || 0, tls: config.redis.tls, }, - } + } : false, logging: log, logger: log ? new MyCustomLogger() : undefined, diff --git a/packages/backend/src/misc/fetch.ts b/packages/backend/src/misc/fetch.ts index e47ef0d47a..75eb2e17f4 100644 --- a/packages/backend/src/misc/fetch.ts +++ b/packages/backend/src/misc/fetch.ts @@ -126,7 +126,7 @@ export const httpAgent = config.proxy scheduling: "lifo", proxy: config.proxy, localAddress: config.outgoingAddress, - }) + }) : _http; /** @@ -141,7 +141,7 @@ export const httpsAgent = config.proxy scheduling: "lifo", proxy: config.proxy, localAddress: config.outgoingAddress, - }) + }) : _https; /** diff --git a/packages/backend/src/misc/populate-emojis.ts b/packages/backend/src/misc/populate-emojis.ts index 16bc9e3af7..0e21d0e2ab 100644 --- a/packages/backend/src/misc/populate-emojis.ts +++ b/packages/backend/src/misc/populate-emojis.ts @@ -30,10 +30,10 @@ function normalizeHost( src === "." ? null // .はローカルホスト (ここがマッチするのはリアクションのみ) : src === undefined - ? noteUserHost // ノートなどでホスト省略表記の場合はローカルホスト (ここがリアクションにマッチすることはない) - : isSelfHost(src) - ? null // 自ホスト指定 - : src || noteUserHost; // 指定されたホスト || ノートなどの所有者のホスト (こっちがリアクションにマッチすることはない) + ? noteUserHost // ノートなどでホスト省略表記の場合はローカルホスト (ここがリアクションにマッチすることはない) + : isSelfHost(src) + ? null // 自ホスト指定 + : src || noteUserHost; // 指定されたホスト || ノートなどの所有者のホスト (こっちがリアクションにマッチすることはない) host = toPunyNullable(host); @@ -87,7 +87,7 @@ export async function populateEmoji( ? emojiUrl : `${config.url}/proxy/${encodeURIComponent( new URL(emojiUrl).pathname, - )}?${query({ url: emojiUrl })}`; + )}?${query({ url: emojiUrl })}`; return { name: emojiName, @@ -168,7 +168,7 @@ export async function prefetchEmojis( ? await Emojis.find({ where: emojisQuery, select: ["name", "host", "originalUrl", "publicUrl"], - }) + }) : []; const trans = redisClient.multi(); for (const emoji of _emojis) { diff --git a/packages/backend/src/misc/schema.ts b/packages/backend/src/misc/schema.ts index 016b7159c9..c793d3b2ed 100644 --- a/packages/backend/src/misc/schema.ts +++ b/packages/backend/src/misc/schema.ts @@ -85,18 +85,18 @@ type TypeStringef = type StringDefToType = T extends "null" ? null : T extends "boolean" - ? boolean - : T extends "integer" - ? number - : T extends "number" - ? number - : T extends "string" - ? string | Date - : T extends "array" - ? ReadonlyArray - : T extends "object" - ? Record - : any; + ? boolean + : T extends "integer" + ? number + : T extends "number" + ? number + : T extends "string" + ? string | Date + : T extends "array" + ? ReadonlyArray + : T extends "object" + ? Record + : any; // https://swagger.io/specification/?sbsearch=optional#schema-object type OfSchema = { @@ -134,14 +134,14 @@ type RequiredPropertyNames = { s[K]["optional"] extends false ? K : // K has default value - s[K]["default"] extends + s[K]["default"] extends | null | string | number | boolean | Record - ? K - : never; + ? K + : never; }[keyof s]; export type Obj = Record; @@ -186,47 +186,47 @@ type ArrayUnion = T extends any ? Array : never; export type SchemaTypeDef

= p["type"] extends "null" ? null : p["type"] extends "integer" - ? number - : p["type"] extends "number" - ? number - : p["type"] extends "string" - ? p["enum"] extends readonly string[] + ? number + : p["type"] extends "number" + ? number + : p["type"] extends "string" + ? p["enum"] extends readonly string[] ? p["enum"][number] : p["format"] extends "date-time" - ? string - : // Dateにする?? - string - : p["type"] extends "boolean" - ? boolean - : p["type"] extends "object" - ? p["ref"] extends keyof typeof refs + ? string + : // Dateにする?? + string + : p["type"] extends "boolean" + ? boolean + : p["type"] extends "object" + ? p["ref"] extends keyof typeof refs ? Packed : p["properties"] extends NonNullable - ? ObjType[number]> - : p["anyOf"] extends ReadonlyArray - ? UnionSchemaType & + ? ObjType[number]> + : p["anyOf"] extends ReadonlyArray + ? UnionSchemaType & Partial>> - : p["allOf"] extends ReadonlyArray - ? UnionToIntersection> - : any - : p["type"] extends "array" - ? p["items"] extends OfSchema + : p["allOf"] extends ReadonlyArray + ? UnionToIntersection> + : any + : p["type"] extends "array" + ? p["items"] extends OfSchema ? p["items"]["anyOf"] extends ReadonlyArray ? UnionSchemaType>[] : p["items"]["oneOf"] extends ReadonlyArray - ? ArrayUnion< + ? ArrayUnion< UnionSchemaType> - > - : p["items"]["allOf"] extends ReadonlyArray - ? UnionToIntersection< + > + : p["items"]["allOf"] extends ReadonlyArray + ? UnionToIntersection< UnionSchemaType> - >[] - : never + >[] + : never : p["items"] extends NonNullable - ? SchemaTypeDef[] - : any[] - : p["oneOf"] extends ReadonlyArray - ? UnionSchemaType - : any; + ? SchemaTypeDef[] + : any[] + : p["oneOf"] extends ReadonlyArray + ? UnionSchemaType + : any; export type SchemaType

= NullOrUndefined>; diff --git a/packages/backend/src/models/repositories/abuse-user-report.ts b/packages/backend/src/models/repositories/abuse-user-report.ts index 07afef48c4..16ce159955 100644 --- a/packages/backend/src/models/repositories/abuse-user-report.ts +++ b/packages/backend/src/models/repositories/abuse-user-report.ts @@ -27,7 +27,7 @@ export const AbuseUserReportRepository = db assignee: report.assigneeId ? Users.pack(report.assignee || report.assigneeId, null, { detail: true, - }) + }) : null, forwarded: report.forwarded, }); diff --git a/packages/backend/src/models/repositories/app.ts b/packages/backend/src/models/repositories/app.ts index af3dfb81a1..91bffbe0d9 100644 --- a/packages/backend/src/models/repositories/app.ts +++ b/packages/backend/src/models/repositories/app.ts @@ -38,7 +38,7 @@ export const AppRepository = db.getRepository(App).extend({ appId: app.id, userId: me.id, }).then((count) => count > 0), - } + } : {}), }; }, diff --git a/packages/backend/src/models/repositories/channel.ts b/packages/backend/src/models/repositories/channel.ts index 7800a65940..857470f4ec 100644 --- a/packages/backend/src/models/repositories/channel.ts +++ b/packages/backend/src/models/repositories/channel.ts @@ -21,14 +21,14 @@ export const ChannelRepository = db.getRepository(Channel).extend({ ? (await NoteUnreads.findOneBy({ noteChannelId: channel.id, userId: meId, - })) != null + })) != null : undefined; const following = meId ? await ChannelFollowings.findOneBy({ followerId: meId, followeeId: channel.id, - }) + }) : null; return { @@ -48,7 +48,7 @@ export const ChannelRepository = db.getRepository(Channel).extend({ ? { isFollowing: following != null, hasUnreadNote, - } + } : {}), }; }, diff --git a/packages/backend/src/models/repositories/drive-file.ts b/packages/backend/src/models/repositories/drive-file.ts index 1b4f477d33..b550745c5b 100644 --- a/packages/backend/src/models/repositories/drive-file.ts +++ b/packages/backend/src/models/repositories/drive-file.ts @@ -162,7 +162,7 @@ export const DriveFileRepository = db.getRepository(DriveFile).extend({ opts.detail && file.folderId ? DriveFolders.pack(file.folderId, { detail: true, - }) + }) : null, userId: opts.withUser ? file.userId : null, user: opts.withUser && file.userId ? Users.pack(file.userId) : null, @@ -203,7 +203,7 @@ export const DriveFileRepository = db.getRepository(DriveFile).extend({ opts.detail && file.folderId ? DriveFolders.pack(file.folderId, { detail: true, - }) + }) : null, userId: opts.withUser ? file.userId : null, user: opts.withUser && file.userId ? Users.pack(file.userId) : null, diff --git a/packages/backend/src/models/repositories/drive-folder.ts b/packages/backend/src/models/repositories/drive-folder.ts index 9823561d0b..026b693dbf 100644 --- a/packages/backend/src/models/repositories/drive-folder.ts +++ b/packages/backend/src/models/repositories/drive-folder.ts @@ -41,9 +41,9 @@ export const DriveFolderRepository = db.getRepository(DriveFolder).extend({ parent: this.pack(folder.parentId, { detail: true, }), - } + } : {}), - } + } : {}), }); }, diff --git a/packages/backend/src/models/repositories/following.ts b/packages/backend/src/models/repositories/following.ts index b102365e09..69b6337445 100644 --- a/packages/backend/src/models/repositories/following.ts +++ b/packages/backend/src/models/repositories/following.ts @@ -67,12 +67,12 @@ export const FollowingRepository = db.getRepository(Following).extend({ followee: opts.populateFollowee ? Users.pack(following.followee || following.followeeId, me, { detail: true, - }) + }) : undefined, follower: opts.populateFollower ? Users.pack(following.follower || following.followerId, me, { detail: true, - }) + }) : undefined, }); }, diff --git a/packages/backend/src/models/repositories/gallery-post.ts b/packages/backend/src/models/repositories/gallery-post.ts index b4206b0bf4..d91fb9de2a 100644 --- a/packages/backend/src/models/repositories/gallery-post.ts +++ b/packages/backend/src/models/repositories/gallery-post.ts @@ -30,7 +30,7 @@ export const GalleryPostRepository = db.getRepository(GalleryPost).extend({ isLiked: meId ? await GalleryLikes.findOneBy({ postId: post.id, userId: meId }).then( (x) => x != null, - ) + ) : undefined, }); }, diff --git a/packages/backend/src/models/repositories/note-reaction.ts b/packages/backend/src/models/repositories/note-reaction.ts index 4075c7d43a..20aae2876f 100644 --- a/packages/backend/src/models/repositories/note-reaction.ts +++ b/packages/backend/src/models/repositories/note-reaction.ts @@ -32,7 +32,7 @@ export const NoteReactionRepository = db.getRepository(NoteReaction).extend({ ? { // may throw error note: await Notes.pack(reaction.note ?? reaction.noteId, me), - } + } : {}), }; }, diff --git a/packages/backend/src/models/repositories/note.ts b/packages/backend/src/models/repositories/note.ts index a140dd9543..2921f68be3 100644 --- a/packages/backend/src/models/repositories/note.ts +++ b/packages/backend/src/models/repositories/note.ts @@ -227,7 +227,7 @@ export const NoteRepository = db.getRepository(Note).extend({ ? { id: channel.id, name: channel.name, - } + } : undefined, mentions: note.mentions.length > 0 ? note.mentions : undefined, uri: note.uri || undefined, @@ -237,7 +237,7 @@ export const NoteRepository = db.getRepository(Note).extend({ ...(meId ? { myReaction: populateMyReaction(note, meId, options?._hint_), - } + } : {}), ...(opts.detail @@ -246,16 +246,16 @@ export const NoteRepository = db.getRepository(Note).extend({ ? this.pack(note.reply || note.replyId, me, { detail: false, _hint_: options?._hint_, - }) + }) : undefined, renote: note.renoteId ? this.pack(note.renote || note.renoteId, me, { detail: true, _hint_: options?._hint_, - }) + }) : undefined, - } + } : {}), lang: note.lang, }); diff --git a/packages/backend/src/models/repositories/notification.ts b/packages/backend/src/models/repositories/notification.ts index 90dfbd7397..3305b87b9e 100644 --- a/packages/backend/src/models/repositories/notification.ts +++ b/packages/backend/src/models/repositories/notification.ts @@ -29,7 +29,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ const token = notification.appAccessTokenId ? await AccessTokens.findOneByOrFail({ id: notification.appAccessTokenId, - }) + }) : null; return await awaitAll({ @@ -51,7 +51,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ _hint_: options._hintForEachNotes_, }, ), - } + } : {}), ...(notification.type === "reply" ? { @@ -63,7 +63,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ _hint_: options._hintForEachNotes_, }, ), - } + } : {}), ...(notification.type === "renote" ? { @@ -75,7 +75,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ _hint_: options._hintForEachNotes_, }, ), - } + } : {}), ...(notification.type === "quote" ? { @@ -87,7 +87,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ _hint_: options._hintForEachNotes_, }, ), - } + } : {}), ...(notification.type === "reaction" ? { @@ -100,7 +100,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ }, ), reaction: notification.reaction, - } + } : {}), ...(notification.type === "pollVote" ? { @@ -113,7 +113,7 @@ export const NotificationRepository = db.getRepository(Notification).extend({ }, ), choice: notification.choice, - } + } : {}), ...(notification.type === "pollEnded" ? { @@ -125,21 +125,21 @@ export const NotificationRepository = db.getRepository(Notification).extend({ _hint_: options._hintForEachNotes_, }, ), - } + } : {}), ...(notification.type === "groupInvited" ? { invitation: UserGroupInvitations.pack( notification.userGroupInvitationId!, ), - } + } : {}), ...(notification.type === "app" ? { body: notification.customBody, header: notification.customHeader || token?.name, icon: notification.customIcon || token?.iconUrl, - } + } : {}), }); }, diff --git a/packages/backend/src/models/repositories/page.ts b/packages/backend/src/models/repositories/page.ts index 4d1e9fa4d8..c75c5fb0fd 100644 --- a/packages/backend/src/models/repositories/page.ts +++ b/packages/backend/src/models/repositories/page.ts @@ -88,7 +88,7 @@ export const PageRepository = db.getRepository(Page).extend({ isLiked: meId ? await PageLikes.findOneBy({ pageId: page.id, userId: meId }).then( (x) => x != null, - ) + ) : undefined, }); }, diff --git a/packages/backend/src/models/repositories/user.ts b/packages/backend/src/models/repositories/user.ts index 7c6105d2f2..3bc943965b 100644 --- a/packages/backend/src/models/repositories/user.ts +++ b/packages/backend/src/models/repositories/user.ts @@ -53,8 +53,8 @@ type IsMeAndIsUserDetailed< ? ExpectsMe extends true ? Packed<"MeDetailed"> : ExpectsMe extends false - ? Packed<"UserDetailedNotMe"> - : Packed<"UserDetailed"> + ? Packed<"UserDetailedNotMe"> + : Packed<"UserDetailed"> : Packed<"UserLite">; const ajv = new Ajv(); @@ -235,7 +235,7 @@ export const UserRepository = db.getRepository(User).extend({ reads.length > 0 ? { id: Not(In(reads.map((read) => read.announcementId))), - } + } : {}, ); @@ -292,7 +292,7 @@ export const UserRepository = db.getRepository(User).extend({ ? await NoteUnreads.findOneBy({ userId: userId, noteChannelId: In(channels.map((x) => x.followeeId)), - }) + }) : null; return unread != null; @@ -335,8 +335,8 @@ export const UserRepository = db.getRepository(User).extend({ return elapsed < USER_ONLINE_THRESHOLD ? "online" : elapsed < USER_ACTIVE_THRESHOLD - ? "active" - : "offline"; + ? "active" + : "offline"; }, async getAvatarUrl(user: User): Promise { @@ -429,23 +429,23 @@ export const UserRepository = db.getRepository(User).extend({ profile == null ? null : profile.ffVisibility === "public" || isMe - ? user.followingCount - : profile.ffVisibility === "followers" && - relation && - relation.isFollowing - ? user.followingCount - : null; + ? user.followingCount + : profile.ffVisibility === "followers" && + relation && + relation.isFollowing + ? user.followingCount + : null; const followersCount = profile == null ? null : profile.ffVisibility === "public" || isMe - ? user.followersCount - : profile.ffVisibility === "followers" && - relation && - relation.isFollowing - ? user.followersCount - : null; + ? user.followersCount + : profile.ffVisibility === "followers" && + relation && + relation.isFollowing + ? user.followersCount + : null; const falsy = opts.detail ? false : undefined; @@ -481,7 +481,7 @@ export const UserRepository = db.getRepository(User).extend({ iconUrl: instance.iconUrl, faviconUrl: instance.faviconUrl, themeColor: instance.themeColor, - } + } : undefined, ) : undefined, @@ -538,7 +538,7 @@ export const UserRepository = db.getRepository(User).extend({ securityKeys: UserSecurityKeys.countBy({ userId: user.id, }).then((result) => result >= 1), - } + } : {}), ...(opts.detail && isMe @@ -577,7 +577,7 @@ export const UserRepository = db.getRepository(User).extend({ mutedInstances: profile?.mutedInstances, mutingNotificationTypes: profile?.mutingNotificationTypes, emailNotificationTypes: profile?.emailNotificationTypes, - } + } : {}), ...(opts.includeSecrets @@ -594,7 +594,7 @@ export const UserRepository = db.getRepository(User).extend({ lastUsed: true, }, }), - } + } : {}), ...(relation @@ -609,7 +609,7 @@ export const UserRepository = db.getRepository(User).extend({ isMuted: relation.isMuted, isRenoteMuted: relation.isRenoteMuted, isReplyMuted: relation.isReplyMuted, - } + } : {}), } as Promiseable> as Promiseable< IsMeAndIsUserDetailed diff --git a/packages/backend/src/prelude/time.ts b/packages/backend/src/prelude/time.ts index da83908441..08241890a6 100644 --- a/packages/backend/src/prelude/time.ts +++ b/packages/backend/src/prelude/time.ts @@ -9,15 +9,15 @@ export function dateUTC(time: number[]): Date { time.length === 2 ? Date.UTC(time[0], time[1]) : time.length === 3 - ? Date.UTC(time[0], time[1], time[2]) - : time.length === 4 - ? Date.UTC(time[0], time[1], time[2], time[3]) - : time.length === 5 - ? Date.UTC(time[0], time[1], time[2], time[3], time[4]) - : time.length === 6 - ? Date.UTC(time[0], time[1], time[2], time[3], time[4], time[5]) - : time.length === 7 - ? Date.UTC( + ? Date.UTC(time[0], time[1], time[2]) + : time.length === 4 + ? Date.UTC(time[0], time[1], time[2], time[3]) + : time.length === 5 + ? Date.UTC(time[0], time[1], time[2], time[3], time[4]) + : time.length === 6 + ? Date.UTC(time[0], time[1], time[2], time[3], time[4], time[5]) + : time.length === 7 + ? Date.UTC( time[0], time[1], time[2], @@ -25,8 +25,8 @@ export function dateUTC(time: number[]): Date { time[4], time[5], time[6], - ) - : null; + ) + : null; if (!d) throw new Error("wrong number of arguments"); diff --git a/packages/backend/src/queue/get-job-info.ts b/packages/backend/src/queue/get-job-info.ts index 7a8a469af5..a4e8687506 100644 --- a/packages/backend/src/queue/get-job-info.ts +++ b/packages/backend/src/queue/get-job-info.ts @@ -7,8 +7,8 @@ export function getJobInfo(job: Bull.Job, increment = false) { age > 60000 ? `${Math.floor(age / 1000 / 60)}m` : age > 10000 - ? `${Math.floor(age / 1000)}s` - : `${age}ms`; + ? `${Math.floor(age / 1000)}s` + : `${age}ms`; // onActiveとかonCompletedのattemptsMadeがなぜか0始まりなのでインクリメントする const currentAttempts = job.attemptsMade + (increment ? 1 : 0); diff --git a/packages/backend/src/queue/initialize.ts b/packages/backend/src/queue/initialize.ts index 16e623d137..0f9c83132f 100644 --- a/packages/backend/src/queue/initialize.ts +++ b/packages/backend/src/queue/initialize.ts @@ -18,7 +18,7 @@ export function initialize(name: string, limitPerSec = -1) { ? { max: limitPerSec, duration: 1000, - } + } : undefined, settings: { stalledInterval: 60, diff --git a/packages/backend/src/queue/processors/db/export-following.ts b/packages/backend/src/queue/processors/db/export-following.ts index 80e8e6b925..552f8d40c0 100644 --- a/packages/backend/src/queue/processors/db/export-following.ts +++ b/packages/backend/src/queue/processors/db/export-following.ts @@ -38,7 +38,7 @@ export async function exportFollowing( const mutings = job.data.excludeMuting ? await Mutings.findBy({ muterId: user.id, - }) + }) : []; while (true) { diff --git a/packages/backend/src/queue/processors/db/import-blocking.ts b/packages/backend/src/queue/processors/db/import-blocking.ts index 4d2732e32f..159ccbfd4a 100644 --- a/packages/backend/src/queue/processors/db/import-blocking.ts +++ b/packages/backend/src/queue/processors/db/import-blocking.ts @@ -48,11 +48,11 @@ export async function importBlocking( ? await Users.findOneBy({ host: IsNull(), usernameLower: username.toLowerCase(), - }) + }) : await Users.findOneBy({ host: toPuny(host!), usernameLower: username.toLowerCase(), - }); + }); if (host == null && target == null) continue; diff --git a/packages/backend/src/queue/processors/db/import-following.ts b/packages/backend/src/queue/processors/db/import-following.ts index a08cf6c751..d2c2430fa3 100644 --- a/packages/backend/src/queue/processors/db/import-following.ts +++ b/packages/backend/src/queue/processors/db/import-following.ts @@ -46,11 +46,11 @@ export async function importFollowing( ? await Users.findOneBy({ host: IsNull(), usernameLower: username.toLowerCase(), - }) + }) : await Users.findOneBy({ host: toPuny(host!), usernameLower: username.toLowerCase(), - }); + }); if (host == null && target == null) continue; @@ -84,11 +84,11 @@ export async function importFollowing( ? await Users.findOneBy({ host: IsNull(), usernameLower: username.toLowerCase(), - }) + }) : await Users.findOneBy({ host: toPuny(host!), usernameLower: username.toLowerCase(), - }); + }); if (host == null && target == null) continue; diff --git a/packages/backend/src/queue/processors/db/import-muting.ts b/packages/backend/src/queue/processors/db/import-muting.ts index 8a378ef6ab..acb7f22d55 100644 --- a/packages/backend/src/queue/processors/db/import-muting.ts +++ b/packages/backend/src/queue/processors/db/import-muting.ts @@ -49,11 +49,11 @@ export async function importMuting( ? await Users.findOneBy({ host: IsNull(), usernameLower: username.toLowerCase(), - }) + }) : await Users.findOneBy({ host: toPuny(host!), usernameLower: username.toLowerCase(), - }); + }); if (host == null && target == null) continue; diff --git a/packages/backend/src/queue/processors/db/import-user-lists.ts b/packages/backend/src/queue/processors/db/import-user-lists.ts index 886c316041..9c7d49c265 100644 --- a/packages/backend/src/queue/processors/db/import-user-lists.ts +++ b/packages/backend/src/queue/processors/db/import-user-lists.ts @@ -68,11 +68,11 @@ export async function importUserLists( ? await Users.findOneBy({ host: IsNull(), usernameLower: username.toLowerCase(), - }) + }) : await Users.findOneBy({ host: toPuny(host!), usernameLower: username.toLowerCase(), - }); + }); if (target == null) { target = await resolveUser(username, host); diff --git a/packages/backend/src/remote/activitypub/models/note.ts b/packages/backend/src/remote/activitypub/models/note.ts index 3dc54e1fb5..0d706df5d7 100644 --- a/packages/backend/src/remote/activitypub/models/note.ts +++ b/packages/backend/src/remote/activitypub/models/note.ts @@ -205,8 +205,8 @@ export async function createNote( note.attachment = Array.isArray(note.attachment) ? note.attachment : note.attachment - ? [note.attachment] - : []; + ? [note.attachment] + : []; const files = note.attachment.map( (attach) => (attach.sensitive = note.sensitive), ) @@ -216,7 +216,7 @@ export async function createNote( (x) => limit(() => resolveImage(actor, x)) as Promise, ), ) - ).filter((image) => image != null) + ).filter((image) => image != null) : []; // Reply diff --git a/packages/backend/src/remote/activitypub/models/person.ts b/packages/backend/src/remote/activitypub/models/person.ts index 6546f041b8..be8ba4a73f 100644 --- a/packages/backend/src/remote/activitypub/models/person.ts +++ b/packages/backend/src/remote/activitypub/models/person.ts @@ -276,26 +276,26 @@ export async function createPerson( followersCount !== undefined ? followersCount : person.followers && - typeof person.followers !== "string" && - isCollectionOrOrderedCollection(person.followers) - ? person.followers.totalItems - : undefined, + typeof person.followers !== "string" && + isCollectionOrOrderedCollection(person.followers) + ? person.followers.totalItems + : undefined, followingCount: followingCount !== undefined ? followingCount : person.following && - typeof person.following !== "string" && - isCollectionOrOrderedCollection(person.following) - ? person.following.totalItems - : undefined, + typeof person.following !== "string" && + isCollectionOrOrderedCollection(person.following) + ? person.following.totalItems + : undefined, notesCount: notesCount !== undefined ? notesCount : person.outbox && - typeof person.outbox !== "string" && - isCollectionOrOrderedCollection(person.outbox) - ? person.outbox.totalItems - : undefined, + typeof person.outbox !== "string" && + isCollectionOrOrderedCollection(person.outbox) + ? person.outbox.totalItems + : undefined, featured: person.featured ? getApId(person.featured) : undefined, uri: person.id, tags, @@ -315,8 +315,8 @@ export async function createPerson( description: person._misskey_summary ? truncate(person._misskey_summary, summaryLength) : person.summary - ? htmlToMfm(truncate(person.summary, summaryLength), person.tag) - : null, + ? htmlToMfm(truncate(person.summary, summaryLength), person.tag) + : null, url: url, fields, birthday: bday ? bday[0] : null, @@ -526,26 +526,26 @@ export async function updatePerson( followersCount !== undefined ? followersCount : person.followers && - typeof person.followers !== "string" && - isCollectionOrOrderedCollection(person.followers) - ? person.followers.totalItems - : undefined, + typeof person.followers !== "string" && + isCollectionOrOrderedCollection(person.followers) + ? person.followers.totalItems + : undefined, followingCount: followingCount !== undefined ? followingCount : person.following && - typeof person.following !== "string" && - isCollectionOrOrderedCollection(person.following) - ? person.following.totalItems - : undefined, + typeof person.following !== "string" && + isCollectionOrOrderedCollection(person.following) + ? person.following.totalItems + : undefined, notesCount: notesCount !== undefined ? notesCount : person.outbox && - typeof person.outbox !== "string" && - isCollectionOrOrderedCollection(person.outbox) - ? person.outbox.totalItems - : undefined, + typeof person.outbox !== "string" && + isCollectionOrOrderedCollection(person.outbox) + ? person.outbox.totalItems + : undefined, featured: person.featured, emojis: emojiNames, name: truncate(person.name, nameLength), @@ -592,8 +592,8 @@ export async function updatePerson( description: person._misskey_summary ? truncate(person._misskey_summary, summaryLength) : person.summary - ? htmlToMfm(truncate(person.summary, summaryLength), person.tag) - : null, + ? htmlToMfm(truncate(person.summary, summaryLength), person.tag) + : null, birthday: bday ? bday[0] : null, location: person["vcard:Address"] || null, }, diff --git a/packages/backend/src/remote/activitypub/models/question.ts b/packages/backend/src/remote/activitypub/models/question.ts index 59818654fd..98d2f27a58 100644 --- a/packages/backend/src/remote/activitypub/models/question.ts +++ b/packages/backend/src/remote/activitypub/models/question.ts @@ -22,8 +22,8 @@ export async function extractPollFromQuestion( const expiresAt = question.endTime ? new Date(question.endTime) : question.closed - ? new Date(question.closed) - : null; + ? new Date(question.closed) + : null; if (multiple && !question.anyOf) { throw new Error("invalid question"); diff --git a/packages/backend/src/remote/activitypub/renderer/note.ts b/packages/backend/src/remote/activitypub/renderer/note.ts index f3bce41aa7..f1344c1b03 100644 --- a/packages/backend/src/remote/activitypub/renderer/note.ts +++ b/packages/backend/src/remote/activitypub/renderer/note.ts @@ -85,7 +85,7 @@ export default async function renderNote( note.mentions.length > 0 ? await Users.findBy({ id: In(note.mentions), - }) + }) : []; const hashtagTags = (note.tags || []).map((tag) => renderHashtag(tag)); @@ -117,7 +117,7 @@ export default async function renderNote( const contentMap = note.lang ? { [note.lang]: content, - } + } : null; const emojis = await getEmojis(note.emojis); @@ -143,13 +143,13 @@ export default async function renderNote( totalItems: poll!.votes[i], }, })), - } + } : {}; const asTalk = isTalk ? { _misskey_talk: true, - } + } : {}; return { diff --git a/packages/backend/src/remote/activitypub/renderer/person.ts b/packages/backend/src/remote/activitypub/renderer/person.ts index db176a0dde..bba963d72e 100644 --- a/packages/backend/src/remote/activitypub/renderer/person.ts +++ b/packages/backend/src/remote/activitypub/renderer/person.ts @@ -41,9 +41,9 @@ export async function renderPerson(user: ILocalUser) { value: field.value?.match(/^https?:/) ? `${ + }" rel="me nofollow noopener" target="_blank">${ new URL(field.value).href - }` + }` : field.value, }); } diff --git a/packages/backend/src/remote/activitypub/resolver.ts b/packages/backend/src/remote/activitypub/resolver.ts index cc7de13c85..7ddb4b8022 100644 --- a/packages/backend/src/remote/activitypub/resolver.ts +++ b/packages/backend/src/remote/activitypub/resolver.ts @@ -121,7 +121,7 @@ export default class Resolver { (Array.isArray(object["@context"]) ? !(object["@context"] as unknown[]).includes( "https://www.w3.org/ns/activitystreams", - ) + ) : object["@context"] !== "https://www.w3.org/ns/activitystreams") ) { throw new Error("invalid response"); diff --git a/packages/backend/src/server/activitypub/followers.ts b/packages/backend/src/server/activitypub/followers.ts index 146ca51928..3c9e5fa201 100644 --- a/packages/backend/src/server/activitypub/followers.ts +++ b/packages/backend/src/server/activitypub/followers.ts @@ -94,7 +94,7 @@ export default async (ctx: Router.RouterContext) => { ? `${partOf}?${url.query({ page: "true", cursor: followings[followings.length - 1].id, - })}` + })}` : undefined, ); diff --git a/packages/backend/src/server/activitypub/following.ts b/packages/backend/src/server/activitypub/following.ts index eab513ce64..cfbe985911 100644 --- a/packages/backend/src/server/activitypub/following.ts +++ b/packages/backend/src/server/activitypub/following.ts @@ -94,7 +94,7 @@ export default async (ctx: Router.RouterContext) => { ? `${partOf}?${url.query({ page: "true", cursor: followings[followings.length - 1].id, - })}` + })}` : undefined, ); diff --git a/packages/backend/src/server/activitypub/outbox.ts b/packages/backend/src/server/activitypub/outbox.ts index e0a380ffb6..53aa6f4ad5 100644 --- a/packages/backend/src/server/activitypub/outbox.ts +++ b/packages/backend/src/server/activitypub/outbox.ts @@ -93,13 +93,13 @@ export default async (ctx: Router.RouterContext) => { ? `${partOf}?${url.query({ page: "true", since_id: notes[0].id, - })}` + })}` : undefined, notes.length ? `${partOf}?${url.query({ page: "true", until_id: notes[notes.length - 1].id, - })}` + })}` : undefined, ); diff --git a/packages/backend/src/server/api/api-handler.ts b/packages/backend/src/server/api/api-handler.ts index fe761a9b40..620b754f30 100644 --- a/packages/backend/src/server/api/api-handler.ts +++ b/packages/backend/src/server/api/api-handler.ts @@ -22,8 +22,8 @@ export default (endpoint: IEndpoint, ctx: Koa.Context) => const body = ctx.is("multipart/form-data") ? (ctx.request as any).body : ctx.method === "GET" - ? ctx.query - : ctx.request.body; + ? ctx.query + : ctx.request.body; const reply = (x?: any, y?: ApiError) => { if (x == null) { @@ -76,8 +76,8 @@ export default (endpoint: IEndpoint, ctx: Koa.Context) => e.httpStatusCode ? e.httpStatusCode : e.kind === "client" - ? 400 - : 500, + ? 400 + : 500, e, ); }); diff --git a/packages/backend/src/server/api/common/inject-promo.ts b/packages/backend/src/server/api/common/inject-promo.ts index dcc4e5f3fa..005ce53066 100644 --- a/packages/backend/src/server/api/common/inject-promo.ts +++ b/packages/backend/src/server/api/common/inject-promo.ts @@ -11,7 +11,7 @@ export async function injectPromo(timeline: Note[], user?: User | null) { const reads = user ? await PromoReads.findBy({ userId: user.id, - }) + }) : []; let promos = await PromoNotes.find(); diff --git a/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts index a080615e74..d080bd9567 100644 --- a/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts +++ b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts @@ -210,7 +210,7 @@ export default define(meta, paramDef, async (ps, me) => { webpublicUrl: ps.url, }, ], - }); + }); if (file == null) { throw new ApiError(meta.errors.noSuchFile); diff --git a/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts b/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts index 6e66240b71..91c7d2faa7 100644 --- a/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts +++ b/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts @@ -38,16 +38,16 @@ export default define(meta, paramDef, async (ps, user) => { item.value === null ? "null" : Array.isArray(item.value) - ? "array" - : type === "number" - ? "number" - : type === "string" - ? "string" - : type === "boolean" - ? "boolean" - : type === "object" - ? "object" - : (null as never); + ? "array" + : type === "number" + ? "number" + : type === "string" + ? "string" + : type === "boolean" + ? "boolean" + : type === "object" + ? "object" + : (null as never); } return res; diff --git a/packages/backend/src/server/api/endpoints/messaging/history.ts b/packages/backend/src/server/api/endpoints/messaging/history.ts index 25418a17a6..99bb0e98e1 100644 --- a/packages/backend/src/server/api/endpoints/messaging/history.ts +++ b/packages/backend/src/server/api/endpoints/messaging/history.ts @@ -44,7 +44,7 @@ export default define(meta, paramDef, async (ps, user) => { const groups = ps.group ? await UserGroupJoinings.findBy({ userId: user.id, - }).then((xs) => xs.map((x) => x.userGroupId)) + }).then((xs) => xs.map((x) => x.userGroupId)) : []; if (ps.group && groups.length === 0) { diff --git a/packages/backend/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts index 72f6c2eeab..2a674b52c3 100644 --- a/packages/backend/src/server/api/endpoints/meta.ts +++ b/packages/backend/src/server/api/endpoints/meta.ts @@ -477,7 +477,7 @@ export default define(meta, paramDef, async (ps, me) => { place: ad.place, ratio: ad.ratio, imageUrl: ad.imageUrl, - })), + })), enableEmail: instance.enableEmail, enableServiceWorker: instance.enableServiceWorker, @@ -501,7 +501,7 @@ export default define(meta, paramDef, async (ps, me) => { host: IsNull(), isAdmin: true, })) === 0, - } + } : {}), }; diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts index 662ec68c77..270c33abd0 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.ts @@ -297,7 +297,7 @@ export default define(meta, paramDef, async (ps, user) => { choices: ps.poll.choices, multiple: ps.poll.multiple, expiresAt: ps.poll.expiresAt ? new Date(ps.poll.expiresAt) : null, - } + } : undefined, text: ps.text || undefined, lang: ps.lang, diff --git a/packages/backend/src/server/api/endpoints/pages/update.ts b/packages/backend/src/server/api/endpoints/pages/update.ts index 091bfb1947..9509ebfb81 100644 --- a/packages/backend/src/server/api/endpoints/pages/update.ts +++ b/packages/backend/src/server/api/endpoints/pages/update.ts @@ -128,7 +128,7 @@ export default define(meta, paramDef, async (ps, user) => { ps.eyeCatchingImageId === null ? null : ps.eyeCatchingImageId === undefined - ? page.eyeCatchingImageId - : eyeCatchingImage!.id, + ? page.eyeCatchingImageId + : eyeCatchingImage!.id, }); }); diff --git a/packages/backend/src/server/api/endpoints/users/followers.ts b/packages/backend/src/server/api/endpoints/users/followers.ts index 68f605ecb2..cec7a04b3c 100644 --- a/packages/backend/src/server/api/endpoints/users/followers.ts +++ b/packages/backend/src/server/api/endpoints/users/followers.ts @@ -81,7 +81,7 @@ export default define(meta, paramDef, async (ps, me) => { : { usernameLower: ps.username!.toLowerCase(), host: toPunyNullable(ps.host) ?? IsNull(), - }, + }, ); if (user == null) { diff --git a/packages/backend/src/server/api/endpoints/users/following.ts b/packages/backend/src/server/api/endpoints/users/following.ts index c6e3e06f1d..68e6cb6d06 100644 --- a/packages/backend/src/server/api/endpoints/users/following.ts +++ b/packages/backend/src/server/api/endpoints/users/following.ts @@ -80,7 +80,7 @@ export default define(meta, paramDef, async (ps, me) => { : { usernameLower: ps.username!.toLowerCase(), host: toPunyNullable(ps.host) ?? IsNull(), - }, + }, ); if (user == null) { diff --git a/packages/backend/src/server/api/endpoints/users/groups/joined.ts b/packages/backend/src/server/api/endpoints/users/groups/joined.ts index 5d50b5e33c..8a4ad80749 100644 --- a/packages/backend/src/server/api/endpoints/users/groups/joined.ts +++ b/packages/backend/src/server/api/endpoints/users/groups/joined.ts @@ -40,7 +40,7 @@ export default define(meta, paramDef, async (ps, me) => { ...(ownedGroups.length > 0 ? { userGroupId: Not(In(ownedGroups.map((x) => x.id))), - } + } : {}), }); diff --git a/packages/backend/src/server/api/mastodon/endpoints/timeline.ts b/packages/backend/src/server/api/mastodon/endpoints/timeline.ts index 9d29ef3f7a..9d2caaca65 100644 --- a/packages/backend/src/server/api/mastodon/endpoints/timeline.ts +++ b/packages/backend/src/server/api/mastodon/endpoints/timeline.ts @@ -67,10 +67,10 @@ export function apiTimelineMastodon(router: Router): void { query.local === "true" ? await client.getLocalTimeline( convertTimelinesArgsId(argsToBools(limitToInt(query))), - ) + ) : await client.getPublicTimeline( convertTimelinesArgsId(argsToBools(limitToInt(query))), - ); + ); ctx.body = data.data.map((status) => convertStatus(status)); } catch (e: any) { apiLogger.error(inspect(e)); diff --git a/packages/backend/src/server/api/openapi/gen-spec.ts b/packages/backend/src/server/api/openapi/gen-spec.ts index fa0d2d50fe..8b2f92b745 100644 --- a/packages/backend/src/server/api/openapi/gen-spec.ts +++ b/packages/backend/src/server/api/openapi/gen-spec.ts @@ -129,12 +129,12 @@ export function genOpenapiSpec() { }, }, }, - } + } : { "204": { description: "OK (without any results)", }, - }), + }), "400": { description: "Client error", content: { @@ -192,7 +192,7 @@ export function genOpenapiSpec() { }, }, }, - } + } : {}), "500": { description: "Internal server error", diff --git a/packages/backend/src/server/api/streaming.ts b/packages/backend/src/server/api/streaming.ts index 2a1838ba13..a25984ec3e 100644 --- a/packages/backend/src/server/api/streaming.ts +++ b/packages/backend/src/server/api/streaming.ts @@ -68,7 +68,7 @@ export const initializeStreamingServer = (server: http.Server) => { }); }, 1000 * 60 * 5, - ) + ) : null; if (user) { Users.update(user.id, { diff --git a/packages/backend/src/server/file/send-drive-file.ts b/packages/backend/src/server/file/send-drive-file.ts index e7aaf78dcb..b7f3838e3f 100644 --- a/packages/backend/src/server/file/send-drive-file.ts +++ b/packages/backend/src/server/file/send-drive-file.ts @@ -195,7 +195,7 @@ export default async function (ctx: Koa.Context) { BigInt(file.size), ranges, contentType, - ); + ); readable.on("error", commonReadableHandlerGenerator(ctx)); ctx.body = readable; diff --git a/packages/backend/src/server/web/feed.ts b/packages/backend/src/server/web/feed.ts index 50e6bfc325..e6b09b4f4f 100644 --- a/packages/backend/src/server/web/feed.ts +++ b/packages/backend/src/server/web/feed.ts @@ -107,15 +107,15 @@ export default async function ( let outstr = author ? `${author.name}(@${author.username}@${ author.host ? author.host : config.host - }) ${ + }) ${ note.renoteId ? "renotes" : note.replyId ? "replies" : "says" - }:
` + }:
` : ""; const files = note.fileIds.length > 0 ? await DriveFiles.findBy({ id: In(note.fileIds), - }) + }) : []; let fileEle = ""; for (const file of files) { diff --git a/packages/backend/src/server/web/index.ts b/packages/backend/src/server/web/index.ts index 5dd1052295..676b9dc9fd 100644 --- a/packages/backend/src/server/web/index.ts +++ b/packages/backend/src/server/web/index.ts @@ -95,7 +95,7 @@ app.use( `${_dirname}/../../../../../built/_client_dist_/manifest.json`, "utf-8", ), - )["src/init.ts"], + )["src/init.ts"], config, }, }), diff --git a/packages/backend/src/server/web/url-preview.ts b/packages/backend/src/server/web/url-preview.ts index 9b32cabab1..07d3bf7f2c 100644 --- a/packages/backend/src/server/web/url-preview.ts +++ b/packages/backend/src/server/web/url-preview.ts @@ -37,11 +37,11 @@ export const urlPreviewHandler = async (ctx: Koa.Context) => { url: url, lang: lang ?? "en-US", })}`, - ) + ) : await summaly.default(url, { followRedirects: false, lang: lang ?? "en-US", - }); + }); logger.succ(`Got preview of ${url}: ${summary.title}`); @@ -83,7 +83,7 @@ function wrap(url?: string): string | null { ? `${config.url}/proxy/preview.webp?${query({ url, preview: "1", - })}` + })}` : url : null; } diff --git a/packages/backend/src/server/well-known.ts b/packages/backend/src/server/well-known.ts index 999e6d4ae1..1dc0f3d0a5 100644 --- a/packages/backend/src/server/well-known.ts +++ b/packages/backend/src/server/well-known.ts @@ -114,10 +114,10 @@ router.get(webFingerPath, async (ctx) => { resource.startsWith(`${config.url.toLowerCase()}/@`) ? resource.split("/").pop()! : resource.startsWith("acct:") - ? resource.slice("acct:".length) - : resource, + ? resource.slice("acct:".length) + : resource, ), - ); + ); const fromAcct = (acct: Acct.Acct): FindOptionsWhere | number => !acct.host || acct.host === config.host.toLowerCase() @@ -125,7 +125,7 @@ router.get(webFingerPath, async (ctx) => { usernameLower: acct.username, host: IsNull(), isSuspended: false, - } + } : 422; if (typeof ctx.query.resource !== "string") { diff --git a/packages/backend/src/services/chart/core.ts b/packages/backend/src/services/chart/core.ts index 75177e70d0..625498c10a 100644 --- a/packages/backend/src/services/chart/core.ts +++ b/packages/backend/src/services/chart/core.ts @@ -97,10 +97,10 @@ type UnionToIntersection = (T extends any ? (x: T) => any : never) extends ( type UnflattenSingleton = K extends `${infer A}.${infer B}` ? { [_ in A]: UnflattenSingleton; - } + } : { [_ in K]: V; - }; + }; type Unflatten> = UnionToIntersection< { @@ -176,8 +176,8 @@ export default abstract class Chart { v.range === "big" ? "bigint" : v.range === "small" - ? "smallint" - : "integer"; + ? "smallint" + : "integer"; if (v.uniqueIncrement) { columns[uniqueTempColumnPrefix + name] = { type: "varchar", @@ -234,8 +234,8 @@ export default abstract class Chart { span === "hour" ? `__chart__${camelToSnake(name)}` : span === "day" - ? `__chart_day__${camelToSnake(name)}` - : (new Error("not happen") as never), + ? `__chart_day__${camelToSnake(name)}` + : (new Error("not happen") as never), columns: { id: { type: "integer", @@ -251,7 +251,7 @@ export default abstract class Chart { type: "varchar", length: 128, }, - } + } : {}), ...Chart.convertSchemaToColumnDefinitions(schema), }, @@ -335,15 +335,15 @@ export default abstract class Chart { span === "hour" ? this.repositoryForHour : span === "day" - ? this.repositoryForDay - : (new Error("not happen") as never); + ? this.repositoryForDay + : (new Error("not happen") as never); return repository .findOne({ where: group ? { group: group, - } + } : {}, order: { date: -1, @@ -365,16 +365,16 @@ export default abstract class Chart { span === "hour" ? [y, m, d, h] : span === "day" - ? [y, m, d] - : (new Error("not happen") as never), + ? [y, m, d] + : (new Error("not happen") as never), ); const repository = span === "hour" ? this.repositoryForHour : span === "day" - ? this.repositoryForDay - : (new Error("not happen") as never); + ? this.repositoryForDay + : (new Error("not happen") as never); // 現在(=今のHour or Day)のログ const currentLog = (await repository.findOneBy({ @@ -729,21 +729,21 @@ export default abstract class Chart { cursor ? dateUTC([y2, m2, d2, 0]) : dateUTC([y, m, d, 0]), amount - 1, "day", - ) + ) : span === "hour" - ? subtractTime( + ? subtractTime( cursor ? dateUTC([y2, m2, d2, h2]) : dateUTC([y, m, d, h]), amount - 1, "hour", - ) - : (new Error("not happen") as never); + ) + : (new Error("not happen") as never); const repository = span === "hour" ? this.repositoryForHour : span === "day" - ? this.repositoryForDay - : (new Error("not happen") as never); + ? this.repositoryForDay + : (new Error("not happen") as never); // ログ取得 let logs = (await repository.find({ @@ -764,7 +764,7 @@ export default abstract class Chart { where: group ? { group: group, - } + } : {}, order: { date: -1, @@ -801,8 +801,8 @@ export default abstract class Chart { span === "hour" ? subtractTime(dateUTC([y, m, d, h]), i, "hour") : span === "day" - ? subtractTime(dateUTC([y, m, d]), i, "day") - : (new Error("not happen") as never); + ? subtractTime(dateUTC([y, m, d]), i, "day") + : (new Error("not happen") as never); const log = logs.find((l) => isTimeSame(new Date(l.date * 1000), current), diff --git a/packages/backend/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts index b7017f74b1..c71ffb5d13 100644 --- a/packages/backend/src/services/drive/add-file.ts +++ b/packages/backend/src/services/drive/add-file.ts @@ -586,8 +586,8 @@ export async function addFile({ (instance!.markLocalFilesNsfwByDefault || profile!.alwaysMarkNsfw) ? true : sensitive != null - ? sensitive - : false + ? sensitive + : false : false; if (url != null) { diff --git a/packages/backend/src/services/drive/s3.ts b/packages/backend/src/services/drive/s3.ts index a8b51ee3f8..54358bbcfc 100644 --- a/packages/backend/src/services/drive/s3.ts +++ b/packages/backend/src/services/drive/s3.ts @@ -9,7 +9,7 @@ export function getS3(meta: Meta) { meta.objectStorageEndpoint != null ? `${meta.objectStorageUseSsl ? "https://" : "http://"}${ meta.objectStorageEndpoint - }` + }` : `${meta.objectStorageUseSsl ? "https://" : "http://"}example.net`; try { diff --git a/packages/backend/src/services/logger.ts b/packages/backend/src/services/logger.ts index 2fa7908d96..63eb3d00b9 100644 --- a/packages/backend/src/services/logger.ts +++ b/packages/backend/src/services/logger.ts @@ -85,16 +85,16 @@ export default class Logger { ? chalk.bgRed.white("ERR ") : chalk.red("ERR ") : level === "warning" - ? chalk.yellow("WARN") - : level === "success" - ? important + ? chalk.yellow("WARN") + : level === "success" + ? important ? chalk.bgGreen.white("DONE") : chalk.green("DONE") - : level === "debug" - ? chalk.gray("VERB") - : level === "info" - ? chalk.blue("INFO") - : null; + : level === "debug" + ? chalk.gray("VERB") + : level === "info" + ? chalk.blue("INFO") + : null; const domains = [this.domain] .concat(subDomains) .map((d) => @@ -106,14 +106,14 @@ export default class Logger { level === "error" ? chalk.red(message) : level === "warning" - ? chalk.yellow(message) - : level === "success" - ? chalk.green(message) - : level === "debug" - ? chalk.gray(message) - : level === "info" - ? message - : null; + ? chalk.yellow(message) + : level === "success" + ? chalk.green(message) + : level === "debug" + ? chalk.gray(message) + : level === "info" + ? message + : null; let log = `${l} ${worker}\t[${domains.join(" ")}]\t${m}`; if (envOption.withLogTime) log = `${chalk.gray(time)} ${log}`; @@ -130,14 +130,14 @@ export default class Logger { level === "error" ? this.syslogClient.error : level === "warning" - ? this.syslogClient.warning - : level === "success" - ? this.syslogClient.info - : level === "debug" - ? this.syslogClient.info - : level === "info" - ? this.syslogClient.info - : (null as never); + ? this.syslogClient.warning + : level === "success" + ? this.syslogClient.info + : level === "debug" + ? this.syslogClient.info + : level === "info" + ? this.syslogClient.info + : (null as never); send .bind(this.syslogClient)(message) diff --git a/packages/backend/src/services/note/create.ts b/packages/backend/src/services/note/create.ts index fc9913e985..2bd7442211 100644 --- a/packages/backend/src/services/note/create.ts +++ b/packages/backend/src/services/note/create.ts @@ -679,7 +679,7 @@ async function renderNoteOrRenoteActivity(data: Option, note: Note) { ? data.renote.uri : `${config.url}/notes/${data.renote.id}`, note, - ) + ) : renderCreate(await renderNote(note, false), note); return renderActivity(content); diff --git a/packages/backend/src/services/note/delete.ts b/packages/backend/src/services/note/delete.ts index b6f4e6815c..ac3515cfae 100644 --- a/packages/backend/src/services/note/delete.ts +++ b/packages/backend/src/services/note/delete.ts @@ -99,11 +99,11 @@ export default async function ( note, ), user, - ) + ) : renderDelete( renderTombstone(`${config.url}/notes/${note.id}`), user, - ), + ), ); deliverToConcerned(user, note, content); diff --git a/packages/backend/src/services/note/reaction/create.ts b/packages/backend/src/services/note/reaction/create.ts index 64d8d985cc..d9f45cc50a 100644 --- a/packages/backend/src/services/note/reaction/create.ts +++ b/packages/backend/src/services/note/reaction/create.ts @@ -110,7 +110,7 @@ export default async ( ? `${emoji.name}@${emoji.host}` : `${emoji.name}@.`, url: emoji.publicUrl || emoji.originalUrl, // || emoji.originalUrl してるのは後方互換性のため - } + } : null, userId: user.id, }); diff --git a/packages/backend/src/services/note/read.ts b/packages/backend/src/services/note/read.ts index 07d277d84f..3c49501416 100644 --- a/packages/backend/src/services/note/read.ts +++ b/packages/backend/src/services/note/read.ts @@ -34,7 +34,7 @@ export default async function ( select: ["followeeId"], }) ).map((x) => x.followeeId), - ); + ); const followingChannels = info?.followingChannels ? info.followingChannels : new Set( @@ -46,7 +46,7 @@ export default async function ( select: ["followeeId"], }) ).map((x) => x.followeeId), - ); + ); // const myAntennas = (await getAntennas()).filter((a) => a.userId === userId); const readMentions: (Note | Packed<"Note">)[] = []; diff --git a/packages/backend/src/services/send-email.ts b/packages/backend/src/services/send-email.ts index fcc93c79fb..aa96cfc014 100644 --- a/packages/backend/src/services/send-email.ts +++ b/packages/backend/src/services/send-email.ts @@ -29,7 +29,7 @@ export async function sendEmail( ? { user: meta.smtpUser, pass: meta.smtpPass, - } + } : undefined, } as any); diff --git a/packages/backend/src/services/stream.ts b/packages/backend/src/services/stream.ts index aceed7d794..bd09bc3f2c 100644 --- a/packages/backend/src/services/stream.ts +++ b/packages/backend/src/services/stream.ts @@ -33,8 +33,8 @@ class Publisher { type == null ? value : value == null - ? { type: type, body: null } - : { type: type, body: value }; + ? { type: type, body: null } + : { type: type, body: value }; redisClient.publish( config.host, diff --git a/packages/backend/src/services/validate-email-for-account.ts b/packages/backend/src/services/validate-email-for-account.ts index 535a389f0c..4d05afcc6d 100644 --- a/packages/backend/src/services/validate-email-for-account.ts +++ b/packages/backend/src/services/validate-email-for-account.ts @@ -21,7 +21,7 @@ export async function validateEmailForAccount(emailAddress: string): Promise<{ validateTypo: false, // TLDを見ているみたいだけどclubとか弾かれるので validateDisposable: true, // 捨てアドかどうかチェック validateSMTP: false, // 日本だと25ポートが殆どのプロバイダーで塞がれていてタイムアウトになるので - }) + }) : { valid: true }; const available = exist === 0 && validated.valid; @@ -31,15 +31,15 @@ export async function validateEmailForAccount(emailAddress: string): Promise<{ reason: available ? null : exist !== 0 - ? "used" - : validated.reason === "regex" - ? "format" - : validated.reason === "disposable" - ? "disposable" - : validated.reason === "mx" - ? "mx" - : validated.reason === "smtp" - ? "smtp" - : null, + ? "used" + : validated.reason === "regex" + ? "format" + : validated.reason === "disposable" + ? "disposable" + : validated.reason === "mx" + ? "mx" + : validated.reason === "smtp" + ? "smtp" + : null, }; } diff --git a/packages/backend/test/e2e/users.ts b/packages/backend/test/e2e/users.ts index 4495a4264f..016b9e10d8 100644 --- a/packages/backend/test/e2e/users.ts +++ b/packages/backend/test/e2e/users.ts @@ -171,7 +171,7 @@ describe("ユーザー", () => { email: user.email, emailVerified: user.emailVerified, securityKeysList: user.securityKeysList, - } + } : {}), }); }; diff --git a/packages/backend/test/utils.ts b/packages/backend/test/utils.ts index b67dc037d4..a755fc9b96 100644 --- a/packages/backend/test/utils.ts +++ b/packages/backend/test/utils.ts @@ -37,7 +37,7 @@ export const api = async (endpoint: string, params: any, me?: any) => { const auth = me ? { i: me.token, - } + } : {}; const res = await got(`http://localhost:${port}/api/${endpoint}`, { @@ -77,7 +77,7 @@ export const request = async ( const auth = me ? { i: me.token, - } + } : {}; const res = await fetch(`http://localhost:${port}/api${endpoint}`, { @@ -152,8 +152,8 @@ export const uploadFile = async (user: any, _path?: string): Promise => { _path == null ? `${_dirname}/resources/Lenna.jpg` : path.isAbsolute(_path) - ? _path - : `${_dirname}/resources/${_path}`; + ? _path + : `${_dirname}/resources/${_path}`; const formData = new FormData() as any; formData.append("i", user.token); diff --git a/packages/client/assets/tagcanvas.min.js b/packages/client/assets/tagcanvas.min.js index 2a19f5c140..526dec528d 100644 --- a/packages/client/assets/tagcanvas.min.js +++ b/packages/client/assets/tagcanvas.min.js @@ -173,10 +173,10 @@ return c == 0 ? Math.PI / 2 : ((a = c / (this.length() * b.length())), a >= 1) - ? 0 - : a <= -1 - ? Math.PI - : Math.acos(a); + ? 0 + : a <= -1 + ? Math.PI + : Math.acos(a); }), (z.unit = function () { var a = this.length(); @@ -226,7 +226,7 @@ this[a][1] * c[1][b] + this[a][2] * c[2][b] + this[a][3] * c[3][b], - ) + ) : d.push(this[a][b] * c); return new m(d); }), @@ -330,14 +330,14 @@ D[a.substr(1, 2)] + D[a.substr(3, 2)] + D[a.substr(5, 2)])), - (b = I[a] + f)) + (b = I[a] + f)) : a.substr(0, 4) === "rgb(" || a.substr(0, 4) === "hsl(" - ? (b = a.replace("(", "a(").replace(")", "," + f)) - : (a.substr(0, 5) === "rgba(" || a.substr(0, 5) === "hsla(") && - ((d = a.lastIndexOf(",") + 1), - (e = a.indexOf(")")), - (c *= parseFloat(a.substring(d, e))), - (b = a.substr(0, d) + c.toPrecision(3) + ")")), + ? (b = a.replace("(", "a(").replace(")", "," + f)) + : (a.substr(0, 5) === "rgba(" || a.substr(0, 5) === "hsla(") && + ((d = a.lastIndexOf(",") + 1), + (e = a.indexOf(")")), + (c *= parseFloat(a.substring(d, e))), + (b = a.substr(0, d) + c.toPrecision(3) + ")")), b ); } @@ -414,13 +414,13 @@ function y(d, a, b, f, e, c, g) { c ? (d.beginPath(), - d.moveTo(a, b + e - c), - d.arcTo(a, b, a + c, b, c), - d.arcTo(a + f, b, a + f, b + c, c), - d.arcTo(a + f, b + e, a + f - c, b + e, c), - d.arcTo(a, b + e, a, b + e - c, c), - d.closePath(), - d[g ? "stroke" : "fill"]()) + d.moveTo(a, b + e - c), + d.arcTo(a, b, a + c, b, c), + d.arcTo(a + f, b, a + f, b + c, c), + d.arcTo(a + f, b + e, a + f - c, b + e, c), + d.arcTo(a, b + e, a, b + e - c, c), + d.closePath(), + d[g ? "stroke" : "fill"]()) : d[g ? "strokeRect" : "fillRect"](a, b, f, e); } function O(a, b, c, d, e, f, g, h, i) { @@ -489,33 +489,33 @@ ? (c < this.width ? (w += this.Align(c, this.width, this.ialign)) : (v += this.Align(this.width, c, this.align)), - this.ipos == "top" + this.ipos == "top" ? (r += d + this.ipad) : (n += this.height + this.ipad), - (e = g(e, c + l)), - (f += d + this.ipad)) + (e = g(e, c + l)), + (f += d + this.ipad)) : (d < this.height ? (n += this.Align(d, this.height, this.ivalign)) : (r += this.Align(this.height, d, this.valign)), - this.ipos == "right" + this.ipos == "right" ? (w += this.width + this.ipad) : (v += c + this.ipad), - (e += c + this.ipad), - (f = g(f, d + i)))), + (e += c + this.ipad), + (f = g(f, d + i)))), (o = k(e, f)), !o ? null : ((l = i = b / 2), - (s = e - b), - (u = f - b), - (x = h(E, s / 2, u / 2)), - (a = o.getContext("2d")), - D && ((a.fillStyle = D), y(a, l, i, s, u, x)), - b && + (s = e - b), + (u = f - b), + (x = h(E, s / 2, u / 2)), + (a = o.getContext("2d")), + D && ((a.fillStyle = D), y(a, l, i, s, u, x)), + b && ((a.strokeStyle = F), (a.lineWidth = b), y(a, l, i, s, u, x, !0)), - (m || B || C) && + (m || B || C) && ((t = k(e, f)), t && ((z = a), (a = t.getContext("2d")))), - Y( + Y( a, this.font, G, @@ -528,16 +528,16 @@ this.maxWidth, this.stringWidths, this.align, - ), - this.image && a.drawImage(this.image, w, n, c, d), - z && + ), + this.image && a.drawImage(this.image, w, n, c, d), + z && ((a = z), A && (a.shadowColor = A), m && (a.shadowBlur = m), (a.shadowOffsetX = q[0]), (a.shadowOffsetY = q[1]), a.drawImage(t, 0, 0)), - o) + o) ); }); function H(a, c, d) { @@ -545,8 +545,8 @@ e; return b ? ((e = b.getContext("2d")), - e.drawImage(a, (c - a.width) / 2, (d - a.height) / 2), - b) + e.drawImage(a, (c - a.width) / 2, (d - a.height) / 2), + b) : null; } function S(e, b, c) { @@ -568,28 +568,28 @@ p; return l ? ((c *= e), - (r *= e), - (i = q = c / 2), - (m = g - c), - (j = f - c), - (d = d * e + i), - (b = l.getContext("2d")), - (p = h(r, m / 2, j / 2)), - s && ((b.fillStyle = s), y(b, i, q, m, j, p)), - c && ((b.strokeStyle = v), (b.lineWidth = c), y(b, i, q, m, j, p, !0)), - w + (r *= e), + (i = q = c / 2), + (m = g - c), + (j = f - c), + (d = d * e + i), + (b = l.getContext("2d")), + (p = h(r, m / 2, j / 2)), + s && ((b.fillStyle = s), y(b, i, q, m, j, p)), + c && ((b.strokeStyle = v), (b.lineWidth = c), y(b, i, q, m, j, p, !0)), + w ? ((o = k(g, f)), - (a = o.getContext("2d")), - a.drawImage(n, d, d, u, t), - (a.globalCompositeOperation = "source-in"), - (a.fillStyle = v), - a.fillRect(0, 0, g, f), - (a.globalCompositeOperation = "destination-over"), - a.drawImage(l, 0, 0), - (a.globalCompositeOperation = "source-over"), - b.drawImage(o, 0, 0)) + (a = o.getContext("2d")), + a.drawImage(n, d, d, u, t), + (a.globalCompositeOperation = "source-in"), + (a.fillStyle = v), + a.fillRect(0, 0, g, f), + (a.globalCompositeOperation = "destination-over"), + a.drawImage(l, 0, 0), + (a.globalCompositeOperation = "source-over"), + b.drawImage(o, 0, 0)) : b.drawImage(n, d, d, n.width, n.height), - { image: l, width: g / e, height: f / e }) + { image: l, width: g / e, height: f / e }) : null; } function at(l, f, c, d, j) { @@ -602,20 +602,20 @@ !e ? null : (f.indexOf("%") > 0 ? (b = (i * b) / 100) : (b = b * j), - (a = e.getContext("2d")), - (a.globalCompositeOperation = "source-over"), - (a.fillStyle = "#fff"), - b >= i / 2 + (a = e.getContext("2d")), + (a.globalCompositeOperation = "source-over"), + (a.fillStyle = "#fff"), + b >= i / 2 ? ((b = h(c, d) / 2), - a.beginPath(), - a.moveTo(c / 2, d / 2), - a.arc(c / 2, d / 2, b, 0, 2 * Math.PI, !1), - a.fill(), - a.closePath()) + a.beginPath(), + a.moveTo(c / 2, d / 2), + a.arc(c / 2, d / 2, b, 0, 2 * Math.PI, !1), + a.fill(), + a.closePath()) : ((b = h(c / 2, d / 2, b)), y(a, 0, 0, c, d, b, !0), a.fill()), - (a.globalCompositeOperation = "source-in"), - a.drawImage(l, 0, 0, c, d), - e) + (a.globalCompositeOperation = "source-in"), + a.drawImage(l, 0, 0, c, d), + e) ); } function ao(q, m, i, b, h, a, c) { @@ -632,11 +632,11 @@ !e ? null : ((d = e.getContext("2d")), - h && (d.shadowColor = h), - a && (d.shadowBlur = a * b), - c && ((d.shadowOffsetX = c[0] * b), (d.shadowOffsetY = c[1] * b)), - d.drawImage(q, n, o, m, i), - { image: e, width: j / b, height: l / b }) + h && (d.shadowColor = h), + a && (d.shadowBlur = a * b), + c && ((d.shadowOffsetX = c[0] * b), (d.shadowOffsetY = c[1] * b)), + d.drawImage(q, n, o, m, i), + { image: e, width: j / b, height: l / b }) ); } function ae(m, o, l) { @@ -779,16 +779,16 @@ b.outlineMethod == "size" && (b.outlineIncrease > 0 ? ((a.iw += 2 * b.outlineIncrease), - (a.ih += 2 * b.outlineIncrease), - (f = h * a.iw), - (d = h * a.ih), - (c = S(a.fimage, f, d)), - (a.oimage = c), - (a.fimage = H(a.fimage, a.oimage.width, a.oimage.height))) + (a.ih += 2 * b.outlineIncrease), + (f = h * a.iw), + (d = h * a.ih), + (c = S(a.fimage, f, d)), + (a.oimage = c), + (a.fimage = H(a.fimage, a.oimage.width, a.oimage.height))) : ((f = h * (a.iw + 2 * b.outlineIncrease)), - (d = h * (a.ih + 2 * b.outlineIncrease)), - (c = S(a.fimage, f, d)), - (a.oimage = H(c, a.fimage.width, a.fimage.height)))))), + (d = h * (a.ih + 2 * b.outlineIncrease)), + (c = S(a.fimage, f, d)), + (a.oimage = H(c, a.fimage.width, a.fimage.height)))))), (a.alt = j), a.Init(); } @@ -811,7 +811,7 @@ d ? (b = 1 * (c.getAttribute(d) || e)) : (a = i(c, "font-size")) && - (b = + (b = (a.indexOf("px") > -1 && a.replace("px", "") * 1) || (a.indexOf("pt") > -1 && a.replace("pt", "") * 1.25) || a * 3.3), @@ -832,8 +832,8 @@ n(a.offsetX) ? (b = { x: a.offsetX, y: a.offsetY }) : ((d = X(c.id)), - n(a.changedTouches) && (a = a.changedTouches[0]), - a.pageX && (b = { x: a.pageX - d.x, y: a.pageY - d.y })), + n(a.changedTouches) && (a = a.changedTouches[0]), + a.pageX && (b = { x: a.pageX - d.x, y: a.pageY - d.y })), b && e && f && ((b.x /= e), (b.y /= f)), b ); @@ -881,11 +881,11 @@ c.changedTouches && (c.touches.length == 1 && b.touchState == 0 ? ((b.touchState = 1), - b.BeginDrag(c), - (d = K(c, b.canvas)) && ((b.mx = d.x), (b.my = d.y), (b.drawn = 0))) + b.BeginDrag(c), + (d = K(c, b.canvas)) && ((b.mx = d.x), (b.my = d.y), (b.drawn = 0))) : c.targetTouches.length == 2 && b.pinchZoom - ? ((b.touchState = 3), b.EndDrag(), b.BeginPinch(c)) - : (b.EndDrag(), b.EndPinch(), (b.touchState = 0))); + ? ((b.touchState = 3), b.EndDrag(), b.BeginPinch(c)) + : (b.EndDrag(), b.EndPinch(), (b.touchState = 0))); } function ac(c) { var d = u(c), @@ -1001,10 +1001,10 @@ b[a].nodeName == "BR" ? (this.text.push(this.line.join(" ")), (this.br = 1)) : b[a].nodeType == 3 - ? this.br + ? this.br ? ((this.line = [b[a].nodeValue]), (this.br = 0)) : this.line.push(b[a].nodeValue) - : this.Lines(b[a]); + : this.Lines(b[a]); return e || this.br || this.text.push(this.line.join(" ")), this.text; }), (F.SplitWidth = function (h, e, f, g) { @@ -1056,7 +1056,7 @@ a == "none" ? (this.Draw = function () { return 1; - }) + }) : (this.drawFunc = this[c[1]]), (this[c[0]] = this.Draw), d && ((this.RealPreDraw = this.PreDraw), (this.PreDraw = this.DrawAlt)); @@ -1089,7 +1089,7 @@ (a = ~~d % j)), a ? (b >= a ? ((h = b - a), (g = a)) : ((f = j - a), (i = c - f)), - (e = [h, f, g, i])) + (e = [h, f, g, i])) : (e = [b, c]), k.setLineDash(e); }), @@ -1109,10 +1109,10 @@ ? (d = (a.image.height + this.tc.outlineIncrease) / a.image.height) : (d = a.oscale), - (b = a.fimage || a.image), - (c = 1 + (d - 1) * (1 - this.pulse)), - (a.h *= c), - (a.w *= c)) + (b = a.fimage || a.image), + (c = 1 + (d - 1) * (1 - this.pulse)), + (a.h *= c), + (a.w *= c)) : (b = a.oimage), (a.alpha = 1), a.Draw(i, h, g, b), @@ -1125,11 +1125,11 @@ return a.oimage ? (this.pulse < 1 ? ((a.alpha = 1 - w(this.pulse, 2)), - a.Draw(d, b, c, a.fimage), - (a.alpha = this.pulse)) + a.Draw(d, b, c, a.fimage), + (a.alpha = this.pulse)) : (a.alpha = 1), - a.Draw(d, b, c, a.oimage), - 1) + a.Draw(d, b, c, a.oimage), + 1) : this[a.image ? "DrawColourImage" : "DrawColourText"]( d, h, @@ -1140,7 +1140,7 @@ a, b, c, - ); + ); }), (f.DrawColourText = function (f, h, i, j, g, e, a, b, c) { var d = a.colour; @@ -1158,24 +1158,24 @@ !v ? this.SetMethod("outline") : ((j = v.getContext("2d")), - j.drawImage(f, e, d, c, b, 0, 0, c, b), - a.clearRect(e, d, c, b), - this.pulsate ? (i.alpha = 1 - w(this.pulse, 2)) : (i.alpha = 1), - i.Draw(a, r, l), - a.setTransform(1, 0, 0, 1, 0, 0), - a.save(), - a.beginPath(), - a.rect(e, d, c, b), - a.clip(), - (a.globalCompositeOperation = "source-in"), - (a.fillStyle = m), - a.fillRect(e, d, c, b), - a.restore(), - (a.globalAlpha = 1), - (a.globalCompositeOperation = "destination-over"), - a.drawImage(v, 0, 0, c, b, e, d, c, b), - (a.globalCompositeOperation = "source-over"), - 1) + j.drawImage(f, e, d, c, b, 0, 0, c, b), + a.clearRect(e, d, c, b), + this.pulsate ? (i.alpha = 1 - w(this.pulse, 2)) : (i.alpha = 1), + i.Draw(a, r, l), + a.setTransform(1, 0, 0, 1, 0, 0), + a.save(), + a.beginPath(), + a.rect(e, d, c, b), + a.clip(), + (a.globalCompositeOperation = "source-in"), + (a.fillStyle = m), + a.fillRect(e, d, c, b), + a.restore(), + (a.globalAlpha = 1), + (a.globalCompositeOperation = "destination-over"), + a.drawImage(v, 0, 0, c, b, e, d, c, b), + (a.globalCompositeOperation = "source-over"), + 1) ); }), (f.DrawAlt = function (b, a, c, d, f, g) { @@ -1262,8 +1262,8 @@ return this.a.href != a.href ? 0 : b.length - ? this.image.src == b[0].src - : (a.innerText || a.textContent) == this.text_original; + ? this.image.src == b[0].src + : (a.innerText || a.textContent) == this.text_original; }), (d.SetImage = function (a) { this.image = this.fimage = a; @@ -1354,21 +1354,21 @@ i, b * this.padding, b * this.bgRadius, - )) + )) : a.outlineMethod == "size" && - ((f = ae( + ((f = ae( this.text, this.textFont, this.textHeight + a.outlineIncrease, - )), - (k = f.max.y + f.min.y), - (h = + )), + (k = f.max.y + f.min.y), + (h = b * (this.textHeight + a.outlineIncrease) + "px " + this.textFont), - (e.font = h), - (g = this.MeasureText(e)), - (d = new O( + (e.font = h), + (g = this.MeasureText(e)), + (d = new O( this.text, h, g + b, @@ -1378,8 +1378,8 @@ a.textAlign, a.textVAlign, b, - )), - this.image && + )), + this.image && d.SetImage( this.image, this.iw + a.outlineIncrease, @@ -1390,7 +1390,7 @@ a.imageVAlign, a.imageScale, ), - (this.oimage = d.Create( + (this.oimage = d.Create( this.colour, this.bgColour, this.bgOutline, @@ -1400,9 +1400,9 @@ i, b * this.padding, b * this.bgRadius, - )), - (this.oscale = this.oimage.width / c.width), - a.outlineIncrease > 0 + )), + (this.oscale = this.oimage.width / c.width), + a.outlineIncrease > 0 ? (c = H(c, this.oimage.width, this.oimage.height)) : (this.oimage = H(this.oimage, c.width, c.height))), c && @@ -1440,8 +1440,8 @@ b.min_weight[a], b.max_weight[a], a, - ), - this.Weight( + ), + this.Weight( c[a], b.ctxt, b, @@ -1449,7 +1449,7 @@ b.min_weight[a], b.max_weight[a], a, - )) + )) : this.Weight( c[a], b.ctxt, @@ -1458,7 +1458,7 @@ b.min_weight[a], b.max_weight[a], a, - ); + ); this.Measure(b.ctxt, b); }), (d.Weight = function (b, i, a, d, f, h, e) { @@ -1467,13 +1467,13 @@ "colour" == d ? (this.colour = L(a, c, e)) : "bgcolour" == d - ? (this.bgColour = L(a, c, e)) - : "bgoutline" == d - ? (this.bgOutline = L(a, c, e)) - : "outline" == d - ? (this.outline.colour = L(a, c, e)) - : "size" == d && - (a.weightSizeMin > 0 && a.weightSizeMax > a.weightSizeMin + ? (this.bgColour = L(a, c, e)) + : "bgoutline" == d + ? (this.bgOutline = L(a, c, e)) + : "outline" == d + ? (this.outline.colour = L(a, c, e)) + : "size" == d && + (a.weightSizeMin > 0 && a.weightSizeMax > a.weightSizeMin ? (this.textHeight = a.weightSize * (a.weightSizeMin + @@ -1504,8 +1504,8 @@ "right" == e.textAlign ? (d += this.w / 2 - this.line_widths[b]) : "centre" == e.textAlign - ? (d -= this.line_widths[b] / 2) - : (d -= this.w / 2), + ? (d -= this.line_widths[b] / 2) + : (d -= this.w / 2), a.setTransform(c, 0, 0, c, c * d, c * f), a.fillText(this.text[b], 0, 0), (f += this.textHeight); @@ -1712,8 +1712,8 @@ : a.Smooth), this.shadowBlur || this.shadowOffset[0] || this.shadowOffset[1] ? ((this.ctxt.shadowColor = this.shadow), - (this.shadow = this.ctxt.shadowColor), - (this.shadowAlpha = aD())) + (this.shadow = this.ctxt.shadowColor), + (this.shadowAlpha = aD())) : delete this.shadow, this.activeAudio === !1 ? (e = "off") @@ -1730,17 +1730,17 @@ b.HideTags(); }, window, - ); + ); })(this), (this.yaw = this.initial ? this.initial[0] * this.maxSpeed : 0), (this.pitch = this.initial ? this.initial[1] * this.maxSpeed : 0), this.tooltip ? ((this.ctitle = b.title), - (b.title = ""), - this.tooltip == "native" + (b.title = ""), + this.tooltip == "native" ? (this.Tooltip = this.TooltipNative) : ((this.Tooltip = this.TooltipDiv), - this.ttdiv || + this.ttdiv || ((this.ttdiv = c.createElement("div")), (this.ttdiv.className = this.tooltipClass), (this.ttdiv.style.position = "absolute"), @@ -1874,18 +1874,18 @@ d.Empty() ? (d = null) : ((g = this.textFont || Q(i(b, "font-family"))), - this.splitWidth && + this.splitWidth && (f = d.SplitWidth( this.splitWidth, this.ctxt, g, this.textHeight, )), - (h = + (h = this.bgColour == "tag" ? i(b, "background-color") : this.bgColour), - (j = this.bgOutline == "tag" ? i(b, "color") : this.bgOutline))), + (j = this.bgOutline == "tag" ? i(b, "color") : this.bgOutline))), d || c) ) return ( @@ -1973,11 +1973,11 @@ this.shapeArgs ? (this.shapeArgs[0] = b.length) : ((l = this.shape.toString().split(/[(),]/)), - (d = l.shift()), - typeof window[d] == "function" + (d = l.shift()), + typeof window[d] == "function" ? (this.shape = window[d]) : (this.shape = m[d] || m.sphere), - (this.shapeArgs = [b.length, h, i, j].concat(l))), + (this.shapeArgs = [b.length, h, i, j].concat(l))), (f = this.shape.apply(this, this.shapeArgs)), (this.listLength = b.length); for (a = 0; a < b.length; ++a) @@ -2189,8 +2189,8 @@ b && a && a.title ? this.SetTTDiv(a.title, a) : !b && this.mx != -1 && this.my != -1 && this.ctitle.length - ? this.SetTTDiv(this.ctitle) - : (this.ttdiv.style.display = "none"); + ? this.SetTTDiv(this.ctitle) + : (this.ttdiv.style.display = "none"); }), (b.Transform = function (c, a, b) { if (a || b) { @@ -2222,8 +2222,8 @@ (this.transform = a.transform), b >= a.t ? ((this.fixedCallbackTag = a.tag), - (this.fixedCallback = a.cb), - (this.fixedAnim = this.yaw = this.pitch = 0)) + (this.fixedCallback = a.cb), + (this.fixedAnim = this.yaw = this.pitch = 0)) : (c *= e), (d = m.Rotation(c, a.axis)), (this.transform = this.transform.mul(d)), @@ -2238,12 +2238,12 @@ c; !a.frozen && d >= 0 && e >= 0 && d < g && e < h ? ((b = a.maxSpeed), - (c = a.reverse ? -1 : 1), - a.lx || (a.yaw = ((d * 2 * b) / g - b) * c * f), - a.ly || (a.pitch = ((e * 2 * b) / h - b) * -c * f), - (a.initial = null)) + (c = a.reverse ? -1 : 1), + a.lx || (a.yaw = ((d * 2 * b) / g - b) * c * f), + a.ly || (a.pitch = ((e * 2 * b) / h - b) * -c * f), + (a.initial = null)) : a.initial || - (a.frozen && !a.freezeDecel ? (a.yaw = a.pitch = 0) : a.Decel(a)), + (a.frozen && !a.freezeDecel ? (a.yaw = a.pitch = 0) : a.Decel(a)), this.Transform(a, a.pitch, a.yaw); }), (b.AnimateDrag = function (d, e, c) { @@ -2251,9 +2251,9 @@ b = (100 * c * a.maxSpeed) / a.max_radius / a.zoom; a.dx || a.dy ? (a.lx || (a.yaw = (a.dx * b) / a.stretchX), - a.ly || (a.pitch = (a.dy * -b) / a.stretchY), - (a.dx = a.dy = 0), - (a.initial = null)) + a.ly || (a.pitch = (a.dy * -b) / a.stretchY), + (a.dx = a.dy = 0), + (a.initial = null)) : a.initial || a.Decel(a), this.Transform(a, a.pitch, a.yaw); }), @@ -2297,7 +2297,7 @@ a.tag.Clicked(b); }, !0, - )); + )); } catch (a) {} }), (b.Wheel = function (a) { @@ -2382,7 +2382,7 @@ cb: f, tag: a, active: g, - }); + }); }), (b.TagToFront = function (a, b, c, d) { this.RotateTag(a, 0, 0, b, c, d); diff --git a/packages/client/src/account.ts b/packages/client/src/account.ts index 140d865f01..4fd201fa49 100644 --- a/packages/client/src/account.ts +++ b/packages/client/src/account.ts @@ -251,7 +251,7 @@ export async function openAccountMenu( }, ], }, - ] + ] : [ { type: "link", @@ -260,7 +260,7 @@ export async function openAccountMenu( avatar: me, }, null, - ]), + ]), ...(opts.includeCurrentAccount ? [createItem(me)] : []), ...accountItemPromises, ...(isMobile ?? false @@ -272,7 +272,7 @@ export async function openAccountMenu( to: `/@${me.username}`, avatar: me, }, - ] + ] : [ { type: "parent", @@ -293,7 +293,7 @@ export async function openAccountMenu( }, ], }, - ]), + ]), ], ], ev.currentTarget ?? ev.target, diff --git a/packages/client/src/components/mfm.ts b/packages/client/src/components/mfm.ts index f697c3ceb6..004ccf4a94 100644 --- a/packages/client/src/components/mfm.ts +++ b/packages/client/src/components/mfm.ts @@ -149,13 +149,13 @@ export default defineComponent({ const direction = token.props.args.left ? "reverse" : token.props.args.alternate - ? "alternate" - : "normal"; + ? "alternate" + : "normal"; const anime = token.props.args.x ? "mfm-spinX" : token.props.args.y - ? "mfm-spinY" - : "mfm-spin"; + ? "mfm-spinY" + : "mfm-spin"; const speed = validTime(token.props.args.speed) || "1.5s"; const delay = validTime(token.props.args.delay) || "0s"; const loop = validNumber(token.props.args.loop) || "infinite"; @@ -204,8 +204,8 @@ export default defineComponent({ token.props.args.h && token.props.args.v ? "scale(-1, -1)" : token.props.args.v - ? "scaleY(-1)" - : "scaleX(-1)"; + ? "scaleY(-1)" + : "scaleX(-1)"; style = `transform: ${transform};`; break; } @@ -240,16 +240,16 @@ export default defineComponent({ const family = token.props.args.serif ? "serif" : token.props.args.monospace - ? "monospace" - : token.props.args.cursive - ? "cursive" - : token.props.args.fantasy - ? "fantasy" - : token.props.args.emoji - ? "emoji" - : token.props.args.math - ? "math" - : null; + ? "monospace" + : token.props.args.cursive + ? "cursive" + : token.props.args.fantasy + ? "fantasy" + : token.props.args.emoji + ? "emoji" + : token.props.args.math + ? "math" + : null; if (family) style = `font-family: ${family};`; break; } @@ -266,8 +266,8 @@ export default defineComponent({ const rotate = token.props.args.x ? "perspective(128px) rotateX" : token.props.args.y - ? "perspective(128px) rotateY" - : "rotate"; + ? "perspective(128px) rotateY" + : "rotate"; const degrees = parseFloat(token.props.args.deg ?? "90"); style = `transform: ${rotate}(${degrees}deg); transform-origin: center center;`; break; diff --git a/packages/client/src/directives/tooltip.ts b/packages/client/src/directives/tooltip.ts index 22894e1181..cdbc6b7e37 100644 --- a/packages/client/src/directives/tooltip.ts +++ b/packages/client/src/directives/tooltip.ts @@ -63,12 +63,12 @@ export default { direction: binding.modifiers.left ? "left" : binding.modifiers.right - ? "right" - : binding.modifiers.top - ? "top" - : binding.modifiers.bottom - ? "bottom" - : "top", + ? "right" + : binding.modifiers.top + ? "top" + : binding.modifiers.bottom + ? "bottom" + : "top", targetElement: el, }, {}, diff --git a/packages/client/src/init.ts b/packages/client/src/init.ts index c413fa37e4..17b44bb9f8 100644 --- a/packages/client/src/init.ts +++ b/packages/client/src/init.ts @@ -190,10 +190,10 @@ function checkForSplash() { window.location.search === "?zen" ? defineAsyncComponent(() => import("@/ui/zen.vue")) : !me - ? defineAsyncComponent(() => import("@/ui/visitor.vue")) - : ui === "deck" - ? defineAsyncComponent(() => import("@/ui/deck.vue")) - : defineAsyncComponent(() => import("@/ui/universal.vue")), + ? defineAsyncComponent(() => import("@/ui/visitor.vue")) + : ui === "deck" + ? defineAsyncComponent(() => import("@/ui/deck.vue")) + : defineAsyncComponent(() => import("@/ui/universal.vue")), ); if (_DEV_) { diff --git a/packages/client/src/instance.ts b/packages/client/src/instance.ts index 7a5a7f4def..d24b3ca356 100644 --- a/packages/client/src/instance.ts +++ b/packages/client/src/instance.ts @@ -12,7 +12,7 @@ export const instance: entities.DetailedInstanceMetadata = reactive( ? JSON.parse(instanceData) : { // TODO: set default values - }, + }, ); export async function fetchInstance() { diff --git a/packages/client/src/os.ts b/packages/client/src/os.ts index c9d1f9b25a..0ba8528e34 100644 --- a/packages/client/src/os.ts +++ b/packages/client/src/os.ts @@ -221,7 +221,7 @@ export async function popup( ? { ...events, [disposeEvent]: dispose, - } + } : events, id, }; @@ -500,7 +500,7 @@ export function inputDate(props: { ? { result: new Date(result.result), canceled: false, - } + } : { canceled: true }, ); }, @@ -774,8 +774,8 @@ export async function cropImage( type AwaitType = T extends Promise ? U : T extends (...args: any[]) => Promise - ? V - : T; + ? V + : T; let openingEmojiPicker: AwaitType> | null = null, activeTextarea: HTMLTextAreaElement | HTMLInputElement | null = null; export async function openEmojiPicker( diff --git a/packages/client/src/pizzax.ts b/packages/client/src/pizzax.ts index eef73e3426..6974df94dc 100644 --- a/packages/client/src/pizzax.ts +++ b/packages/client/src/pizzax.ts @@ -46,13 +46,13 @@ export class Storage { const deviceAccountState = isSignedIn ? JSON.parse( localStorage.getItem(`${this.keyForLocalStorage}::${me.id}`) || "{}", - ) + ) : {}; const registryCache = isSignedIn ? JSON.parse( localStorage.getItem(`${this.keyForLocalStorage}::cache::${me.id}`) || "{}", - ) + ) : {}; const state = {}; diff --git a/packages/client/src/scripts/device-kind.ts b/packages/client/src/scripts/device-kind.ts index 3c9608c01c..0b0aae6379 100644 --- a/packages/client/src/scripts/device-kind.ts +++ b/packages/client/src/scripts/device-kind.ts @@ -9,7 +9,7 @@ const isSmartphone = !isTablet && /mobile|iphone|android/.test(ua); export const deviceKind = defaultStore.state.overridedDeviceKind ? defaultStore.state.overridedDeviceKind : isSmartphone - ? "smartphone" - : isTablet - ? "tablet" - : "desktop"; + ? "smartphone" + : isTablet + ? "tablet" + : "desktop"; diff --git a/packages/client/src/scripts/form.ts b/packages/client/src/scripts/form.ts index aea6c01e90..2cd0ca01dc 100644 --- a/packages/client/src/scripts/form.ts +++ b/packages/client/src/scripts/form.ts @@ -54,18 +54,18 @@ export type Form = Record; type GetItemType = Item["type"] extends "string" ? string : Item["type"] extends "number" - ? number - : Item["type"] extends "boolean" - ? boolean - : Item["type"] extends "radio" - ? unknown - : Item["type"] extends "enum" - ? string - : Item["type"] extends "array" - ? unknown[] - : Item["type"] extends "object" - ? Record - : never; + ? number + : Item["type"] extends "boolean" + ? boolean + : Item["type"] extends "radio" + ? unknown + : Item["type"] extends "enum" + ? string + : Item["type"] extends "array" + ? unknown[] + : Item["type"] extends "object" + ? Record + : never; export type GetFormResultType = { [P in keyof F]: GetItemType; diff --git a/packages/client/src/scripts/get-note-menu.ts b/packages/client/src/scripts/get-note-menu.ts index ddd9d7c5f4..57ae923b98 100644 --- a/packages/client/src/scripts/get-note-menu.ts +++ b/packages/client/src/scripts/get-note-menu.ts @@ -300,7 +300,7 @@ export function getNoteMenu(props: { action: unclip, }, null, - ] + ] : []), statePromise.then((state) => state?.isFavorited @@ -308,12 +308,12 @@ export function getNoteMenu(props: { icon: `${icon("ph-bookmark-simple")}`, text: i18n.ts.unfavorite, action: () => toggleFavorite(false), - } + } : { icon: `${icon("ph-bookmark-simple")}`, text: i18n.ts.favorite, action: () => toggleFavorite(true), - }, + }, ), { icon: `${icon("ph-paperclip")}`, @@ -327,13 +327,13 @@ export function getNoteMenu(props: { icon: `${icon("ph-eye-slash")}`, text: i18n.ts.unwatch, action: () => toggleWatch(false), - } + } : { icon: `${icon("ph-eye")}`, text: i18n.ts.watch, action: () => toggleWatch(true), - }, - ) + }, + ) : undefined, statePromise.then((state) => state.isMutedThread @@ -341,12 +341,12 @@ export function getNoteMenu(props: { icon: `${icon("ph-speaker-x")}`, text: i18n.ts.unmuteThread, action: () => toggleThreadMute(false), - } + } : { icon: `${icon("ph-speaker-x")}`, text: i18n.ts.muteThread, action: () => toggleThreadMute(true), - }, + }, ), isAppearAuthor ? (me.pinnedNoteIds || []).includes(appearNote.id) @@ -354,19 +354,19 @@ export function getNoteMenu(props: { icon: `${icon("ph-push-pin")}`, text: i18n.ts.unpin, action: () => togglePin(false), - } + } : { icon: `${icon("ph-push-pin")}`, text: i18n.ts.pin, action: () => togglePin(true), - } + } : undefined, instance.translatorAvailable ? { icon: `${icon("ph-translate")}`, text: i18n.ts.translate, action: translate, - } + } : undefined, appearNote.url || appearNote.uri ? { @@ -375,7 +375,7 @@ export function getNoteMenu(props: { action: () => { window.open(appearNote.url || appearNote.uri, "_blank"); }, - } + } : undefined, { type: "parent", @@ -397,14 +397,14 @@ export function getNoteMenu(props: { icon: `${icon("ph-link-simple")}`, text: `${i18n.ts.copyLink} (${i18n.ts.origin})`, action: copyOriginal, - } + } : undefined, shareAvailable() ? { icon: `${icon("ph-share-network")}`, text: i18n.ts.share, action: share, - } + } : undefined, ], }, @@ -440,7 +440,7 @@ export function getNoteMenu(props: { "closed", ); }, - } + } : undefined, isAppearAuthor ? { @@ -448,7 +448,7 @@ export function getNoteMenu(props: { text: i18n.ts.toEdit, accent: true, action: edit, - } + } : undefined, isAppearAuthor && !( @@ -460,7 +460,7 @@ export function getNoteMenu(props: { text: i18n.ts.makePrivate, danger: true, action: makePrivate, - } + } : undefined, isAppearAuthor ? { @@ -468,7 +468,7 @@ export function getNoteMenu(props: { text: i18n.ts.deleteAndEdit, danger: true, action: delEdit, - } + } : undefined, isAppearAuthor || isModerator ? { @@ -476,7 +476,7 @@ export function getNoteMenu(props: { text: i18n.ts.delete, danger: true, action: del, - } + } : undefined, !isAppearAuthor ? null : undefined, !isAppearAuthor @@ -485,7 +485,7 @@ export function getNoteMenu(props: { icon: `${icon("ph-user")}`, text: i18n.ts.user, children: getUserMenu(appearNote.user), - } + } : undefined, ].filter((x) => x !== undefined); } else { @@ -497,7 +497,7 @@ export function getNoteMenu(props: { action: () => { window.open(appearNote.url || appearNote.uri, "_blank"); }, - } + } : undefined, { icon: `${icon("ph-clipboard-text")}`, @@ -514,14 +514,14 @@ export function getNoteMenu(props: { icon: `${icon("ph-link-simple")}`, text: `${i18n.ts.copyLink} (${i18n.ts.origin})`, action: copyOriginal, - } + } : undefined, shareAvailable() ? { icon: `${icon("ph-share-network")}`, text: i18n.ts.share, action: share, - } + } : undefined, ].filter((x) => x !== undefined); } diff --git a/packages/client/src/scripts/get-user-menu.ts b/packages/client/src/scripts/get-user-menu.ts index e83201e6da..aac687d207 100644 --- a/packages/client/src/scripts/get-user-menu.ts +++ b/packages/client/src/scripts/get-user-menu.ts @@ -98,14 +98,14 @@ export function getUserMenu(user, router: Router = mainRouter) { period === "indefinitely" ? null : period === "tenMinutes" - ? Date.now() + 1000 * 60 * 10 - : period === "oneHour" - ? Date.now() + 1000 * 60 * 60 - : period === "oneDay" - ? Date.now() + 1000 * 60 * 60 * 24 - : period === "oneWeek" - ? Date.now() + 1000 * 60 * 60 * 24 * 7 - : null; + ? Date.now() + 1000 * 60 * 10 + : period === "oneHour" + ? Date.now() + 1000 * 60 * 60 + : period === "oneDay" + ? Date.now() + 1000 * 60 * 60 * 24 + : period === "oneWeek" + ? Date.now() + 1000 * 60 * 60 * 24 * 7 + : null; os.apiWithDialog("mute/create", { userId: user.id, @@ -296,7 +296,7 @@ export function getUserMenu(user, router: Router = mainRouter) { icon: `${icon("ph-chats-teardrop")}`, text: i18n.ts.startMessaging, to: `/my/messaging/${acct.toString(user)}`, - } + } : undefined, user.host != null && user.url ? { @@ -305,7 +305,7 @@ export function getUserMenu(user, router: Router = mainRouter) { text: i18n.ts.showOnRemote, href: user.url, target: "_blank", - } + } : undefined, null, { @@ -318,7 +318,7 @@ export function getUserMenu(user, router: Router = mainRouter) { icon: `${icon("ph-users-three")}`, text: i18n.ts.inviteToGroup, action: inviteGroup, - } + } : undefined, null, { diff --git a/packages/client/src/scripts/select-file.ts b/packages/client/src/scripts/select-file.ts index 8f96a13225..adf9f0956a 100644 --- a/packages/client/src/scripts/select-file.ts +++ b/packages/client/src/scripts/select-file.ts @@ -93,7 +93,7 @@ function select( ? { text: label, type: "label", - } + } : undefined, { type: "switch", diff --git a/packages/client/src/scripts/time.ts b/packages/client/src/scripts/time.ts index 564ee03606..64e1cc335e 100644 --- a/packages/client/src/scripts/time.ts +++ b/packages/client/src/scripts/time.ts @@ -9,15 +9,15 @@ export function dateUTC(time: number[]): Date { time.length === 2 ? Date.UTC(time[0], time[1]) : time.length === 3 - ? Date.UTC(time[0], time[1], time[2]) - : time.length === 4 - ? Date.UTC(time[0], time[1], time[2], time[3]) - : time.length === 5 - ? Date.UTC(time[0], time[1], time[2], time[3], time[4]) - : time.length === 6 - ? Date.UTC(time[0], time[1], time[2], time[3], time[4], time[5]) - : time.length === 7 - ? Date.UTC( + ? Date.UTC(time[0], time[1], time[2]) + : time.length === 4 + ? Date.UTC(time[0], time[1], time[2], time[3]) + : time.length === 5 + ? Date.UTC(time[0], time[1], time[2], time[3], time[4]) + : time.length === 6 + ? Date.UTC(time[0], time[1], time[2], time[3], time[4], time[5]) + : time.length === 7 + ? Date.UTC( time[0], time[1], time[2], @@ -25,8 +25,8 @@ export function dateUTC(time: number[]): Date { time[4], time[5], time[6], - ) - : null; + ) + : null; if (!d) throw "wrong number of arguments"; diff --git a/packages/client/src/scripts/upload.ts b/packages/client/src/scripts/upload.ts index c13f28cd6e..1f960cd637 100644 --- a/packages/client/src/scripts/upload.ts +++ b/packages/client/src/scripts/upload.ts @@ -69,7 +69,7 @@ export function uploadFile( file.type !== imgConfig.mimeType ? `${ctx.name}.${ mimeTypeMap[compressTypeMap[file.type].mimeType] - }` + }` : ctx.name; } catch (err) { console.error("Failed to resize image", err); diff --git a/packages/client/src/scripts/use-note-capture.ts b/packages/client/src/scripts/use-note-capture.ts index b8418b1ff2..def3baf8f8 100644 --- a/packages/client/src/scripts/use-note-capture.ts +++ b/packages/client/src/scripts/use-note-capture.ts @@ -65,7 +65,7 @@ export function useNoteCapture(props: { ...(isSignedIn && body.userId === me.id ? { isVoted: true, - } + } : {}), }; note.value.poll.choices = choices; diff --git a/packages/client/src/stream.ts b/packages/client/src/stream.ts index 0e705baad5..89dda63f08 100644 --- a/packages/client/src/stream.ts +++ b/packages/client/src/stream.ts @@ -16,7 +16,7 @@ export function useStream() { me ? { token: me.token, - } + } : null, ), ); diff --git a/packages/client/src/ui/deck/deck-store.ts b/packages/client/src/ui/deck/deck-store.ts index 0b71522ad7..57c1ccd2d0 100644 --- a/packages/client/src/ui/deck/deck-store.ts +++ b/packages/client/src/ui/deck/deck-store.ts @@ -316,7 +316,7 @@ export function updateColumnWidget( ? { ...w, data: widgetData, - } + } : w, ); columns[columnIndex] = column; diff --git a/packages/firefish-js/src/api.ts b/packages/firefish-js/src/api.ts index 3a01fd6ae5..2639712a3f 100644 --- a/packages/firefish-js/src/api.ts +++ b/packages/firefish-js/src/api.ts @@ -75,24 +75,24 @@ export class APIClient { ? IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : IsCaseMatched extends true - ? GetCaseResult - : Endpoints[E]["res"]["$switch"]["$default"] + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : IsCaseMatched extends true + ? GetCaseResult + : Endpoints[E]["res"]["$switch"]["$default"] : Endpoints[E]["res"] > { const promise = new Promise((resolve, reject) => { diff --git a/packages/firefish-js/src/streaming.ts b/packages/firefish-js/src/streaming.ts index 7944e45d0b..42fea4fca6 100644 --- a/packages/firefish-js/src/streaming.ts +++ b/packages/firefish-js/src/streaming.ts @@ -220,7 +220,7 @@ export default class Stream extends EventEmitter { : { type: typeOrPayload, body: payload, - }; + }; this.stream.send(JSON.stringify(data)); } diff --git a/packages/megalodon/src/misskey/api_client.ts b/packages/megalodon/src/misskey/api_client.ts index 47932cbf19..6b046ae39e 100644 --- a/packages/megalodon/src/misskey/api_client.ts +++ b/packages/megalodon/src/misskey/api_client.ts @@ -380,7 +380,7 @@ namespace MisskeyAPI { return Object.values(r).length > 0 ? Object.values(r).reduce( (previousValue, currentValue) => previousValue + currentValue, - ) + ) : 0; }; diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts index e10b5decd4..4f21c18722 100644 --- a/packages/sw/src/scripts/create-notification.ts +++ b/packages/sw/src/scripts/create-notification.ts @@ -79,7 +79,7 @@ async function composeNotification( action: "follow", title: t("_notification._actions.followBack"), }, - ], + ], }, ]; } @@ -163,7 +163,7 @@ async function composeNotification( action: "renote", title: t("_notification._actions.renote"), }, - ] + ] : []), ], }, From 611a2f02b9ea11bd1f953bf64f403dabbce50f26 Mon Sep 17 00:00:00 2001 From: naskya Date: Thu, 28 Mar 2024 14:26:09 +0900 Subject: [PATCH 20/20] chore: format --- .../backend/src/services/drive/add-file.ts | 2 +- .../src/components/MkDriveFileThumbnail.vue | 4 +- .../src/components/MkImgWithBlurhash.vue | 8 +- packages/client/src/components/MkPostForm.vue | 2 - packages/client/src/scripts/langmap.ts | 190 ++++++++++++------ packages/client/src/scripts/language-utils.ts | 10 +- 6 files changed, 139 insertions(+), 77 deletions(-) diff --git a/packages/backend/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts index c71ffb5d13..65a51f926a 100644 --- a/packages/backend/src/services/drive/add-file.ts +++ b/packages/backend/src/services/drive/add-file.ts @@ -583,7 +583,7 @@ export async function addFile({ file.requestHeaders = requestHeaders; file.isSensitive = user ? Users.isLocalUser(user) && - (instance!.markLocalFilesNsfwByDefault || profile!.alwaysMarkNsfw) + (instance!.markLocalFilesNsfwByDefault || profile!.alwaysMarkNsfw) ? true : sensitive != null ? sensitive diff --git a/packages/client/src/components/MkDriveFileThumbnail.vue b/packages/client/src/components/MkDriveFileThumbnail.vue index b2bd21a22b..11ff9d9b18 100644 --- a/packages/client/src/components/MkDriveFileThumbnail.vue +++ b/packages/client/src/components/MkDriveFileThumbnail.vue @@ -38,11 +38,11 @@ const props = withDefaults( defineProps<{ file: entities.DriveFile; fit: string; - showAltIndicator?: boolean + showAltIndicator?: boolean; }>(), { showAltIndicator: false, - } + }, ); const is = computed(() => { diff --git a/packages/client/src/components/MkImgWithBlurhash.vue b/packages/client/src/components/MkImgWithBlurhash.vue index 3a09959255..27fa2779a7 100644 --- a/packages/client/src/components/MkImgWithBlurhash.vue +++ b/packages/client/src/components/MkImgWithBlurhash.vue @@ -27,9 +27,7 @@ v-if="alt && showAltIndicator" v-tooltip.noLabel=" `${i18n.ts.alt}: ${ - alt.length > 200 - ? alt.trim().slice(0, 200) + '...' - : alt.trim() + alt.length > 200 ? alt.trim().slice(0, 200) + '...' : alt.trim() }` " > @@ -51,7 +49,7 @@ const props = withDefaults( size?: number; cover?: boolean; largestDimension?: "width" | "height"; - showAltIndicator?: boolean + showAltIndicator?: boolean; }>(), { src: null, @@ -60,7 +58,7 @@ const props = withDefaults( title: null, size: 64, cover: true, - showAltIndicator: false + showAltIndicator: false, }, ); diff --git a/packages/client/src/components/MkPostForm.vue b/packages/client/src/components/MkPostForm.vue index 4f670d859d..2f19ec2606 100644 --- a/packages/client/src/components/MkPostForm.vue +++ b/packages/client/src/components/MkPostForm.vue @@ -1017,8 +1017,6 @@ function deleteDraft() { localStorage.setItem("drafts", JSON.stringify(draftData)); } - - async function post() { // For text that is too short, the false positive rate may be too high, so we don't show alarm. if (defaultStore.state.autocorrectNoteLanguage && text.value.length > 10) { diff --git a/packages/client/src/scripts/langmap.ts b/packages/client/src/scripts/langmap.ts index 8dd12ac5b9..bfb6bec00d 100644 --- a/packages/client/src/scripts/langmap.ts +++ b/packages/client/src/scripts/langmap.ts @@ -382,69 +382,129 @@ export const iso639Regional = { export const langmap = Object.assign({}, langmapNoRegion, iso639Regional); /** -* @see https://github.com/komodojp/tinyld/blob/develop/docs/langs.md -*/ + * @see https://github.com/komodojp/tinyld/blob/develop/docs/langs.md + */ export const supportedLangs: Record = { - af: true, afr: true, - am: true, amh: true, - ber: true, - rn: true, run: true, - my: true, mya: true, - id: true, ind: true, - km: true, khm: true, - tl: true, tgl: true, - th: true, tha: true, - vi: true, vie: true, - zh: true, cmn: true, - ja: true, jpn: true, - ko: true, kor: true, - bn: true, ben: true, - gu: true, guj: true, - hi: true, hin: true, - kn: true, kan: true, - ta: true, tam: true, - te: true, tel: true, - ur: true, urd: true, - cs: true, ces: true, - el: true, ell: true, - la: true, lat: true, - mk: true, mkd: true, - sr: true, srp: true, - sk: true, slk: true, - be: true, bel: true, - bg: true, bul: true, - et: true, est: true, - hu: true, hun: true, - lv: true, lvs: true, - lt: true, lit: true, - pl: true, pol: true, - ro: true, ron: true, - ru: true, rus: true, - uk: true, ukr: true, - da: true, dan: true, - fi: true, fin: true, - is: true, isl: true, - no: true, nob: true, - sv: true, swe: true, - nl: true, nld: true, - en: true, eng: true, - fr: true, fra: true, - de: true, deu: true, - ga: true, gle: true, - it: true, ita: true, - pt: true, por: true, - es: true, spa: true, - ar: true, ara: true, - hy: true, hye: true, - he: true, heb: true, - kk: true, kaz: true, - mn: true, mon: true, - fa: true, pes: true, - tt: true, tat: true, - tr: true, tur: true, - tk: true, tuk: true, - yi: true, yid: true, - eo: true, epo: true, - tlh: true, - vo: true, vol: true, -} + af: true, + afr: true, + am: true, + amh: true, + ber: true, + rn: true, + run: true, + my: true, + mya: true, + id: true, + ind: true, + km: true, + khm: true, + tl: true, + tgl: true, + th: true, + tha: true, + vi: true, + vie: true, + zh: true, + cmn: true, + ja: true, + jpn: true, + ko: true, + kor: true, + bn: true, + ben: true, + gu: true, + guj: true, + hi: true, + hin: true, + kn: true, + kan: true, + ta: true, + tam: true, + te: true, + tel: true, + ur: true, + urd: true, + cs: true, + ces: true, + el: true, + ell: true, + la: true, + lat: true, + mk: true, + mkd: true, + sr: true, + srp: true, + sk: true, + slk: true, + be: true, + bel: true, + bg: true, + bul: true, + et: true, + est: true, + hu: true, + hun: true, + lv: true, + lvs: true, + lt: true, + lit: true, + pl: true, + pol: true, + ro: true, + ron: true, + ru: true, + rus: true, + uk: true, + ukr: true, + da: true, + dan: true, + fi: true, + fin: true, + is: true, + isl: true, + no: true, + nob: true, + sv: true, + swe: true, + nl: true, + nld: true, + en: true, + eng: true, + fr: true, + fra: true, + de: true, + deu: true, + ga: true, + gle: true, + it: true, + ita: true, + pt: true, + por: true, + es: true, + spa: true, + ar: true, + ara: true, + hy: true, + hye: true, + he: true, + heb: true, + kk: true, + kaz: true, + mn: true, + mon: true, + fa: true, + pes: true, + tt: true, + tat: true, + tr: true, + tur: true, + tk: true, + tuk: true, + yi: true, + yid: true, + eo: true, + epo: true, + tlh: true, + vo: true, + vol: true, +}; diff --git a/packages/client/src/scripts/language-utils.ts b/packages/client/src/scripts/language-utils.ts index 19fe1dea01..7b248697e4 100644 --- a/packages/client/src/scripts/language-utils.ts +++ b/packages/client/src/scripts/language-utils.ts @@ -20,7 +20,10 @@ export function isSupportedLang(langCode: string | null) { * Compare two language codes to determine whether they are decisively different * @returns false if they are close enough */ -export function isSameLanguage(langCode1: string | null, langCode2: string | null) { +export function isSameLanguage( + langCode1: string | null, + langCode2: string | null, +) { return ( languageContains(langCode1, langCode2) || languageContains(langCode2, langCode1) @@ -30,7 +33,10 @@ export function isSameLanguage(langCode1: string | null, langCode2: string | nul /** * Returns true if langCode1 contains langCode2 */ -export function languageContains(langCode1: string | null, langCode2: string | null) { +export function languageContains( + langCode1: string | null, + langCode2: string | null, +) { if (!langCode1 || !langCode2) return false; return parentLanguage(langCode2) === langCode1;