From 6fbc604009ee5e649b75b27d4152e71963930ff2 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Tue, 25 Jun 2024 17:05:01 +0000 Subject: [PATCH 01/14] chore(i18n): fallback strings for new resources: nodebb.notifications --- public/language/ar/notifications.json | 8 ++++---- public/language/bg/notifications.json | 8 ++++---- public/language/bn/notifications.json | 8 ++++---- public/language/cs/notifications.json | 8 ++++---- public/language/da/notifications.json | 8 ++++---- public/language/de/notifications.json | 8 ++++---- public/language/el/notifications.json | 8 ++++---- public/language/en-US/notifications.json | 8 ++++---- public/language/en-x-pirate/notifications.json | 8 ++++---- public/language/es/notifications.json | 8 ++++---- public/language/et/notifications.json | 8 ++++---- public/language/fa-IR/notifications.json | 8 ++++---- public/language/fi/notifications.json | 8 ++++---- public/language/fr/notifications.json | 8 ++++---- public/language/gl/notifications.json | 8 ++++---- public/language/he/notifications.json | 8 ++++---- public/language/hr/notifications.json | 8 ++++---- public/language/hu/notifications.json | 8 ++++---- public/language/hy/notifications.json | 8 ++++---- public/language/id/notifications.json | 8 ++++---- public/language/it/notifications.json | 8 ++++---- public/language/ja/notifications.json | 8 ++++---- public/language/ko/notifications.json | 8 ++++---- public/language/lt/notifications.json | 8 ++++---- public/language/lv/notifications.json | 8 ++++---- public/language/ms/notifications.json | 8 ++++---- public/language/nb/notifications.json | 8 ++++---- public/language/nl/notifications.json | 8 ++++---- public/language/pl/notifications.json | 8 ++++---- public/language/pt-BR/notifications.json | 8 ++++---- public/language/pt-PT/notifications.json | 8 ++++---- public/language/ro/notifications.json | 8 ++++---- public/language/ru/notifications.json | 8 ++++---- public/language/rw/notifications.json | 8 ++++---- public/language/sc/notifications.json | 8 ++++---- public/language/sk/notifications.json | 8 ++++---- public/language/sl/notifications.json | 8 ++++---- public/language/sq-AL/notifications.json | 8 ++++---- public/language/sr/notifications.json | 8 ++++---- public/language/sv/notifications.json | 8 ++++---- public/language/th/notifications.json | 8 ++++---- public/language/tr/notifications.json | 8 ++++---- public/language/uk/notifications.json | 8 ++++---- public/language/vi/notifications.json | 8 ++++---- public/language/zh-CN/notifications.json | 8 ++++---- public/language/zh-TW/notifications.json | 8 ++++---- 46 files changed, 184 insertions(+), 184 deletions(-) diff --git a/public/language/ar/notifications.json b/public/language/ar/notifications.json index 2dea48c500..a56bcc44a3 100644 --- a/public/language/ar/notifications.json +++ b/public/language/ar/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 أنشأ موضوعًا جديدًا: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 صار يتابعك.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/bg/notifications.json b/public/language/bg/notifications.json index 213d72f9d4..a489155fce 100644 --- a/public/language/bg/notifications.json +++ b/public/language/bg/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 и %3 други публикуваха отговори на: %4", "user-posted-topic": "%1 публикува нова тема: %2", "user-edited-post": "%1 редактира публикация в %2", - "user-posted-topic-with-tag": "%1 публикува нова тема с етикет %2", - "user-posted-topic-with-tag-dual": "%1 публикува нова тема с етикети %2 и %3", - "user-posted-topic-with-tag-triple": "%1 публикува нова тема с етикети %2, %3 и %4", - "user-posted-topic-with-tag-multiple": "%1 публикува нова тема с етикети %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 публикува нова тема в %2", "user-started-following-you": "%1 започна да Ви следва.", "user-started-following-you-dual": "%1 и %2 започнаха да Ви следват.", diff --git a/public/language/bn/notifications.json b/public/language/bn/notifications.json index c40359bca7..9e6d6f8e72 100644 --- a/public/language/bn/notifications.json +++ b/public/language/bn/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 আপনাকে অনুসরন করা শুরু করেছেন।", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/cs/notifications.json b/public/language/cs/notifications.json index dc1f11eaf7..9aefa47f51 100644 --- a/public/language/cs/notifications.json +++ b/public/language/cs/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 založil nové téma: %2", "user-edited-post": "Příspěvek %2 byl upraven uživatelem %1", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 vás začal sledovat.", "user-started-following-you-dual": "%1 a %2 vás začali sledovat.", diff --git a/public/language/da/notifications.json b/public/language/da/notifications.json index 68a591ebdd..1891a90f97 100644 --- a/public/language/da/notifications.json +++ b/public/language/da/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 har oprettet en ny tråd: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 har valgt at følge dig.", "user-started-following-you-dual": "%1 og %2 har valgt at følge dig.", diff --git a/public/language/de/notifications.json b/public/language/de/notifications.json index 6c26f60728..8344a900ae 100644 --- a/public/language/de/notifications.json +++ b/public/language/de/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 und %3 andere haben geantwortet auf: %4", "user-posted-topic": "%1 hat ein neues Thema erstellt: %2", "user-edited-post": "%1 hat einen Post in %2 bearbeitet", - "user-posted-topic-with-tag": "%1 hat ein neues Thema mit dem Tag %2 erstellt", - "user-posted-topic-with-tag-dual": "%1 hat ein neues Thema mit den Tags %2 and %3 erstellt", - "user-posted-topic-with-tag-triple": "%1 hat ein neues Thema mit den Tags %2, %3 und %4 erstellt", - "user-posted-topic-with-tag-multiple": "%1 hat ein neues Thema mit den Tags %2 erstellt", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 hat ein neues Thema in %2 erstellt", "user-started-following-you": "%1 folgt dir jetzt.", "user-started-following-you-dual": "%1 und %2 folgen dir jetzt.", diff --git a/public/language/el/notifications.json b/public/language/el/notifications.json index 8043fa57da..5835f48502 100644 --- a/public/language/el/notifications.json +++ b/public/language/el/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/en-US/notifications.json b/public/language/en-US/notifications.json index 02125c4009..b2f0490a86 100644 --- a/public/language/en-US/notifications.json +++ b/public/language/en-US/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/en-x-pirate/notifications.json b/public/language/en-x-pirate/notifications.json index 975f837cd7..88afee9bc6 100644 --- a/public/language/en-x-pirate/notifications.json +++ b/public/language/en-x-pirate/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/es/notifications.json b/public/language/es/notifications.json index 16d514cb9c..f2beba8a99 100644 --- a/public/language/es/notifications.json +++ b/public/language/es/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 ha publicado un nuevo tema: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 comenzó a seguirte.", "user-started-following-you-dual": "%1 y %2 comenzaron a seguirte.", diff --git a/public/language/et/notifications.json b/public/language/et/notifications.json index a4dd123e07..218ecb1b7b 100644 --- a/public/language/et/notifications.json +++ b/public/language/et/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 on postitanud uue teema: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 hakkas sind jälgima.", "user-started-following-you-dual": "%1 ja %2 hakkasid sind jälgima.", diff --git a/public/language/fa-IR/notifications.json b/public/language/fa-IR/notifications.json index 012fd6cbd2..4a0d331fa1 100644 --- a/public/language/fa-IR/notifications.json +++ b/public/language/fa-IR/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 یک موضوع جدید ارسال کرده: %2", "user-edited-post": "%1 پستی را در %2 ویرایش کرد", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 شروع به دنبال کردن شما کرده", "user-started-following-you-dual": "%1 و %2 شروع به دنبال کردن شما کرده.", diff --git a/public/language/fi/notifications.json b/public/language/fi/notifications.json index 96cc80eb9f..86167b55d2 100644 --- a/public/language/fi/notifications.json +++ b/public/language/fi/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 on kirjoittanut uuden aiheen: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 aloitti uuden aiheen kategoriassa %2", "user-started-following-you": "%1 alkoi seurata sinua.", "user-started-following-you-dual": "%1 ja %2 alkoivat seurata sinua", diff --git a/public/language/fr/notifications.json b/public/language/fr/notifications.json index a165b91046..d64528d2da 100644 --- a/public/language/fr/notifications.json +++ b/public/language/fr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 et %3 autres ont posté des réponses dans : %4", "user-posted-topic": "%1 a posté un nouveau sujet: %2", "user-edited-post": "%1 a édité un message dans %2", - "user-posted-topic-with-tag": "%1 a posté un nouveau sujet avec le mot-clé %2", - "user-posted-topic-with-tag-dual": "%1 a posté un nouveau sujet avec le mot-clé %2 et %3", - "user-posted-topic-with-tag-triple": "%1 a posté un nouveau sujet avec les mot-clés %2, %3 et %4", - "user-posted-topic-with-tag-multiple": "%1 a posté un nouveau sujet avec les mot-clés %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 a posté un nouveau sujet: %2", "user-started-following-you": "%1 vous suit.", "user-started-following-you-dual": "%1 et %2 se sont abonnés à votre compte.", diff --git a/public/language/gl/notifications.json b/public/language/gl/notifications.json index a4511bc9b9..072927cd35 100644 --- a/public/language/gl/notifications.json +++ b/public/language/gl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 publicou un novo tema: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 comezou a seguirte.", "user-started-following-you-dual": "%1 e %2 comezaron a seguirte.", diff --git a/public/language/he/notifications.json b/public/language/he/notifications.json index 5ecb4b5aad..48b7b6f88d 100644 --- a/public/language/he/notifications.json +++ b/public/language/he/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 ו-%3 אחרים הגיבו ל: %4", "user-posted-topic": "%1 העלה נושא חדש: %2", "user-edited-post": "%1 ערך פוסט ב: %2", - "user-posted-topic-with-tag": "%1 פרסם נושא חדש עם התגית %2", - "user-posted-topic-with-tag-dual": "%1 פרסם נושא חדש עם התגיות %1 ו-%3", - "user-posted-topic-with-tag-triple": "%1 פרסם נושא חדש עם התגיות %2, %3 ו-%4", - "user-posted-topic-with-tag-multiple": "%1 פרסם נושא חדש עם התגיות %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 פרסם נושא חדש ב%2", "user-started-following-you": "%1 התחיל לעקוב אחריך.", "user-started-following-you-dual": "%1 ו-%2 התחילו לעקוב אחריך.", diff --git a/public/language/hr/notifications.json b/public/language/hr/notifications.json index 8433cb789b..f8dec38951 100644 --- a/public/language/hr/notifications.json +++ b/public/language/hr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 je otvorio novu temu: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 Vas sada prati.", "user-started-following-you-dual": "%1 i %2 vas sada prate.", diff --git a/public/language/hu/notifications.json b/public/language/hu/notifications.json index e1398d636e..3b39e696ae 100644 --- a/public/language/hu/notifications.json +++ b/public/language/hu/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 új témakört hozott létre: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 új témakört hozott létre: %2", "user-started-following-you": "%1 elkezdett követni téged.", "user-started-following-you-dual": "%1 és%2 elkezdett követni téged.", diff --git a/public/language/hy/notifications.json b/public/language/hy/notifications.json index 96a515cbd4..15f11819b9 100644 --- a/public/language/hy/notifications.json +++ b/public/language/hy/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 և %3 ուրիշները պատասխանել են %4 - ին։", "user-posted-topic": "%1-ը նոր թեմա է տեղադրել՝ %2", "user-edited-post": "%1-ը խմբագրել է գրառում %2-ում", - "user-posted-topic-with-tag": "%1 պիտակով նոր թեմա է տեղադրել %2 - ում։", - "user-posted-topic-with-tag-dual": "%1 պիտակով նոր թեմա է տեղադրել %2 և %3 - ում։", - "user-posted-topic-with-tag-triple": "%1 պիտակով նոր թեմա է տեղադրել %2, %3 և %4 - ում։", - "user-posted-topic-with-tag-multiple": "%1 պիտակով նոր թեմա է տեղադրել %2 - ում։", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 նոր թեմա է տեղադրել %2", "user-started-following-you": "%1 սկսեց հետևել ձեզ", "user-started-following-you-dual": "%1 և %2 սկսեցին հետևել ձեզ:", diff --git a/public/language/id/notifications.json b/public/language/id/notifications.json index 4b6259caba..7744847eaf 100644 --- a/public/language/id/notifications.json +++ b/public/language/id/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 telah membuat topik baru: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 mulai mengikutimu.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/it/notifications.json b/public/language/it/notifications.json index 737dfd0f20..d0e7e6ff8f 100644 --- a/public/language/it/notifications.json +++ b/public/language/it/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 e %3 altri hanno postato risposte a: %4", "user-posted-topic": "%1 ha postato una nuova discussione: %2", "user-edited-post": "%1 ha modificato un post in %2", - "user-posted-topic-with-tag": "%1 ha postato una nuova discussione con tag %2", - "user-posted-topic-with-tag-dual": "%1 ha postato una nuova discussione con i tag %2 e %3", - "user-posted-topic-with-tag-triple": "%1 ha postato una nuova discussione con e tag %2, %3 e %4", - "user-posted-topic-with-tag-multiple": "%1 ha postato una nuova discussione con i tag %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 ha postato una nuova discussione in %2", "user-started-following-you": "%1 ha iniziato a seguirti.", "user-started-following-you-dual": "%1 e %2 hanno iniziato a seguirti.", diff --git a/public/language/ja/notifications.json b/public/language/ja/notifications.json index ab09acafd9..3894f8dd0c 100644 --- a/public/language/ja/notifications.json +++ b/public/language/ja/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 が新しいスレッドを投稿しました。: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1があなたをフォローしました。", "user-started-following-you-dual": "%1%2 があなたをフォローしました。", diff --git a/public/language/ko/notifications.json b/public/language/ko/notifications.json index 1e9b72af2b..68a59e9096 100644 --- a/public/language/ko/notifications.json +++ b/public/language/ko/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 및 다른 %3명이 답글을 게시했습니다: %4", "user-posted-topic": "%1님이 새 토픽을 게시했습니다: %2", "user-edited-post": "%1님이 %2에서 게시물을 편집했습니다.", - "user-posted-topic-with-tag": "%1님이 태그 %2를 포함한 새 토픽을 게시했습니다.", - "user-posted-topic-with-tag-dual": "%1님이 태그 %2%3를 포함한 새 토픽을 게시했습니다.", - "user-posted-topic-with-tag-triple": "%1님이 태그 %2, %3%4를 포함한 새 토픽을 게시했습니다.", - "user-posted-topic-with-tag-multiple": "%1님이 태그 %2를 포함한 새 토픽을 게시했습니다.", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1님이 카테고리 %2에 새 토픽을 게시했습니다.", "user-started-following-you": "%1님이 나를 팔로우하기 시작했습니다.", "user-started-following-you-dual": "%1%2님이 나를 팔로우하기 시작했습니다.", diff --git a/public/language/lt/notifications.json b/public/language/lt/notifications.json index c212e1b3de..ddb3cad7bf 100644 --- a/public/language/lt/notifications.json +++ b/public/language/lt/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 paskelbė naują temą: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 pradėjo sekti tave", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/lv/notifications.json b/public/language/lv/notifications.json index ef3573784a..e355f96321 100644 --- a/public/language/lv/notifications.json +++ b/public/language/lv/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 ir ievietojis jaunu tematu: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 sāka Tev sekot.", "user-started-following-you-dual": "%1 un %2 sāka Tev sekot.", diff --git a/public/language/ms/notifications.json b/public/language/ms/notifications.json index a852e75ac5..9ff88007db 100644 --- a/public/language/ms/notifications.json +++ b/public/language/ms/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 membuka topik baru : %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 mula mengikut anda.", "user-started-following-you-dual": "%1 dan %2 mula mengikuti anda.", diff --git a/public/language/nb/notifications.json b/public/language/nb/notifications.json index 29752bf30d..1c4ad0976b 100644 --- a/public/language/nb/notifications.json +++ b/public/language/nb/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 har skrevet en ny tråd: %2", "user-edited-post": "%1 har redigert ett innlegg i %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 har publisert et nytt innlegg i %2", "user-started-following-you": "%1 begynte å følge deg.", "user-started-following-you-dual": "%1 og 2% har begynt å følge deg.", diff --git a/public/language/nl/notifications.json b/public/language/nl/notifications.json index 5a103b7489..d7170cc51c 100644 --- a/public/language/nl/notifications.json +++ b/public/language/nl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 heeft een nieuw onderwerp geplaatst: %2", "user-edited-post": "%1 heeft een bericht aangepast in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 volgt jou nu.", "user-started-following-you-dual": "%1 en %2 volgen jou nu.", diff --git a/public/language/pl/notifications.json b/public/language/pl/notifications.json index 093845b447..28c9386743 100644 --- a/public/language/pl/notifications.json +++ b/public/language/pl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 i %3 innych dodało odpowiedzi do: %4", "user-posted-topic": "%1 stworzył nowy temat: %2", "user-edited-post": "%1 edytował post w %2", - "user-posted-topic-with-tag": "%1 stworzył nowy temat z tagiem %2", - "user-posted-topic-with-tag-dual": "%1 stworzył nowy temat z tagami %2 i %3", - "user-posted-topic-with-tag-triple": "%1 stworzył nowy temat z tagami %2, %3 i %4", - "user-posted-topic-with-tag-multiple": "%1 stworzył nowy temat z tagami %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 stworzył nowy temat w %2", "user-started-following-you": "%1 zaczął Cię obserwować.", "user-started-following-you-dual": "%1 oraz %2 zaczęli Cię obserwować.", diff --git a/public/language/pt-BR/notifications.json b/public/language/pt-BR/notifications.json index b310b45bce..a9fcbffb61 100644 --- a/public/language/pt-BR/notifications.json +++ b/public/language/pt-BR/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 postou um novo tópico: %2", "user-edited-post": "%1 editou um post em %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 começou a seguir você.", "user-started-following-you-dual": "%1 e %2 começaram a lhe acompanhar.", diff --git a/public/language/pt-PT/notifications.json b/public/language/pt-PT/notifications.json index 8f4e18c6f2..0568d3abdb 100644 --- a/public/language/pt-PT/notifications.json +++ b/public/language/pt-PT/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 publicou um novo tópico: %2", "user-edited-post": "%1 editou uma publicação em %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 começou a seguir-te.", "user-started-following-you-dual": "%1 e %2 começaram a seguir-te.", diff --git a/public/language/ro/notifications.json b/public/language/ro/notifications.json index daa30b04d8..f30ef3c0d2 100644 --- a/public/language/ro/notifications.json +++ b/public/language/ro/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 a început să te urmărească.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/ru/notifications.json b/public/language/ru/notifications.json index c24ff5f7ff..86e96bc41d 100644 --- a/public/language/ru/notifications.json +++ b/public/language/ru/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "Пользователь %1 создал новую тему: %2", "user-edited-post": " %1 отредактировал сообщение в %2 ", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "Пользователь %1 подписался на вас.", "user-started-following-you-dual": "Пользователи %1 и %2 подписались на вас.", diff --git a/public/language/rw/notifications.json b/public/language/rw/notifications.json index 94aef14349..0006d69bc2 100644 --- a/public/language/rw/notifications.json +++ b/public/language/rw/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 yatangije ikiganiro gishya: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 yatangiye kugukurikira.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/sc/notifications.json b/public/language/sc/notifications.json index a1d860076a..3f7e69bd8b 100644 --- a/public/language/sc/notifications.json +++ b/public/language/sc/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", diff --git a/public/language/sk/notifications.json b/public/language/sk/notifications.json index de66fd4959..8fdb90b05d 100644 --- a/public/language/sk/notifications.json +++ b/public/language/sk/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 pridal novú tému: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 Vás začal sledovať.", "user-started-following-you-dual": "%1 a %2 Vás začali sledovať.", diff --git a/public/language/sl/notifications.json b/public/language/sl/notifications.json index 2f8f6337f3..d7613d1f5e 100644 --- a/public/language/sl/notifications.json +++ b/public/language/sl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 je odprl/-a novo temo: %2.", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 te je začel/-a spremljati.", "user-started-following-you-dual": "%1 in %2 sta te začela/-i spremljati.", diff --git a/public/language/sq-AL/notifications.json b/public/language/sq-AL/notifications.json index 14fe76838b..a208f89f9b 100644 --- a/public/language/sq-AL/notifications.json +++ b/public/language/sq-AL/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 ka postuar një temë të re: %2", "user-edited-post": "%1 ka redaktuar një postim në %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 filloi t'ju ndjekë.", "user-started-following-you-dual": "% 1 dhe %2 filluan t'ju ndjekin.", diff --git a/public/language/sr/notifications.json b/public/language/sr/notifications.json index ba93a6346c..968f1d0f4f 100644 --- a/public/language/sr/notifications.json +++ b/public/language/sr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 и осталих %3 су објавили одговор: %4", "user-posted-topic": "%1 је поставио нову тему: %2", "user-edited-post": "%1 је уредио поруку у %2", - "user-posted-topic-with-tag": "%1 је објавио нову тему са ознаком %2", - "user-posted-topic-with-tag-dual": "%1 је објавио нову тему са ознакама %2 и %3", - "user-posted-topic-with-tag-triple": "%1 је објавио нову тему са ознакама %2, %3 и %4", - "user-posted-topic-with-tag-multiple": "%1 је објавио нову тему са ознакама %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 је почео да вас прати.", "user-started-following-you-dual": "%1 и %2 су почели да вас прате.", diff --git a/public/language/sv/notifications.json b/public/language/sv/notifications.json index 9ca90fa226..d7b952e53e 100644 --- a/public/language/sv/notifications.json +++ b/public/language/sv/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 har skapat ett nytt ämne: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 började följa dig.", "user-started-following-you-dual": "%1 och %2 började följa dig.", diff --git a/public/language/th/notifications.json b/public/language/th/notifications.json index b367a012fb..d2760ba136 100644 --- a/public/language/th/notifications.json +++ b/public/language/th/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 และอีก %3 คน ได้โพสต์คำตอบไปยัง %4", "user-posted-topic": "%1ได้โพสต์กระทู้ใหม่ : %2", "user-edited-post": "%1 ได้แก้ไขโพสต์ใน %2", - "user-posted-topic-with-tag": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2", - "user-posted-topic-with-tag-dual": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2 และ %3", - "user-posted-topic-with-tag-triple": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2, %3 และ %4", - "user-posted-topic-with-tag-multiple": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 ได้โพสต์กระทู้ใหม่ใน %2", "user-started-following-you": "%1 ได้เริ่มติดตามคุณ", "user-started-following-you-dual": "%1และ%2ได้เริ่มติดตามคุณ", diff --git a/public/language/tr/notifications.json b/public/language/tr/notifications.json index 4b432e2d32..27a95c7046 100644 --- a/public/language/tr/notifications.json +++ b/public/language/tr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 ve %3 diğer kullanıcı şu konuya ileti yazdılar: %4", "user-posted-topic": "%1 şu yeni konuyu oluşturdu: %2", "user-edited-post": "%1 şu konudaki bir iletiyi değiştirdi: %2", - "user-posted-topic-with-tag": "%1 şu etiketi kullanarak yeni bir konu oluşturdu: %2", - "user-posted-topic-with-tag-dual": "%1 şu etiketleri kullanarak yeni bir konu oluşturdu: %2 ve %3", - "user-posted-topic-with-tag-triple": "%1 şu etiketleri kullanarak yeni bir konu oluşturdu: %2, %3 ve %4", - "user-posted-topic-with-tag-multiple": "%1 şu etiketleri kullanarak yeni bir konu oluşturdu: %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 şu kategoride yeni bir başlık oluşturdu: %2", "user-started-following-you": "%1 sizi takip etmeye başladı", "user-started-following-you-dual": "%1 ve %2 sizi takip etmeye başladı.", diff --git a/public/language/uk/notifications.json b/public/language/uk/notifications.json index 74aeed642d..65e8a7d836 100644 --- a/public/language/uk/notifications.json +++ b/public/language/uk/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 запостив нову тему: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 почав стежити за вами.", "user-started-following-you-dual": "%1 та %2 почали стежити за вами.", diff --git a/public/language/vi/notifications.json b/public/language/vi/notifications.json index b60e410d8b..8ded5e79dd 100644 --- a/public/language/vi/notifications.json +++ b/public/language/vi/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 và %3 người khác đã đăng trả lời đến: %4", "user-posted-topic": "%1 đã đăng một chủ đề mới: %2", "user-edited-post": "%1 đã chỉnh sửa một bài đăng trong %2", - "user-posted-topic-with-tag": "%1 đã đăng một chủ đề mới với thẻ %2", - "user-posted-topic-with-tag-dual": "%1 đã đăng một chủ đề mới với thẻ %2%3", - "user-posted-topic-with-tag-triple": "%1 đã đăng một chủ đề mới với thẻ %2, %3%4", - "user-posted-topic-with-tag-multiple": "%1 đã đăng một chủ đề mới với thẻ %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 đã đăng chủ đề mới trong %2", "user-started-following-you": "%1 đã theo dõi bạn.", "user-started-following-you-dual": "%1%2 đã bắt đầu theo dõi bạn.", diff --git a/public/language/zh-CN/notifications.json b/public/language/zh-CN/notifications.json index 981482c16c..95432182e8 100644 --- a/public/language/zh-CN/notifications.json +++ b/public/language/zh-CN/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 发表了新主题:%2", "user-edited-post": "%1%2 编辑了一个帖子", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 发表了新主题:%2", "user-started-following-you": "%1关注了您。", "user-started-following-you-dual": "%1%2 关注了您。", diff --git a/public/language/zh-TW/notifications.json b/public/language/zh-TW/notifications.json index a136577f77..cf26acb01a 100644 --- a/public/language/zh-TW/notifications.json +++ b/public/language/zh-TW/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 發表了新主題:%2", "user-edited-post": "%1%2編輯了一則貼文", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1追隨了您。", "user-started-following-you-dual": "%1%2 追隨了您。", From 3505388710423b4da5e80ff133389d2c112e5128 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 16:10:35 -0400 Subject: [PATCH 02/14] chore(deps): update dependency mocha to v10.5.1 (#12651) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 340447d5a4..a7980c8cdf 100644 --- a/install/package.json +++ b/install/package.json @@ -165,7 +165,7 @@ "husky": "8.0.3", "jsdom": "24.1.0", "lint-staged": "15.2.7", - "mocha": "10.4.0", + "mocha": "10.5.1", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", "nyc": "17.0.0", From c266e7288f35e958c4bbb156b7f8a0a2c723dc14 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Wed, 26 Jun 2024 09:19:23 +0000 Subject: [PATCH 03/14] Latest translations and fallbacks --- public/language/bg/notifications.json | 8 ++++---- public/language/it/notifications.json | 8 ++++---- public/language/it/post-queue.json | 2 +- public/language/pl/notifications.json | 8 ++++---- public/language/pl/post-queue.json | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/public/language/bg/notifications.json b/public/language/bg/notifications.json index a489155fce..e41bbacd1a 100644 --- a/public/language/bg/notifications.json +++ b/public/language/bg/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 и %3 други публикуваха отговори на: %4", "user-posted-topic": "%1 публикува нова тема: %2", "user-edited-post": "%1 редактира публикация в %2", - "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", - "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", - "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", - "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag": "%1 публикува %2 (с етикет %3)", + "user-posted-topic-with-tag-dual": "%1 публикува %2 (с етикети %3 и %4)", + "user-posted-topic-with-tag-triple": "%1 публикува %2 (с етикети %3, %4 и %5)", + "user-posted-topic-with-tag-multiple": "%1 публикува %2 (с етикет %3)", "user-posted-topic-in-category": "%1 публикува нова тема в %2", "user-started-following-you": "%1 започна да Ви следва.", "user-started-following-you-dual": "%1 и %2 започнаха да Ви следват.", diff --git a/public/language/it/notifications.json b/public/language/it/notifications.json index d0e7e6ff8f..df95618a8c 100644 --- a/public/language/it/notifications.json +++ b/public/language/it/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 e %3 altri hanno postato risposte a: %4", "user-posted-topic": "%1 ha postato una nuova discussione: %2", "user-edited-post": "%1 ha modificato un post in %2", - "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", - "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", - "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", - "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag": "%1 ha postato %2 (taggato %3)", + "user-posted-topic-with-tag-dual": "%1 ha postato %2 (taggato %3 e %4)", + "user-posted-topic-with-tag-triple": "%1 ha postato %2 (taggato %3, %4, e %5)", + "user-posted-topic-with-tag-multiple": "%1 ha postato %2 (taggato %3)", "user-posted-topic-in-category": "%1 ha postato una nuova discussione in %2", "user-started-following-you": "%1 ha iniziato a seguirti.", "user-started-following-you-dual": "%1 e %2 hanno iniziato a seguirti.", diff --git a/public/language/it/post-queue.json b/public/language/it/post-queue.json index bf1d545029..b9ebfe9bfb 100644 --- a/public/language/it/post-queue.json +++ b/public/language/it/post-queue.json @@ -39,5 +39,5 @@ "remove-selected-confirm": "Vuoi rimuovere %1 post selezionati?", "bulk-accept-success": "%1 post accettati", "bulk-reject-success": "%1 post rifiutati", - "links-in-this-post": "Links in this post" + "links-in-this-post": "Link in questo post" } \ No newline at end of file diff --git a/public/language/pl/notifications.json b/public/language/pl/notifications.json index 28c9386743..bdbf9bc2df 100644 --- a/public/language/pl/notifications.json +++ b/public/language/pl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 i %3 innych dodało odpowiedzi do: %4", "user-posted-topic": "%1 stworzył nowy temat: %2", "user-edited-post": "%1 edytował post w %2", - "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", - "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", - "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", - "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag": "%1 dodał(a) %2 (tag %3)", + "user-posted-topic-with-tag-dual": "%1 dodał(a) %2 (tagi %3 i %4)", + "user-posted-topic-with-tag-triple": "%1 dodał(a) %2 (tagi %3, %4 i %5)", + "user-posted-topic-with-tag-multiple": "%1 dodał(a) %2 (tag %3)", "user-posted-topic-in-category": "%1 stworzył nowy temat w %2", "user-started-following-you": "%1 zaczął Cię obserwować.", "user-started-following-you-dual": "%1 oraz %2 zaczęli Cię obserwować.", diff --git a/public/language/pl/post-queue.json b/public/language/pl/post-queue.json index 970d6e0b13..2ecc50afbf 100644 --- a/public/language/pl/post-queue.json +++ b/public/language/pl/post-queue.json @@ -39,5 +39,5 @@ "remove-selected-confirm": "Czy chcesz usunąć %1 wybranych postów?", "bulk-accept-success": "%1 postów zaakceptowanych", "bulk-reject-success": "%1 postów odrzuconych", - "links-in-this-post": "Links in this post" + "links-in-this-post": "Odnośniki w tym wpisie" } \ No newline at end of file From 85b329af25a5513da8097fc5b5c3777787b7dd6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 09:08:32 -0400 Subject: [PATCH 04/14] refactor: use array.some --- src/meta/tags.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/meta/tags.js b/src/meta/tags.js index 121c1c74c2..42e903c211 100644 --- a/src/meta/tags.js +++ b/src/meta/tags.js @@ -187,12 +187,7 @@ Tags.parse = async (req, data, meta, link) => { }; function addIfNotExists(meta, keyName, tagName, value) { - let exists = false; - meta.forEach((tag) => { - if (tag[keyName] === tagName) { - exists = true; - } - }); + const exists = meta.some(tag => tag[keyName] === tagName); if (!exists && value) { const data = { From 64875b3fae263430a2aa79f631503b98cd3031a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 11:55:24 -0400 Subject: [PATCH 05/14] feat: closes #12656, only send required meta/link tags on /api calls --- src/meta/tags.js | 117 ++++++++++++++++++++++++++--------------------- 1 file changed, 64 insertions(+), 53 deletions(-) diff --git a/src/meta/tags.js b/src/meta/tags.js index 42e903c211..b59760b167 100644 --- a/src/meta/tags.js +++ b/src/meta/tags.js @@ -14,8 +14,10 @@ const relative_path = nconf.get('relative_path'); const upload_url = nconf.get('upload_url'); Tags.parse = async (req, data, meta, link) => { + const isAPI = req.res && req.res.locals && req.res.locals.isAPI; + // Meta tags - const defaultTags = [{ + const defaultTags = isAPI ? [] : [{ name: 'viewport', content: 'width=device-width, initial-scale=1.0', }, { @@ -40,14 +42,14 @@ Tags.parse = async (req, data, meta, link) => { content: Meta.config.themeColor || '#ffffff', }]; - if (Meta.config.keywords) { + if (Meta.config.keywords && !isAPI) { defaultTags.push({ name: 'keywords', content: Meta.config.keywords, }); } - if (Meta.config['brand:logo']) { + if (Meta.config['brand:logo'] && !isAPI) { defaultTags.push({ name: 'msapplication-square150x150logo', content: Meta.config['brand:logo'], @@ -59,7 +61,7 @@ Tags.parse = async (req, data, meta, link) => { const cacheBuster = `${Meta.config['cache-buster'] ? `?${Meta.config['cache-buster']}` : ''}`; // Link Tags - const defaultLinks = [{ + const defaultLinks = isAPI ? [] : [{ rel: 'icon', type: 'image/x-icon', href: `${faviconPath}${cacheBuster}`, @@ -69,7 +71,7 @@ Tags.parse = async (req, data, meta, link) => { crossorigin: `use-credentials`, }]; - if (plugins.hooks.hasListeners('filter:search.query')) { + if (plugins.hooks.hasListeners('filter:search.query') && !isAPI) { defaultLinks.push({ rel: 'search', type: 'application/opensearchdescription+xml', @@ -78,7 +80,59 @@ Tags.parse = async (req, data, meta, link) => { }); } - // Touch icons for mobile-devices + if (!isAPI) { + addTouchIcons(defaultLinks); + } + + const results = await utils.promiseParallel({ + tags: plugins.hooks.fire('filter:meta.getMetaTags', { req: req, data: data, tags: defaultTags }), + links: plugins.hooks.fire('filter:meta.getLinkTags', { req: req, data: data, links: defaultLinks }), + }); + + meta = results.tags.tags.concat(meta || []).map((tag) => { + if (!tag || typeof tag.content !== 'string') { + winston.warn('Invalid meta tag. ', tag); + return tag; + } + + if (!tag.noEscape) { + const attributes = Object.keys(tag); + attributes.forEach((attr) => { + tag[attr] = utils.escapeHTML(String(tag[attr])); + }); + } + + return tag; + }); + + await addSiteOGImage(meta); + + addIfNotExists(meta, 'property', 'og:title', Meta.config.title || 'NodeBB'); + const ogUrl = url + (req.originalUrl !== '/' ? stripRelativePath(req.originalUrl) : ''); + addIfNotExists(meta, 'property', 'og:url', ogUrl); + addIfNotExists(meta, 'name', 'description', Meta.config.description); + addIfNotExists(meta, 'property', 'og:description', Meta.config.description); + + link = results.links.links.concat(link || []); + if (isAPI) { + const whitelist = ['canonical', 'alternate', 'up']; + link = link.filter(link => whitelist.some(val => val === link.rel)); + } + link = link.map((tag) => { + if (!tag.noEscape) { + const attributes = Object.keys(tag); + attributes.forEach((attr) => { + tag[attr] = utils.escapeHTML(String(tag[attr])); + }); + } + + return tag; + }); + + return { meta, link }; +}; + +function addTouchIcons(defaultLinks) { if (Meta.config['brand:touchIcon']) { defaultLinks.push({ rel: 'apple-touch-icon', @@ -142,59 +196,16 @@ Tags.parse = async (req, data, meta, link) => { href: `${relative_path}/assets/images/touch/512.png`, }); } - - const results = await utils.promiseParallel({ - tags: plugins.hooks.fire('filter:meta.getMetaTags', { req: req, data: data, tags: defaultTags }), - links: plugins.hooks.fire('filter:meta.getLinkTags', { req: req, data: data, links: defaultLinks }), - }); - - meta = results.tags.tags.concat(meta || []).map((tag) => { - if (!tag || typeof tag.content !== 'string') { - winston.warn('Invalid meta tag. ', tag); - return tag; - } - - if (!tag.noEscape) { - const attributes = Object.keys(tag); - attributes.forEach((attr) => { - tag[attr] = utils.escapeHTML(String(tag[attr])); - }); - } - - return tag; - }); - - await addSiteOGImage(meta); - - addIfNotExists(meta, 'property', 'og:title', Meta.config.title || 'NodeBB'); - const ogUrl = url + (req.originalUrl !== '/' ? stripRelativePath(req.originalUrl) : ''); - addIfNotExists(meta, 'property', 'og:url', ogUrl); - addIfNotExists(meta, 'name', 'description', Meta.config.description); - addIfNotExists(meta, 'property', 'og:description', Meta.config.description); - - link = results.links.links.concat(link || []).map((tag) => { - if (!tag.noEscape) { - const attributes = Object.keys(tag); - attributes.forEach((attr) => { - tag[attr] = utils.escapeHTML(String(tag[attr])); - }); - } - - return tag; - }); - - return { meta, link }; -}; +} function addIfNotExists(meta, keyName, tagName, value) { const exists = meta.some(tag => tag[keyName] === tagName); if (!exists && value) { - const data = { + meta.push({ content: utils.escapeHTML(String(value)), - }; - data[keyName] = tagName; - meta.push(data); + [keyName]: tagName, + }); } } From 172bc2499e91d04c7f96a09c409cc88dfd96da2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 13:09:47 -0400 Subject: [PATCH 06/14] perf: change revokeSession to work with an array of sids --- src/user/auth.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/user/auth.js b/src/user/auth.js index 954d00a0c5..fb2bca7517 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -107,26 +107,28 @@ module.exports = function (User) { db.sortedSetAdd(`uid:${uid}:sessions`, Date.now(), sessionId), db.setObjectField(`uid:${uid}:sessionUUID:sessionId`, uuid, sessionId), ]); - await revokeSessionsAboveThreshold(uid, meta.config.maxUserSessions); + await revokeSessionsAboveThreshold(uid); }; - async function revokeSessionsAboveThreshold(uid, maxUserSessions) { + async function revokeSessionsAboveThreshold(uid) { const activeSessions = await db.getSortedSetRange(`uid:${uid}:sessions`, 0, -1); - if (activeSessions.length > maxUserSessions) { - const sessionsToRevoke = activeSessions.slice(0, activeSessions.length - maxUserSessions); - await Promise.all(sessionsToRevoke.map(sessionId => User.auth.revokeSession(sessionId, uid))); + if (activeSessions.length > meta.config.maxUserSessions) { + const sessionsToRevoke = activeSessions.slice(0, activeSessions.length - meta.config.maxUserSessions); + await User.auth.revokeSession(sessionsToRevoke, uid); } } - User.auth.revokeSession = async function (sessionId, uid) { - winston.verbose(`[user.auth] Revoking session ${sessionId} for user ${uid}`); - const sessionObj = await db.sessionStoreGet(sessionId); - if (sessionObj && sessionObj.meta && sessionObj.meta.uuid) { - await db.deleteObjectField(`uid:${uid}:sessionUUID:sessionId`, sessionObj.meta.uuid); - } + User.auth.revokeSession = async function (sessionIds, uid) { + sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds]; + const sessionObjs = await Promise.all(sessionIds.map(db.sessionStoreGet)); + const sidsToDestroy = sessionObjs.filter(Boolean).map((s, i) => sessionIds[i]); + const uuidsToDelete = sessionObjs.filter(s => s && s.meta && s.meta.uuid).map(s => s.meta.uuid); + const destroySids = sids => Promise.all(sids.map(db.sessionStoreDestroy)); + await Promise.all([ - db.sortedSetRemove(`uid:${uid}:sessions`, sessionId), - db.sessionStoreDestroy(sessionId), + db.deleteObjectFields(`uid:${uid}:sessionUUID:sessionId`, uuidsToDelete), + db.sortedSetRemove(`uid:${uid}:sessions`, sessionIds), + destroySids(sidsToDestroy), ]); }; @@ -137,7 +139,7 @@ module.exports = function (User) { uids.forEach((uid, index) => { const ids = sids[index].filter(id => id !== except); if (ids.length) { - promises.push(ids.map(s => User.auth.revokeSession(s, uid))); + promises.push(User.auth.revokeSession(ids, uid)); } }); await Promise.all(promises); From 69ce3bf0b8d7a35e6449ff1ac5abe2addde5a3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 13:25:52 -0400 Subject: [PATCH 07/14] lint: remove unused winston --- src/user/auth.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/user/auth.js b/src/user/auth.js index fb2bca7517..0ce177f183 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -1,6 +1,5 @@ 'use strict'; -const winston = require('winston'); const validator = require('validator'); const _ = require('lodash'); const db = require('../database'); From 26feb2bbf809bcbbeec63e9300225f7ab387b488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 14:16:41 -0400 Subject: [PATCH 08/14] perf: cleanup sessions every 30 seconds instead of everytime addSession is called --- src/user/auth.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/user/auth.js b/src/user/auth.js index 0ce177f183..da1e0c80ed 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -2,6 +2,8 @@ const validator = require('validator'); const _ = require('lodash'); +const winston = require('winston'); +const cronJob = require('cron').CronJob; const db = require('../database'); const meta = require('../meta'); const events = require('../events'); @@ -11,6 +13,21 @@ const utils = require('../utils'); module.exports = function (User) { User.auth = {}; + const uidsToClean = Object.create(null); + + new cronJob('*/30 * * * * *', (async () => { + const uids = Object.keys(uidsToClean); + try { + await Promise.all(uids.map(async (uid) => { + await cleanExpiredSessions(uid); + await revokeSessionsAboveThreshold(uid); + delete uidsToClean[uid]; + })); + } catch (err) { + winston.error(err.stack); + } + }), null, true); + User.auth.logAttempt = async function (uid, ip) { if (!(parseInt(uid, 10) > 0)) { return; @@ -101,12 +118,12 @@ module.exports = function (User) { if (!(parseInt(uid, 10) > 0)) { return; } - await cleanExpiredSessions(uid); + const now = Date.now(); + uidsToClean[uid] = now; await Promise.all([ - db.sortedSetAdd(`uid:${uid}:sessions`, Date.now(), sessionId), + db.sortedSetAdd(`uid:${uid}:sessions`, now, sessionId), db.setObjectField(`uid:${uid}:sessionUUID:sessionId`, uuid, sessionId), ]); - await revokeSessionsAboveThreshold(uid); }; async function revokeSessionsAboveThreshold(uid) { From 65a91ea5e5e3beb36df17c456bc50cf67c24474b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 14:32:37 -0400 Subject: [PATCH 09/14] refactor: move delete call --- src/user/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/auth.js b/src/user/auth.js index da1e0c80ed..954cba54c6 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -19,9 +19,9 @@ module.exports = function (User) { const uids = Object.keys(uidsToClean); try { await Promise.all(uids.map(async (uid) => { + delete uidsToClean[uid]; await cleanExpiredSessions(uid); await revokeSessionsAboveThreshold(uid); - delete uidsToClean[uid]; })); } catch (err) { winston.error(err.stack); From 9108c900c6910536e9926e440f0f7c7709023fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 15:30:54 -0400 Subject: [PATCH 10/14] test: move set --- src/user/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/auth.js b/src/user/auth.js index 954cba54c6..b35b7d6323 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -119,11 +119,11 @@ module.exports = function (User) { return; } const now = Date.now(); - uidsToClean[uid] = now; await Promise.all([ db.sortedSetAdd(`uid:${uid}:sessions`, now, sessionId), db.setObjectField(`uid:${uid}:sessionUUID:sessionId`, uuid, sessionId), ]); + uidsToClean[uid] = now; }; async function revokeSessionsAboveThreshold(uid) { From d6c946cf145ae01120a4a86ba1572e723dbfeb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 26 Jun 2024 17:34:04 -0400 Subject: [PATCH 11/14] refactor: sessionUUID (#12658) * refactor: sessionUUID * test: get uuid from sessionsstore * refactor: dont load all sids again in revoke * feat: upgrade script, get rid of second sessionStoreGet * allow disabling maxUserSessions by setting to 0 --- src/controllers/authentication.js | 2 +- src/upgrades/3.8.3/remove-session-uuid.js | 21 ++++++++ src/user/auth.js | 63 +++++++---------------- src/user/delete.js | 2 +- test/api.js | 6 ++- test/authentication.js | 2 +- 6 files changed, 48 insertions(+), 48 deletions(-) create mode 100644 src/upgrades/3.8.3/remove-session-uuid.js diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index b3949905d4..bbffc9070a 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -380,7 +380,7 @@ authenticationController.onSuccessfulLogin = async function (req, uid) { new Promise((resolve) => { req.session.save(resolve); }), - user.auth.addSession(uid, req.sessionID, uuid), + user.auth.addSession(uid, req.sessionID), user.updateLastOnlineTime(uid), user.onUserOnline(uid, Date.now()), analytics.increment('logins'), diff --git a/src/upgrades/3.8.3/remove-session-uuid.js b/src/upgrades/3.8.3/remove-session-uuid.js new file mode 100644 index 0000000000..59a975fce2 --- /dev/null +++ b/src/upgrades/3.8.3/remove-session-uuid.js @@ -0,0 +1,21 @@ +'use strict'; + + +const db = require('../../database'); +const batch = require('../../batch'); + +module.exports = { + name: 'Remove uid::sessionUUID:sessionId object', + timestamp: Date.UTC(2024, 5, 26), + method: async function () { + const { progress } = this; + + await batch.processSortedSet('users:joindate', async (uids) => { + progress.incr(uids.length); + await db.deleteAll(uids.map(uid => `uid:${uid}:sessionUUID:sessionId`)); + }, { + batch: 500, + progress: progress, + }); + }, +}; diff --git a/src/user/auth.js b/src/user/auth.js index b35b7d6323..0adf589967 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -2,8 +2,6 @@ const validator = require('validator'); const _ = require('lodash'); -const winston = require('winston'); -const cronJob = require('cron').CronJob; const db = require('../database'); const meta = require('../meta'); const events = require('../events'); @@ -13,21 +11,6 @@ const utils = require('../utils'); module.exports = function (User) { User.auth = {}; - const uidsToClean = Object.create(null); - - new cronJob('*/30 * * * * *', (async () => { - const uids = Object.keys(uidsToClean); - try { - await Promise.all(uids.map(async (uid) => { - delete uidsToClean[uid]; - await cleanExpiredSessions(uid); - await revokeSessionsAboveThreshold(uid); - })); - } catch (err) { - winston.error(err.stack); - } - }), null, true); - User.auth.logAttempt = async function (uid, ip) { if (!(parseInt(uid, 10) > 0)) { return; @@ -93,58 +76,53 @@ module.exports = function (User) { }; async function cleanExpiredSessions(uid) { - const uuidMapping = await db.getObject(`uid:${uid}:sessionUUID:sessionId`); - if (!uuidMapping) { - return; + const sids = await db.getSortedSetRange(`uid:${uid}:sessions`, 0, -1); + if (!sids.length) { + return []; } - const expiredUUIDs = []; + const expiredSids = []; - await Promise.all(Object.keys(uuidMapping).map(async (uuid) => { - const sid = uuidMapping[uuid]; + const activeSids = []; + await Promise.all(sids.map(async (sid) => { const sessionObj = await db.sessionStoreGet(sid); const expired = !sessionObj || !sessionObj.hasOwnProperty('passport') || !sessionObj.passport.hasOwnProperty('user') || parseInt(sessionObj.passport.user, 10) !== parseInt(uid, 10); if (expired) { - expiredUUIDs.push(uuid); expiredSids.push(sid); + } else { + activeSids.push(sid); } })); - await db.deleteObjectFields(`uid:${uid}:sessionUUID:sessionId`, expiredUUIDs); + await db.sortedSetRemove(`uid:${uid}:sessions`, expiredSids); + return activeSids; } - User.auth.addSession = async function (uid, sessionId, uuid) { + User.auth.addSession = async function (uid, sessionId) { if (!(parseInt(uid, 10) > 0)) { return; } - const now = Date.now(); - await Promise.all([ - db.sortedSetAdd(`uid:${uid}:sessions`, now, sessionId), - db.setObjectField(`uid:${uid}:sessionUUID:sessionId`, uuid, sessionId), - ]); - uidsToClean[uid] = now; + + const activeSids = await cleanExpiredSessions(uid); + await db.sortedSetAdd(`uid:${uid}:sessions`, Date.now(), sessionId); + await revokeSessionsAboveThreshold(activeSids.push(sessionId), uid); }; - async function revokeSessionsAboveThreshold(uid) { - const activeSessions = await db.getSortedSetRange(`uid:${uid}:sessions`, 0, -1); - if (activeSessions.length > meta.config.maxUserSessions) { - const sessionsToRevoke = activeSessions.slice(0, activeSessions.length - meta.config.maxUserSessions); + async function revokeSessionsAboveThreshold(activeSids, uid) { + if (meta.config.maxUserSessions > 0 && activeSids.length > meta.config.maxUserSessions) { + const sessionsToRevoke = activeSids.slice(0, activeSids.length - meta.config.maxUserSessions); await User.auth.revokeSession(sessionsToRevoke, uid); } } User.auth.revokeSession = async function (sessionIds, uid) { sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds]; - const sessionObjs = await Promise.all(sessionIds.map(db.sessionStoreGet)); - const sidsToDestroy = sessionObjs.filter(Boolean).map((s, i) => sessionIds[i]); - const uuidsToDelete = sessionObjs.filter(s => s && s.meta && s.meta.uuid).map(s => s.meta.uuid); const destroySids = sids => Promise.all(sids.map(db.sessionStoreDestroy)); await Promise.all([ - db.deleteObjectFields(`uid:${uid}:sessionUUID:sessionId`, uuidsToDelete), db.sortedSetRemove(`uid:${uid}:sessions`, sessionIds), - destroySids(sidsToDestroy), + destroySids(sessionIds), ]); }; @@ -164,11 +142,10 @@ module.exports = function (User) { User.auth.deleteAllSessions = async function () { await batch.processSortedSet('users:joindate', async (uids) => { const sessionKeys = uids.map(uid => `uid:${uid}:sessions`); - const sessionUUIDKeys = uids.map(uid => `uid:${uid}:sessionUUID:sessionId`); const sids = _.flatten(await db.getSortedSetRange(sessionKeys, 0, -1)); await Promise.all([ - db.deleteAll(sessionKeys.concat(sessionUUIDKeys)), + db.deleteAll(sessionKeys), ...sids.map(sid => db.sessionStoreDestroy(sid)), ]); }, { batch: 1000 }); diff --git a/src/user/delete.js b/src/user/delete.js index b84b4ef1d8..8f99117c59 100644 --- a/src/user/delete.js +++ b/src/user/delete.js @@ -119,7 +119,7 @@ module.exports = function (User) { `uid:${uid}:chat:rooms:read`, `uid:${uid}:upvote`, `uid:${uid}:downvote`, `uid:${uid}:flag:pids`, - `uid:${uid}:sessions`, `uid:${uid}:sessionUUID:sessionId`, + `uid:${uid}:sessions`, `invitation:uid:${uid}`, ]; diff --git a/test/api.js b/test/api.js index 47961742ff..0ea9918953 100644 --- a/test/api.js +++ b/test/api.js @@ -562,8 +562,10 @@ describe('API', async () => { const reloginPaths = ['GET /api/user/{userslug}/edit/email', 'PUT /users/{uid}/password', 'DELETE /users/{uid}/sessions/{uuid}']; if (reloginPaths.includes(`${method.toUpperCase()} ${path}`)) { ({ jar } = await helpers.loginUser('admin', '123456')); - const sessionUUIDs = await db.getObject('uid:1:sessionUUID:sessionId'); - mocks.delete['/users/{uid}/sessions/{uuid}'][1].example = Object.keys(sessionUUIDs).pop(); + const sessionIds = await db.getSortedSetRange('uid:1:sessions', 0, -1); + const sessObj = await db.sessionStoreGet(sessionIds[0]); + const { uuid } = sessObj.meta; + mocks.delete['/users/{uid}/sessions/{uuid}'][1].example = uuid; // Retrieve CSRF token using cookie, to test Write API csrfToken = await helpers.getCsrfToken(jar); diff --git a/test/authentication.js b/test/authentication.js index 1dcbe176a8..193d617435 100644 --- a/test/authentication.js +++ b/test/authentication.js @@ -195,7 +195,7 @@ describe('authentication', () => { }); assert(body); assert.equal(body.username, username); - const sessions = await db.getObject(`uid:${uid}:sessionUUID:sessionId`); + const sessions = await db.getSortedSetRange(`uid:${uid}:sessions`, 0, -1); assert(sessions); assert(Object.keys(sessions).length > 0); }); From 1933b7659ad6b14309e4f9569ac1299f6697eeea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Jun 2024 17:34:25 -0400 Subject: [PATCH 12/14] chore(deps): update dependency mocha to v10.5.2 (#12657) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index a7980c8cdf..e0dcb240d8 100644 --- a/install/package.json +++ b/install/package.json @@ -165,7 +165,7 @@ "husky": "8.0.3", "jsdom": "24.1.0", "lint-staged": "15.2.7", - "mocha": "10.5.1", + "mocha": "10.5.2", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", "nyc": "17.0.0", From 61e5293a76aafe9e09f3c665ac9f514a94b4769d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 27 Jun 2024 10:26:06 -0400 Subject: [PATCH 13/14] test: dont track session for api/v3 (#12660) since they get destroyed when the request ends --- src/controllers/authentication.js | 4 ++-- src/middleware/user.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index bbffc9070a..6591459cf2 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -342,7 +342,7 @@ authenticationController.doLogin = async function (req, uid) { await authenticationController.onSuccessfulLogin(req, uid); }; -authenticationController.onSuccessfulLogin = async function (req, uid) { +authenticationController.onSuccessfulLogin = async function (req, uid, trackSession = true) { /* * Older code required that this method be called from within the SSO plugin. * That behaviour is no longer required, onSuccessfulLogin is now automatically @@ -380,7 +380,7 @@ authenticationController.onSuccessfulLogin = async function (req, uid) { new Promise((resolve) => { req.session.save(resolve); }), - user.auth.addSession(uid, req.sessionID), + trackSession ? user.auth.addSession(uid, req.sessionID) : undefined, user.updateLastOnlineTime(uid), user.onUserOnline(uid, Date.now()), analytics.increment('logins'), diff --git a/src/middleware/user.js b/src/middleware/user.js index 3b7c1168db..ca6afcaf9b 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -41,7 +41,7 @@ module.exports = function (middleware) { async function finishLogin(req, user) { const loginAsync = util.promisify(req.login).bind(req); await loginAsync(user, { keepSessionInfo: true }); - await controllers.authentication.onSuccessfulLogin(req, user.uid); + await controllers.authentication.onSuccessfulLogin(req, user.uid, false); req.uid = parseInt(user.uid, 10); req.loggedIn = req.uid > 0; return true; From 3c46c5f431ab0ea6c2f890807193a4aadaa0f838 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:26:57 -0400 Subject: [PATCH 14/14] fix(deps): update dependency ace-builds to v1.35.1 (#12659) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index e0dcb240d8..2c89345dc1 100644 --- a/install/package.json +++ b/install/package.json @@ -35,7 +35,7 @@ "@isaacs/ttlcache": "1.4.1", "@nodebb/spider-detector": "2.0.3", "@popperjs/core": "2.11.8", - "ace-builds": "1.35.0", + "ace-builds": "1.35.1", "archiver": "7.0.1", "async": "3.2.5", "autoprefixer": "10.4.19",