From d98d1db776b638ee05f8db2bb0e511d87a5b17ec Mon Sep 17 00:00:00 2001 From: jolupa Date: Fri, 30 Jun 2023 05:25:59 +0000 Subject: [PATCH 1/6] chore: Translated using Weblate (Catalan) Currently translated at 100.0% (1815 of 1815 strings) Translation: Calckey/locales Translate-URL: https://hosted.weblate.org/projects/calckey/locales/ca/ --- locales/ca-ES.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index 4e8a47528..208ccb159 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -349,6 +349,7 @@ _2fa: deixin de funcionar whyTOTPOnlyRenew: L’aplicació d’autenticació no es pot eliminar sempre que es hi hagi una clau de seguretat registrada. + token: Token 2FA _widgets: notifications: "Notificacions" timeline: "Línia de temps" From 8c406df3da344ecacf73b01a575bbb5f5612852c Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Fri, 30 Jun 2023 23:27:41 -0700 Subject: [PATCH 2/6] chore: :busts_in_silhouette: patrons --- patrons.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/patrons.json b/patrons.json index cda7551d8..84efb59e2 100644 --- a/patrons.json +++ b/patrons.json @@ -56,6 +56,20 @@ "@riversidebryan@calckey.lgbt", "@aRubes@sloth.run", "@andreasdotorg@calckey.social", + "@ozzy@calckey.online", + "@leni@windycity.style", + "@mhzmodels@calckey.art", + "@ReflexVE@calckey.social", + "@mark@calckey.social", + "@skyizwhite@himagine.club", + "@Uwu@calckey.social", + "@jGoose@calckey.social", + "@kunev@blewsky.social", + "@Simoto@electricrequiem.com", + "@Evoterra@calckey.social", + "@LauraLangdon@procial.tchncs.de", + "@mho@social.heise.de", + "@blues653@calckey.social", "\nInterkosmos Link" ] } From 55393b9f1f1ab2246fa0c8bd728198655a41a6b5 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Fri, 30 Jun 2023 23:33:54 -0700 Subject: [PATCH 3/6] refactor: :recycle: force patrons update on about-calckey --- .../backend/src/server/api/endpoints/patrons.ts | 14 ++++++++++---- packages/client/src/pages/about-calckey.vue | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/patrons.ts b/packages/backend/src/server/api/endpoints/patrons.ts index 944858694..ac914daa1 100644 --- a/packages/backend/src/server/api/endpoints/patrons.ts +++ b/packages/backend/src/server/api/endpoints/patrons.ts @@ -11,19 +11,25 @@ export const meta = { export const paramDef = { type: "object", - properties: {}, + properties: { + forceUpdate: { type: "boolean", default: false }, + }, required: [], } as const; -export default define(meta, paramDef, async () => { +export default define(meta, paramDef, async (ps) => { let patrons; const cachedPatrons = await redisClient.get("patrons"); - if (cachedPatrons) { + if (!ps.forceUpdate && cachedPatrons) { patrons = JSON.parse(cachedPatrons); } else { patrons = await fetch( "https://codeberg.org/calckey/calckey/raw/branch/develop/patrons.json", - ).then((response) => response.json()); + ) + .then((response) => response.json()) + .catch(() => { + patrons = cachedPatrons ? JSON.parse(cachedPatrons) : []; + }); await redisClient.set("patrons", JSON.stringify(patrons), "EX", 3600); } diff --git a/packages/client/src/pages/about-calckey.vue b/packages/client/src/pages/about-calckey.vue index 1e16356a5..6071a2c2d 100644 --- a/packages/client/src/pages/about-calckey.vue +++ b/packages/client/src/pages/about-calckey.vue @@ -164,7 +164,7 @@ import { defaultStore } from "@/store"; import * as os from "@/os"; import { definePageMetadata } from "@/scripts/page-metadata"; -const patrons = await os.api("patrons"); +const patrons = await os.api("patrons", { forceUpdate: true }); let easterEggReady = false; let easterEggEmojis = $ref([]); From 4e5bb1194a30724806f64926111f2d1d92edcafb Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Fri, 30 Jun 2023 23:35:45 -0700 Subject: [PATCH 4/6] chore: :art: format --- .../backend/src/services/drive/add-file.ts | 11 ++- packages/client/src/components/MkNote.vue | 11 ++- .../client/src/components/MkUrlPreview.vue | 74 +++++++++++-------- 3 files changed, 59 insertions(+), 37 deletions(-) diff --git a/packages/backend/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts index b5ba22137..b9991f494 100644 --- a/packages/backend/src/services/drive/add-file.ts +++ b/packages/backend/src/services/drive/add-file.ts @@ -382,12 +382,17 @@ async function expireOldFile(user: IRemoteUser, driveCapacity: number) { } //This selete is hard coded, be careful if change database schema - q.addSelect('SUM("file"."size") OVER (ORDER BY "file"."id" DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)', 'acc_usage'); + q.addSelect( + 'SUM("file"."size") OVER (ORDER BY "file"."id" DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)', + "acc_usage", + ); q.orderBy("file.id", "ASC"); const fileList = await q.getRawMany(); - const exceedFileIds = fileList.filter((x: any) => x.acc_usage > driveCapacity).map((x: any) => x.file_id); + const exceedFileIds = fileList + .filter((x: any) => x.acc_usage > driveCapacity) + .map((x: any) => x.file_id); for (const fileId of exceedFileIds) { const file = await DriveFiles.findOneBy({ id: fileId }); @@ -536,7 +541,7 @@ export async function addFile({ // (アバターまたはバナーを含まず)最も古いファイルを削除する expireOldFile( (await Users.findOneByOrFail({ id: user.id })) as IRemoteUser, - driveCapacity - info.size + driveCapacity - info.size, ); } } diff --git a/packages/client/src/components/MkNote.vue b/packages/client/src/components/MkNote.vue index de3b173ba..112303584 100644 --- a/packages/client/src/components/MkNote.vue +++ b/packages/client/src/components/MkNote.vue @@ -224,7 +224,12 @@ -