From 34f33e6bb5b8b04e5aa42ad937eebd9389188ec2 Mon Sep 17 00:00:00 2001 From: Freeplay Date: Wed, 24 May 2023 12:27:12 -0400 Subject: [PATCH 001/319] Fix truncated text in header --- packages/client/src/components/global/MkPageHeader.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/client/src/components/global/MkPageHeader.vue b/packages/client/src/components/global/MkPageHeader.vue index 1fc08780ad..4840607952 100644 --- a/packages/client/src/components/global/MkPageHeader.vue +++ b/packages/client/src/components/global/MkPageHeader.vue @@ -532,6 +532,9 @@ onUnmounted(() => { } } } + &:not(.collapse) > .tab { + --width: max-content !important; + } > .tab { display: inline-flex; From 7b86c7087d40c1843c5a592013558c65ca9e0c6f Mon Sep 17 00:00:00 2001 From: Freeplay Date: Wed, 24 May 2023 13:22:53 -0400 Subject: [PATCH 002/319] Fix 'noteOf' text in post title --- packages/client/src/pages/note.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/client/src/pages/note.vue b/packages/client/src/pages/note.vue index 5b408bdaf7..8e710de471 100644 --- a/packages/client/src/pages/note.vue +++ b/packages/client/src/pages/note.vue @@ -162,12 +162,12 @@ definePageMetadata( computed(() => note ? { - title: i18n.t("noteOf", { user: note.user.name }), + title: i18n.t("noteOf", { user: note.user.name || note.user.username }), subtitle: new Date(note.createdAt).toLocaleString(), avatar: note.user, path: `/notes/${note.id}`, share: { - title: i18n.t("noteOf", { user: note.user.name }), + title: i18n.t("noteOf", { user: note.user.name || note.user.username }), text: note.text, }, } From b531145270807d552556433dc128d1b2cc767f54 Mon Sep 17 00:00:00 2001 From: Freeplay Date: Wed, 24 May 2023 14:00:18 -0400 Subject: [PATCH 003/319] Add 'View on remote server' to right click menu --- packages/client/src/components/MkNote.vue | 17 ++++++++++++----- packages/client/src/components/MkNoteSub.vue | 19 +++++++++++++------ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/packages/client/src/components/MkNote.vue b/packages/client/src/components/MkNote.vue index 7d7f0e71e3..99c3fe0183 100644 --- a/packages/client/src/components/MkNote.vue +++ b/packages/client/src/components/MkNote.vue @@ -401,20 +401,20 @@ function onContextmenu(ev: MouseEvent): void { os.pageWindow(notePage(appearNote)); }, }, - { + notePage(appearNote) != location.pathname ? { icon: "ph-arrows-out-simple ph-bold ph-lg", text: i18n.ts.showInPage, action: () => { router.push(notePage(appearNote), "forcePage"); }, - }, + } : undefined, null, { + type: "a", icon: "ph-arrow-square-out ph-bold ph-lg", text: i18n.ts.openInNewTab, - action: () => { - window.open(notePage(appearNote), "_blank"); - }, + href: notePage(appearNote), + target: "_blank", }, { icon: "ph-link-simple ph-bold ph-lg", @@ -423,6 +423,13 @@ function onContextmenu(ev: MouseEvent): void { copyToClipboard(`${url}${notePage(appearNote)}`); }, }, + note.user.host != null ? { + type: "a", + icon: "ph-arrow-square-up-right ph-bold ph-lg", + text: i18n.ts.showOnRemote, + href: note.url ?? note.uri ?? "", + target: "_blank", + } : undefined, ], ev ); diff --git a/packages/client/src/components/MkNoteSub.vue b/packages/client/src/components/MkNoteSub.vue index 77046dcbad..72f6473e7e 100644 --- a/packages/client/src/components/MkNoteSub.vue +++ b/packages/client/src/components/MkNoteSub.vue @@ -337,7 +337,7 @@ function onContextmenu(ev: MouseEvent): void { } else { os.contextMenu( [ - { + { type: "label", text: notePage(appearNote), }, @@ -348,20 +348,20 @@ function onContextmenu(ev: MouseEvent): void { os.pageWindow(notePage(appearNote)); }, }, - { + notePage(appearNote) != location.pathname ? { icon: "ph-arrows-out-simple ph-bold ph-lg", text: i18n.ts.showInPage, action: () => { router.push(notePage(appearNote), "forcePage"); }, - }, + } : undefined, null, { + type: "a", icon: "ph-arrow-square-out ph-bold ph-lg", text: i18n.ts.openInNewTab, - action: () => { - window.open(notePage(appearNote), "_blank"); - }, + href: notePage(appearNote), + target: "_blank", }, { icon: "ph-link-simple ph-bold ph-lg", @@ -370,6 +370,13 @@ function onContextmenu(ev: MouseEvent): void { copyToClipboard(`${url}${notePage(appearNote)}`); }, }, + note.user.host != null ? { + type: "a", + icon: "ph-arrow-square-up-right ph-bold ph-lg", + text: i18n.ts.showOnRemote, + href: note.url ?? note.uri ?? "", + target: "_blank", + } : undefined, ], ev ); From 208c7d380aea4c02e86ea89199e69118a1af27b9 Mon Sep 17 00:00:00 2001 From: April John Date: Wed, 24 May 2023 20:21:15 +0200 Subject: [PATCH 004/319] update post import --- packages/backend/src/queue/initialize.ts | 2 ++ .../backend/src/queue/processors/db/import-masto-post.ts | 9 +++++++-- packages/backend/src/queue/queues.ts | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/queue/initialize.ts b/packages/backend/src/queue/initialize.ts index d7945d5dad..0686fe9cd3 100644 --- a/packages/backend/src/queue/initialize.ts +++ b/packages/backend/src/queue/initialize.ts @@ -19,6 +19,8 @@ export function initialize(name: string, limitPerSec = -1) { } : undefined, settings: { + stalledInterval: 60, + maxStalledCount: 2, backoffStrategies: { apBackoff, }, diff --git a/packages/backend/src/queue/processors/db/import-masto-post.ts b/packages/backend/src/queue/processors/db/import-masto-post.ts index 564071d3bb..317ba7b1bd 100644 --- a/packages/backend/src/queue/processors/db/import-masto-post.ts +++ b/packages/backend/src/queue/processors/db/import-masto-post.ts @@ -20,9 +20,11 @@ export async function importMastoPost( } const post = job.data.post; let reply: Note | null = null; + job.progress(20); if (post.object.inReplyTo != null) { reply = await resolveNote(post.object.inReplyTo); } + job.progress(40); if (post.directMessage) { done(); return; @@ -33,13 +35,14 @@ export async function importMastoPost( return; } } + job.progress(60); let text; try { text = htmlToMfm(post.object.content, post.object.tag); } catch (e) { throw e; } - + job.progress(80); const note = await create(user, { createdAt: new Date(post.object.published), files: undefined, @@ -56,6 +59,8 @@ export async function importMastoPost( apHashtags: undefined, apEmojis: undefined, }); - logger.succ("Imported"); + job.progress(100); done(); + + logger.succ("Imported"); } diff --git a/packages/backend/src/queue/queues.ts b/packages/backend/src/queue/queues.ts index 6d7fffcb30..6b0eb2de42 100644 --- a/packages/backend/src/queue/queues.ts +++ b/packages/backend/src/queue/queues.ts @@ -20,7 +20,7 @@ export const inboxQueue = initializeQueue( "inbox", config.inboxJobPerSec || 16, ); -export const dbQueue = initializeQueue("db"); +export const dbQueue = initializeQueue("db", 256); export const objectStorageQueue = initializeQueue("objectStorage"); export const webhookDeliverQueue = initializeQueue( From 3ac0946019465e41dc566d14478c4ca6b1bf4307 Mon Sep 17 00:00:00 2001 From: April John Date: Wed, 24 May 2023 21:03:37 +0200 Subject: [PATCH 005/319] update inbox import timeout --- packages/backend/src/queue/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/backend/src/queue/index.ts b/packages/backend/src/queue/index.ts index 1b50f35287..a84a446fe7 100644 --- a/packages/backend/src/queue/index.ts +++ b/packages/backend/src/queue/index.ts @@ -348,6 +348,8 @@ export function createImportMastoPostJob( { removeOnComplete: true, removeOnFail: true, + attempts: config.inboxJobMaxAttempts || 8, + timeout: 60 * 1000, // 1min }, ); } From af3f36f0637feb193c6445434af9adb3a3ab6781 Mon Sep 17 00:00:00 2001 From: Essem Date: Wed, 24 May 2023 14:40:11 -0500 Subject: [PATCH 006/319] Hide security key section if TOTP is disabled This should prevent some unintended behavior (and 500 errors) for now. --- packages/client/src/pages/settings/2fa.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/pages/settings/2fa.vue b/packages/client/src/pages/settings/2fa.vue index 4d856c86ca..a1af86b698 100644 --- a/packages/client/src/pages/settings/2fa.vue +++ b/packages/client/src/pages/settings/2fa.vue @@ -10,7 +10,7 @@ {{ i18n.ts.unregister }} - *v-else on next div* -->
Date: Fri, 26 May 2023 17:28:42 +0000 Subject: [PATCH 036/319] chore: Translated using Weblate (Catalan) Currently translated at 100.0% (1753 of 1753 strings) Translation: Calckey/locales Translate-URL: https://hosted.weblate.org/projects/calckey/locales/ca/ --- locales/ca-ES.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index f64f70583a..d83b93e573 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -67,7 +67,7 @@ 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." -unfollowConfirm: "Segur que vols deixar de seguir {name}?" +unfollowConfirm: "Segur que vols deixar de seguir a {name}?" exportRequested: "Has sol·licitat una exportació. Això pot trigar una estona. S'afegirà al teu Disc un cop completada." importRequested: "Has sol·licitat una importació. Això pot trigar una estona." @@ -139,7 +139,7 @@ searchByGoogle: "Cercar" file: "Fitxers" _email: _follow: - title: "t'ha seguit" + title: "Tens un nou seguidor" _receiveFollowRequest: title: Heu rebut una sol·licitud de seguiment _mfm: @@ -382,7 +382,7 @@ _profile: metadataDescription: Fent servir això, podràs mostrar camps d'informació addicionals al vostre perfil. _exportOrImport: - followingList: "Seguint" + followingList: "Usuaris que segueixes" muteList: "Silencia" blockingList: "Bloqueja" userLists: "Llistes" @@ -684,7 +684,7 @@ _pages: _notification: youWereFollowed: "t'ha seguit" _types: - follow: "Seguint" + follow: "Nous seguidors" mention: "Menció" renote: "Impulsos" quote: "Citar" @@ -700,7 +700,7 @@ _notification: _actions: reply: "Respondre" renote: "Impulsos" - followBack: et va seguir de tornada + followBack: t'ha tornat el seguiment youGotQuote: "{name} t'ha citat" fileUploaded: El fitxer s'ha penjat correctament youGotMention: "{nom} t'ha esmentat" @@ -780,7 +780,7 @@ showOnRemote: Mostra al servidor remot wallpaper: Fons de pantalla setWallpaper: Estableix fons de pantalla removeWallpaper: Elimina el fons de pantalla -followConfirm: Segur que vols seguir a l'usuari {name}? +followConfirm: Segur que vols seguir a {name}? proxyAccount: Compte proxy proxyAccountDescription: Un compte proxy es un compte que actua com un seguidor remot per a usuaris sota determinades condicions. Per exemple, quant un usuari afegeix @@ -1527,7 +1527,7 @@ aiChanMode: Ai-chan a la interfície d'usuari clàssica keepCw: Mantenir els avisos de contingut pubSub: Comptes Pub/Sub lastCommunication: Última comunicació -breakFollowConfirm: Confirmes que vols eliminar un seguidor? +breakFollowConfirm: Confirmes que vols eliminar el seguidor? itsOn: Activat itsOff: Desactivat emailRequiredForSignup: Requereix una adreça de correu electrònic per registrar-te @@ -1586,7 +1586,7 @@ silenceThisInstance: Silencia el servidor silencedInstancesDescription: Llista amb els noms dels servidors que vols silenciar. Els comptes als servidors silenciats seran tractades com "Silenciades", només poden fer sol·licituds de seguiments, i no poden mencionar comptes locals si no les segueixen. - Això no afectarà els servidoes bloquejats. + Això no afectarà els servidors bloquejats. objectStorageEndpointDesc: Deixa això buit si fas servir AWS, S3, d'una altre manera específica un "endpoint" com a '' o ':', depend del proveïdor que facis servir. @@ -1674,7 +1674,7 @@ disablePagesScript: Desactivar AiScript a les pàgines updateRemoteUser: Actualitzar la informació de l'usuari remot deleteAllFiles: Esborrar tots els fitxers deleteAllFilesConfirm: Segur que vols esborrar tots els fitxers? -removeAllFollowing: Deixar de seguir a tots els que segueixis +removeAllFollowing: Deixar de seguir a tots els usuaris que segueixes accentColor: Color principal textColor: Color del text value: Valor @@ -1823,7 +1823,7 @@ _channel: featured: Tendència owned: Propietari usersCount: '{n} Participants' - following: Seguit + following: Seguit per notesCount: '{n} Notes' nameAndDescription: Nom i descripció nameOnly: Només nom @@ -1874,9 +1874,9 @@ _tutorial: step2_2: Proporcionar informació sobre qui sou facilitarà que altres puguin saber si volen veure les vostres notes o seguir-vos. step3_1: Ara toca seguir a algunes persones! - step3_2: "Les teves líneas de temps domèstiques i socials es basen en qui seguiu, - així que proveu de seguir un parell de comptes per començar.\nFeu clic al cercle - més situat a la part superior dreta d'un perfil per seguir-los." + step3_2: "Les teves líneas de temps d'inici i social es basen en qui seguiu, així + que proveu de seguir un parell de comptes per començar.\nFeu clic al cercle més + situat a la part superior dreta d'un perfil per seguir-los." step4_2: A algunes persones els agrada fer una publicació de {introduction} o un senzill "Hola món!" step5_1: Línies de temps, línies de temps a tot arreu! @@ -1967,13 +1967,13 @@ _instanceCharts: users: Diferència en el nombre d'usuaris usersTotal: Nombre acumulat d'usuaris notes: Diferència en el nombre de notes - ffTotal: Nombre acumulat d'usuaris seguits/seguidors seguits + ffTotal: Nombre acumulat d'usuaris que segueixes/et segueixen cacheSize: Diferència en la mida de la memòria cau cacheSizeTotal: Mida total acumulada de la memòria cau files: Diferència en el nombre de fitxers filesTotal: Nombre acumulat de fitxers notesTotal: Nombre acumulat de notes - ff: "Diferència en el nombre d'usuaris seguits/seguidors seguits " + ff: "Diferència en el nombre d'usuaris que segueixes/que et segueixen " _timelines: home: Inici local: Local @@ -2007,7 +2007,7 @@ _auth: callback: Tornant a l'aplicació denied: Accés denegat pleaseGoBack: Si us plau, torneu a l'aplicació - copyAsk: Enganxeu el següent codi d'autorització a l'aplicació + copyAsk: Posa el següent codi d'autorització a l'aplicació _weekday: wednesday: Dimecres saturday: Dissabte @@ -2021,7 +2021,7 @@ _messaging: dms: Privat _antennaSources: all: Totes les notes - homeTimeline: Notes dels usuaris que segueixes + homeTimeline: Publicacions dels usuaris que segueixes users: Notes d'usuaris concrets userGroup: Notes d'usuaris d'un grup determinat userList: Notes d'una llista determinada d'usuaris From 36fbd0e419220d79ce161b122b163b43d3c1574b Mon Sep 17 00:00:00 2001 From: TalonTheDragon Date: Fri, 26 May 2023 23:30:27 +0200 Subject: [PATCH 037/319] Add aria live region to message list so they get read automatically as they come in --- packages/client/src/pages/messaging/messaging-room.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/client/src/pages/messaging/messaging-room.vue b/packages/client/src/pages/messaging/messaging-room.vue index 771d590bba..52504a267b 100644 --- a/packages/client/src/pages/messaging/messaging-room.vue +++ b/packages/client/src/pages/messaging/messaging-room.vue @@ -28,6 +28,7 @@ #default="{ items: messages, fetching: pFetching }" > 0" class="typers"> +
Date: Fri, 26 May 2023 23:43:35 +0200 Subject: [PATCH 039/319] Add labels to chat form --- packages/client/src/pages/messaging/messaging-room.form.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/client/src/pages/messaging/messaging-room.form.vue b/packages/client/src/pages/messaging/messaging-room.form.vue index 4bc12ce9ad..f6565c25c5 100644 --- a/packages/client/src/pages/messaging/messaging-room.form.vue +++ b/packages/client/src/pages/messaging/messaging-room.form.vue @@ -17,16 +17,17 @@ {{ file.name }}
- -