Merge remote-tracking branch 'origin/develop' into activitypub

This commit is contained in:
Julian Lam
2023-12-21 14:23:50 -05:00
57 changed files with 291 additions and 62 deletions

View File

@@ -1,3 +1,228 @@
#### v3.6.0 (2023-12-20)
##### Chores
* **i18n:**
* fallback strings for new resources: nodebb.error (d3cfa1b7)
* fallback strings for new resources: nodebb.post-queue (64fe1278)
* fallback strings for new resources: nodebb.post-queue (f98205c1)
* fallback strings for new resources: nodebb.social (081352b6)
* fallback strings for new resources: nodebb.modules (4fe84ae8)
* fallback strings for new resources: nodebb.admin-settings-chat, nodebb.admin-settings-post, nodebb.admin-settings-user (94777927)
* fallback strings for new resources: nodebb.admin-settings-user, nodebb.category, nodebb.notifications (29b3a403)
* fallback strings for new resources: nodebb.error (7d8f700f)
* fallback strings for new resources: nodebb.modules (83931138)
* make error:email-taken slightly more descriptive (dd0743d3)
* up harmony (250cc771)
* up harmony (9324a75c)
* incrementing version number - v3.5.3 (ed0e8783)
* update changelog for v3.5.3 (e49ddaf8)
* up harmony (dbbf3a2c)
* up harmony (e4656bd4)
* incrementing version number - v3.5.2 (52fbb2da)
* up themes (0ec9d4c3)
* added missing deprecation warning for .getTopics (9079ad0b)
* update note at top of file (2de534fa)
* up dbsearch (b6981693)
* up themes (9a1f8e9b)
* incrementing version number - v3.5.1 (4c543488)
* up themes (ed10dda2)
* up composer (22d7e92f)
* up themes (fcdd3737)
* v4 note for deprecations (f4c36b84)
* minor re-order of routes/controllers in admin api v3 router/controller (181a9399)
* add in note at top of files ready for deletion in v4 (54a08087)
* up harmony (1b8dcbc2)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
* **deps:**
* update dependency eslint-plugin-import to v2.29.1 (#12229) (055b7597)
* update dependency eslint to v8.56.0 (#12231) (a7dd0f92)
* update dependency eslint to v8.55.0 (#12203) (32a403b2)
* update dependency lint-staged to v15.2.0 (#12210) (9763e97f)
* update dependency jsdom to v23.0.1 (#12196) (a50b141f)
* update dependency jsdom to v23 (#12186) (8c0472a0)
* update commitlint monorepo to v18.4.3 (#12177) (fd5d7b65)
* update dependency eslint to v8.54.0 (#12172) (b6275453)
* update commitlint monorepo to v18.4.2 (#12169) (d6a92d4c)
* update postgres docker tag to v16.1 (#12167) (616ff573)
* update mongo docker tag to v7 (#12166) (5f8a4f3a)
* update redis docker tag to v7.2.3 (#12165) (c41f9a75)
* update dependency lint-staged to v15.1.0 (#12161) (1796ed2b)
* update dependency @commitlint/cli to v18.4.1 (#12162) (be3d3393)
* update commitlint monorepo to v18.4.0 (#12159) (128c24f2)
* update dependency eslint to v8.53.0 (#12151) (d1a7ba35)
* update redis docker tag to v7.2.3 (#12152) (2eff6912)
* update commitlint monorepo to v18 (#12105) (97016f47)
* update dependency sass-embedded to v1.69.5 (#12127) (9e8a2116)
* **socket.io:** deprecate categories.(isModerator|ignore|watch|getSelectCategories|getMoveCategories|getCategoriesByPrivilege) (f1dbfaa2)
##### Documentation Changes
* fix improper verbiage in category watch schema (f8cc8548)
* openapi schema for api.search.categories (4ffe0417)
* **socket.io:**
* openapi schema for remaining added routes (5399e86a)
* added schema for new routes (f279bca0)
##### New Features
* add 500 page for missing tpls, closes #12230 (06221a0d)
* remove gif exif stripping exception (f8219aa6)
* update groups.leave to allow global mods to kick users out of groups (2c6024e0)
* better layout for manage chat room modal (f4faa0b7)
* update Messaging.toggleOwner to optionally take a third `state` argument (932bd292)
* new language strings for post-queue page (5d03321e)
* add some new social share buttons (ace171a6)
* docker improvements (#12031) (7f3a9968)
* closes #12158, add sortable rewards (5ea7dec9)
* add copy text (4b2491be)
* closes #12154, add exempt groups (fdff165e)
* update moved keys (119c3362)
* move new user restrrictions (3d505c5c)
* add tracking categories and make watching send notifications (#12147) (84fed97b)
* add new lang string for minutes (d8d26c9f)
* add direct message link (#12138) (4c4f3ac9)
* closes #5584, setup winston to output to file (87a859aa)
* batch.processSortedSet min/max (#12129) (6c7e6144)
##### Bug Fixes
* fix display post history (dc975838)
* update isJSON test in request lib (506d7be5)
* 503 rendering on ajaxify (f7e0fd0b)
* #12227, fix crash in redirect (2dc1def5)
* deprecated emailer hook (565ca3cc)
* extract all pages when stripping metadata (0b3eb6c0)
* incorrect call to load additional group members (78835ebb)
* closes #12185, fix cli user password reset (b9050139)
* don't require login for listing categories (50a90f8e)
* #12183, remove ensureLoggedIn middleware (0a4f3c8a)
* remove unused requires (b5940a5d)
* remove lodash require (f9c471a0)
* #12171, bump harmony (89a1134c)
* update design of post-queue (41bdc9e8)
* update post-queue template for #12171 (63ba4986)
* language key (4c7c46f3)
* another missing state (f4bbc5bd)
* add missing tracking (3b91e8e2)
* bump harmony (a5e3754b)
* #12133 dropdown menus on mobile stay open during ajaxify (4601a6f7)
* update ajaxifyTimer logic to only drop the request if the URL is the same as the one it's already processing (b4297cd8)
* #12141, use apiv3 for category search module (cefd4061)
* made parentCid optional in api.search.categories (581516c8)
* don't count internal links towards link count when restricting new users from posting links (022fa0e7)
* closes #12126, fix language keys (075cd598)
* param (e5a60dc8)
* handle public chat rooms too (6a696c43)
* suppress chat message notifications for users who are known to be in the chat room (uid is present in the corresponding socket.io room) (18c27d1a)
* **deps:**
* update dependency workerpool to v9 (#12234) (2cccbcf6)
* update dependency sharp to v0.33.1 (#12233) (45143000)
* update dependency csrf-sync to v4.0.3 (#12232) (9e2a6f86)
* update dependency ace-builds to v1.32.2 (#12228) (b6ca117a)
* update dependency ace-builds to v1.32.1 (#12226) (6036d144)
* update dependency esbuild to v0.19.9 (#12224) (d96d4d09)
* update dependency @fontsource/inter to v5.0.16 (#12219) (e32eb8b3)
* update dependency chart.js to v4.4.1 (#12217) (b6b569c0)
* update dependency nodebb-theme-persona to v13.2.49 (#12218) (6dab99fd)
* update dependency postcss to v8.4.32 (#12204) (da879704)
* update dependency @fortawesome/fontawesome-free to v6.5.1 (#12198) (b41c7f2a)
* update dependency nodebb-theme-harmony to v1.1.101 (#12199) (72d6a4b1)
* update dependency sortablejs to v1.15.1 (#12200) (cd625705)
* update dependency ace-builds to v1.32.0 (#12197) (75f063ba)
* update dependency @fortawesome/fontawesome-free to v6.5.0 (#12193) (a94f4a48)
* update dependency sharp to v0.33.0 (#12194) (1f287c74)
* update dependency fs-extra to v11.2.0 (#12191) (4eaf2320)
* update dependency passport to v0.7.0 (#12190) (bbf7c5e1)
* update dependency esbuild to v0.19.8 (#12187) (bc59856e)
* update dependency lru-cache to v10.1.0 (#12181) (22932bdb)
* update dependency esbuild to v0.19.7 (#12176) (00cb5839)
* update dependency lru-cache to v10.0.3 (#12175) (c404ef73)
* update dependency ace-builds to v1.31.2 (#12168) (b4a41af9)
* update dependency mongodb to v6.3.0 (#12170) (85936a59)
* update dependency lru-cache to v10.0.2 (#12160) (9d18d3c7)
* update dependency helmet to v7.1.0 (#12155) (50aa1a7c)
* update dependency async to v3.2.5 (#12150) (0e9eafa1)
* update dependency nodebb-theme-persona to v13.2.44 (#12149) (b489af06)
* update dependency nodebb-theme-harmony to v1.1.95 (#12148) (77b0baea)
* update dependency connect-pg-simple to v9.0.1 (#12144) (4e23d0d1)
* update dependency nodebb-theme-persona to v13.2.43 (#12140) (91e45fa2)
* update dependency nodebb-theme-harmony to v1.1.92 (#12131) (a3452c8f)
* update dependency nodebb-theme-peace to v2.1.24 (#12139) (29a59b90)
* update dependency spdx-license-list to v6.8.0 (2337d641)
* update dependency nodebb-plugin-composer-default to v10.2.25 (#12136) (cdb40719)
* update dependency cron to v3.1.6 (#12132) (2fb3af3c)
* update dependency ace-builds to v1.31.1 (#12135) (6b28f1dc)
* update dependency workerpool to v8 (#12121) (9bed7646)
* update dependency sass to v1.69.5 (#12128) (b351c00a)
* **socket.io:** update getPosts controller to return object containing posts instead of straight array (54000aab)
##### Other Changes
* **socket.io:** deprecate socketGroups.getChatGroups in favour of api.admin.listGroups (dc4cc74f)
##### Refactors
* line breaks good (4e560ade)
* replace deprecated call with api call (f91b823e)
* move async call to parallel (dabc282d)
* **socket.io:**
* deprecate SocketModules.chats.typing in favour of api.chats.toggleTyping (c1e6be77)
* deprecate SocketModules.chats.loadPinnedMessages in favour of api.chats.getPinnedMessages" (401e8636)
* deprecate SocketModules.chats.searchMessages in favour of api.search.roomMessages (f9dc3502)
* deprecate SocketModules.chats.setNotificationSetting in favour of api.chats.watch (75c8cda1)
* deprecated SocketModules.chats.toggleOwner in favour of api.chats.toggleOwner (b13c6ee4)
* deprecated SocketModules.chats.searchMembers in favour of api.search.roomUsers (6e952263)
* deprecate SocketModules.sortPublicRooms in favour of api.chats.sortPublicRooms (62b7dfd4)
* deprecate SocketModules.chat.getUnreadCount in favour of api.chats.getUnread (5eaffb42)
* deprecate SocketModules.chats.getIP in favour of api.chats.getIpAddress (214989a8)
* deprecate SocketModules.chats.hasPrivateChat in favour of api.users.getPrivateRoomId (0d3c94e6)
* deprecate SocketModules.chats.canMessage and .markAllRead with no alternative. deprecate .getRecentChats in favour of api.chats.list (a4133500)
* deprecate SocketModules.chats.isDnD in favour of api.users.getStatus (eebea4df)
* deprecate SocketModules.chats.getRaw in favour of api.chats.getRawMessage (c4b4e79b)
* deprecate socketGroups.loadMoreMembers in favour of api.groups.listMembers (807d778c)
* deprecate socketGroups.searchMembers in favour of api.groups.listMembers (d2f3333a)
* deprecate socketGroups.loadMore in favour of api.groups.list (b61e8147)
* deprecate categories.categorySearch in favour of api.search.categories (00de9d5b)
* deprecate categories.loadMore in favour of api.categories.getTopics (1ce4ca54)
* deprecate categories.loadMoreSubCategories in favour of api.categories.getChildren (010727f5)
* deprecate categories.setWatchState in favour of api.categories.setWatchState (d7c6b3d6)
* deprecate categories.getTopicCount in favour of api.categories.getTopicCount (c442b6e6)
* deprecate categories.get in favour of api.categories.list (96046373)
* deprecate categories.getRecentReplies in favour of api.categories.getPosts (52b78e83)
##### Tests
* migrate socket modules tests to v3 api (445b70de)
* migrate socket.io groups tests to use api v3 (2c1c4dfe)
#### v3.5.3 (2023-12-13)
##### Chores

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "3.5.3",
"version": "3.6.0",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -63,7 +63,7 @@
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
"diff": "5.1.0",
"esbuild": "0.19.9",
"esbuild": "0.19.10",
"express": "4.18.2",
"express-session": "1.17.3",
"express-useragent": "1.0.15",
@@ -94,7 +94,7 @@
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.4.0",
"nodebb-plugin-composer-default": "10.2.29",
"nodebb-plugin-composer-default": "10.2.30",
"nodebb-plugin-dbsearch": "6.2.3",
"nodebb-plugin-emoji": "5.1.13",
"nodebb-plugin-emoji-android": "4.0.0",
@@ -103,7 +103,7 @@
"nodebb-plugin-ntfy": "1.7.3",
"nodebb-plugin-spam-be-gone": "2.2.0",
"nodebb-rewards-essentials": "1.0.0",
"nodebb-theme-harmony": "1.1.104",
"nodebb-theme-harmony": "1.1.105",
"nodebb-theme-lavender": "7.1.5",
"nodebb-theme-peace": "2.1.25",
"nodebb-theme-persona": "13.2.49",
@@ -146,7 +146,7 @@
"webpack": "5.89.0",
"webpack-merge": "5.10.0",
"winston": "3.11.0",
"workerpool": "9.0.1",
"workerpool": "9.0.3",
"xml": "1.0.1",
"xregexp": "5.1.1",
"yargs": "17.7.2",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Вече има папка с това име",
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-taken": "Адресът на е-пощата вече е зает.",
"email-nochange": "Въведената е-поща е същата като съществуващата.",
"email-invited": "На тази е-поща вече е била изпратена покана",
"email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Neplatná hodnota stránkování, musí být alespoň %1 a nejvýše %2",
"username-taken": "Uživatelské jméno je již použito",
"email-taken": "Tento e-mail je již použit",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Ugyldig side værdi, skal mindst være %1 og maks. %2",
"username-taken": "Brugernavn optaget",
"email-taken": "Emailadresse allerede i brug",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Ordner existiert",
"invalid-pagination-value": "Ungültige Seitennummerierung, muss mindestens %1 und maximal %2 sein",
"username-taken": "Der Benutzername ist bereits vergeben",
"email-taken": "E-Mail-Adresse vergeben",
"email-taken": "Email address is already taken.",
"email-nochange": "Die eingegebene E-Mail ist die gleiche wie die bereits hinterlegte E-Mail.",
"email-invited": "E-Mail wurde bereits eingeladen",
"email-not-confirmed": "Das Schreiben von Beiträgen in einigen Kategorien oder Themen ist erst möglich, wenn Ihre E-Mail bestätigt wurde. Bitte klicken Sie hier, um eine Bestätigungs-E-Mail zu senden.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Το όνομα χρήστη είναι πιασμένο",
"email-taken": "Το email είναι πιασμένο",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -37,7 +37,7 @@
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Número de página inválido, debe estar entre %1 y %2",
"username-taken": "Nombre de usuario ocupado",
"email-taken": "Correo electrónico ocupado",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Väär lehekülje numeratsioon, peab olema vähemalt %1 ja kõige rohkem %2",
"username-taken": "Kasutajanimi on juba võetud",
"email-taken": "Email on võetud",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "ارزش گذاری صفحه نامعتبر است، کمترین مقدار <strong>%1</strong> و بیشترین مقدار <strong>%2</strong> باید باشد",
"username-taken": "این نام کاربری گرفته شده است.",
"email-taken": "این ایمیل گرفته شده است.",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "ایمیل قبلا دعوت شده‌است",
"email-not-confirmed": "پس از تایید ایمیل شما، ارسال در برخی دسته ها یا موضوعات فعال می شود، لطفاً برای ارسال ایمیل تایید اینجا را کلیک کنید.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Käyttäjänimi varattu",
"email-taken": "Sähköpostiosoite varattu",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Le dossier existe",
"invalid-pagination-value": "Valeur de pagination invalide. Celle-ci doit être comprise entre %1 et %2.",
"username-taken": "Ce nom d'utilisateur est déjà pris",
"email-taken": "E-mail déjà utilisé",
"email-taken": "Email address is already taken.",
"email-nochange": "Le mail saisi est déjà enregistré.",
"email-invited": "Cet utilisateur a déjà été invité.",
"email-not-confirmed": "La publication dans certaines catégories ou sujets sera activée après confirmation de l'e-mail, veuillez cliquer ici pour envoyer un e-mail de confirmation.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Valor de paxinación incorreto, ten que estar entre %1 e %2",
"username-taken": "Nome de usuario en uso",
"email-taken": "Enderezo electrónico en uso",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "התיקיה קיימת",
"invalid-pagination-value": "ערך דף לא חוקי, חייב להיות לפחות %1 ולא מעל %2",
"username-taken": "שם משתמש תפוס",
"email-taken": "כתובת דוא\"ל תפוסה",
"email-taken": "Email address is already taken.",
"email-nochange": "כתובת דוא\"ל שהוזן זהה לדוא\"ל שנמצא כבר",
"email-invited": "נשלחה כבר הזמנה לדוא\"ל זה",
"email-not-confirmed": "פרסום בקטגוריות או בנושאים מסוימים מופעל רק לאחר אישור הדוא\"ל שלכם, אנא לחצו כאן כדי לשלוח אימות לדוא\"ל שלכם.",

View File

@@ -48,7 +48,7 @@
"user-flagged-user-multiple": "<strong>%1</strong>, <strong>%2</strong> ו-%3 אחרים דיווחו על פרופיל משתמש (%4)",
"user-posted-to": "<strong>%1</strong> פרסם תגובה ל: <strong>%2</strong>",
"user-posted-to-dual": "<strong>%1</strong> ו<strong>%2</strong> הגיבו ל: <strong>%3</strong>",
"user-posted-to-triple": "<strong>%1</strong>, <strong>%2</strong> ו<strong>3%</strong> הגיבו ל: <strong>%4</strong>",
"user-posted-to-triple": "<strong>%1</strong>, <strong>%2</strong> ו<strong>%3</strong> הגיבו ל: <strong>%4</strong>",
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> ו-%3 אחרים הגיבו ל: <strong>%4</strong>",
"user-posted-topic": "<strong>%1</strong> העלה נושא חדש: <strong>%2</strong>",
"user-edited-post": "<strong>%1</strong> ערך פוסט ב: <strong>%2</strong>",
@@ -59,7 +59,7 @@
"user-posted-topic-in-category": "<strong>%1</strong> פרסם נושא חדש ב<strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> התחיל לעקוב אחריך.",
"user-started-following-you-dual": "<strong>%1</strong> ו-<strong>%2</strong> התחילו לעקוב אחריך.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> ו<strong>3%</strong> התחילו לעקוב אחריך.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> ו<strong>%3</strong> התחילו לעקוב אחריך.",
"user-started-following-you-multiple": "<strong>%1</strong>, <strong>%2</strong> ו-%3 אחרים התחילו לעקוב אחריך.",
"new-register": "<strong>%1</strong> שלח בקשת הרשמה.",
"new-register-multiple": "ישנן <strong>%1</strong> בקשות הרשמה שמחכות לבדיקה.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Netočno numeriranje stranica, mora biti %1 ili %2",
"username-taken": "Korisničko ime je zauzeto",
"email-taken": "Email je zauzet",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Mappa létezik",
"invalid-pagination-value": "Érvénytelen lapozási érték, legalább %1 kell lennie és legfeljebb %2 -nak/nek",
"username-taken": "Foglalt felhasználónév",
"email-taken": "Foglalt e-mail",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Ez az email cím már meg lett hívva",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -8,7 +8,7 @@
"edit-privileges": "Խմբագրել արտոնությունները",
"select-clear-all": "Ընտրել/Մաքրել բոլորը",
"chat": "Զրույց",
"chat-with-privileged": "Chat with Privileged",
"chat-with-privileged": "Խոսել առավելություն ունեցողի հետ",
"upload-images": "Վերբեռնեք պատկերներ",
"upload-files": "Վերբեռնել Ֆայլեր",
"signature": "Ստորագրություն",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Թղթապանակ գոյություն ունի",
"invalid-pagination-value": "Էջավորման անվավեր արժեքը, պետք է լինի առնվազն %1 և առավելագույնը %2",
"username-taken": "Օգտագործողի անունը վերցված է",
"email-taken": "Էլփոստը վերցված է",
"email-taken": "Email address is already taken.",
"email-nochange": "Մուտքագրված էլփոստը նույնն է, ինչ ֆայլում արդեն առկա էլ.",
"email-invited": "Էլփոստն արդեն հրավիրված էր",
"email-not-confirmed": "Որոշ կատեգորիաներում կամ թեմաներում հրապարակելը միացված կլինի, երբ ձեր էլփոստը հաստատվի, խնդրում ենք սեղմել այստեղ՝ հաստատող էլփոստը ուղարկելու համար:",

View File

@@ -178,7 +178,7 @@
"sessions.description": "Այս էջը թույլ է տալիս դիտել ցանկացած ակտիվ սեանս այս ֆորումում և անհրաժեշտության դեպքում չեղարկել դրանք: Դուք կարող եք չեղարկել ձեր սեփական սեանսը՝ դուրս գալով ձեր հաշվից:",
"revoke-session": "Չեղյալ համարել նիստը",
"browser-version-on-platform": "%1 %2 %3-ում",
"consent.title": "Your Rights &amp; Consent",
"consent.title": "Ձեր Իրավունքները և Համաձայնությունը",
"consent.lead": "Այս համայնքի ֆորումը հավաքում և մշակում է ձեր անձնական տվյալները:",
"consent.intro": "Մենք օգտագործում ենք այս տեղեկատվությունը խստորեն այս համայնքում ձեր փորձառությունն անհատականացնելու, ինչպես նաև ձեր կատարած գրառումները ձեր օգտատիրոջ հաշվին կապելու համար: Գրանցման քայլի ընթացքում ձեզանից պահանջվել է տրամադրել օգտատիրոջ անուն և էլ.փոստի հասցե, դուք կարող եք նաև լրացուցիչ տեղեկություններ տրամադրել այս կայքում ձեր օգտատիրոջ պրոֆիլը լրացնելու համար: Մենք պահպանում ենք այս տեղեկատվությունը ձեր օգտատիրոջ հաշվի ողջ կյանքի ընթացքում, և դուք կարող եք հետ վերցնել համաձայնությունը: ցանկացած պահի ջնջելով ձեր հաշիվը: Ցանկացած ժամանակ դուք կարող եք պահանջել ձեր ներդրման պատճենը այս կայքում՝ ձեր իրավունքների և amp; Համաձայնության էջ: Եթե ունեք հարցեր կամ մտահոգություններ, խորհուրդ ենք տալիս դիմել այս ֆորումի ադմինիստրատիվ թիմին:",
"consent.email-intro": "Երբեմն, մենք կարող ենք նամակներ ուղարկել ձեր գրանցված էլ․ հասցեին՝ թարմացումներ տրամադրելու և/կամ ձեզ ծանուցելու նոր գործունեության մասին, որը վերաբերում է ձեզ: Դուք կարող եք հարմարեցնել համայնքի ամփոփման հաճախականությունը (ներառյալ այն ուղղակիորեն անջատելը), ինչպես նաև ընտրել, թե ինչ տեսակի ծանուցումներ պետք է ստանալ էլփոստի միջոցով՝ ձեր օգտվողի կարգավորումների էջի միջոցով:",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Nomor pagination tidak valid, minimal %1 dan maksimal %2",
"username-taken": "Username sudah terdaftar",
"email-taken": "Email sudah terdaftar",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "La cartella esiste",
"invalid-pagination-value": "Valore di impaginazione non valido, deve essere almeno %1 ed al massimo %2",
"username-taken": "Nome utente già esistente",
"email-taken": "Email già esistente",
"email-taken": "L'indirizzo email è già stato utilizzato.",
"email-nochange": "L'email inserita è la stessa dell'email già presente in archivio.",
"email-invited": "L'email è già stata invitata",
"email-not-confirmed": "Sarai abilitato a postare in alcune categorie o discussioni una volta che la tua email sarà confermata, per favore clicca qui per inviare una email di conferma.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "無効なページネーション値です。%1 から%2の値でなければありません。",
"username-taken": "ユーザー名は既に使われています",
"email-taken": "メールアドレスは既に使われています",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "폴더가 이미 존재합니다.",
"invalid-pagination-value": "올바르지 않은 페이지 값입니다. 최소 %1에서 최대 2% 사이로 설정해야 합니다.",
"username-taken": "이미 사용 중인 사용자명입니다.",
"email-taken": "이미 사용 중인 이메일입니다.",
"email-taken": "Email address is already taken.",
"email-nochange": "입력한 전자 메일이 이미 등록되어 있는 전자 메일과 동일합니다.",
"email-invited": "해당 이메일의 사용자는 이미 초대되었습니다.",
"email-not-confirmed": "이메일 인증이 완료된 후 카테고리나 화제에 새로운 포스트를 작성할 수 있습니다. 여기를 눌러 인증 메일을 다시 발송할 수 있습니다.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Bloga puslapių išdėstymo reikšmė. Ji turėtų būti ne mažesnė nei %1 ir ne didesnė nei %2",
"username-taken": "Vartotojo vardas jau užimtas",
"email-taken": "El. pašto adresas jau užimtas",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Nederīgs vienību skaits, ir jābūt vismaz %1 un ne vairāk kā %2",
"username-taken": "Lietotājvārds jau izmantots",
"email-taken": "E-pasta adrese jau izmantota",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Nombor halaman tidak sah, mesti tidak kurang dari %1 dan tidak lebih dari %2",
"username-taken": "Nama pengguna telah digunakan",
"email-taken": "Emel telah digunakan",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Mappen eksisterer",
"invalid-pagination-value": "Ugyldig sidetall, må være minst %1 og maks %2",
"username-taken": "Brukernavn opptatt",
"email-taken": "E-post opptatt",
"email-taken": "Email address is already taken.",
"email-nochange": "E-posten som er angitt er den samme e-posten som allerede er lagret.",
"email-invited": "E-post har allerede fått invitasjon",
"email-not-confirmed": "Posting i enkelte kategorier eller emner blir aktivert når e-posten din er bekreftet. Klikk her for å sende en bekreftelses-e-post.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Ongeldig paginering waarde. De waarde moet op z'n minst %1 zijn en niet hoger dan %2 zijn.",
"username-taken": "Gebruikersnaam is al in gebruik",
"email-taken": "E-mailadres is al in gebruik",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "E-mail was reeds uitgenodigd",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder istnieje",
"invalid-pagination-value": "Błędna wartość paginacji, zakres od %1 do %2",
"username-taken": "Login zajęty",
"email-taken": "Email zajęty",
"email-taken": "Email address is already taken.",
"email-nochange": "Podany email jest taki sam jak ten już zapisany.",
"email-invited": "Ten adres email otrzymał już zaproszenie",
"email-not-confirmed": "Pisanie w niektórych kategoriach albo tematach jest dozwolone wtedy gdy Twój adres email został zweryfikowany, proszę kliknij tutaj aby wysłać potwierdzający email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Valor de paginação inválido, precisa ser no mínimo %1 e no máximo %2",
"username-taken": "Nome de usuário já existe",
"email-taken": "Email já cadastrado",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "O email já foi convidado",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Valor de paginação errado, deve ser no mínimo %1 e no máximo %2",
"username-taken": "Nome de utilizar já utilizado",
"email-taken": "E-mail já utilizado",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Numele de utilizator este deja folosit",
"email-taken": "Adresa de email este deja folostă",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Папка существует",
"invalid-pagination-value": "Неправильно указан номер страницы. Значение должно быть в диапазоне от %1 до %2",
"username-taken": "Это имя пользователя уже занято",
"email-taken": "Пользователь с таким адресом электронной почты уже зарегистрирован",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Электронная почта уже была приглашена",
"email-not-confirmed": "Вы не сможете отправлять сообщения, пока ваш адрес электронной почты не подтверждён. Пожалуйста, нажмите здесь, чтобы подтвердить его.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Izina ryarafashwe mbere",
"email-taken": "Email yarafashwe mbere",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Neplatná stránkovania hodnota, musí byť najmenej %1 a najviac %2",
"username-taken": "Užívateľské meno je už obsadené",
"email-taken": "Tento e-mail je už obsadený",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Napačna vrednost za številčenje strani. Vrednost mora biti najmanj %1 in največ %2.",
"username-taken": "Uporabniško ime je že zasedeno.",
"email-taken": "E-poštni naslov je že zaseden.",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Ky dokument ekziston",
"invalid-pagination-value": "Vlera e pasaktë e faqes, duhet të jetë së paku %1 dhe maksimumi %2",
"username-taken": "Username është i zënë",
"email-taken": "Email-i është i zënë",
"email-taken": "Email address is already taken.",
"email-nochange": "Email-i i futur është i njëjtë me emailin ekzistues në sistem.",
"email-invited": "Email-i është ftuar më herët",
"email-not-confirmed": "Postimi në disa kategori ose tema aktivizohet pasi emaili juaj të konfirmohet, ju lutemi klikoni këtu për të dërguar një email konfirmimi.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Фасцикла постоји",
"invalid-pagination-value": "Неважећа вредност приликом нумерисања страница, мора бити најмање %1 а највише %2",
"username-taken": "Корисничко име је заузето",
"email-taken": "Адреса е-поште је заузета",
"email-taken": "Email address is already taken.",
"email-nochange": "Унета е-пошта је иста као е-пошта која је већ у евиденцији.",
"email-invited": "Е-пошта је већ позвана",
"email-not-confirmed": "Објављивање у неким категоријама или темама је омогућено када потврдите вашу е-пошту, кликните овде да бисте послали е-поруку за потврду.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Ogiltigt värde för siduppdelning. Värdet måste vara mellan %1 och %2",
"username-taken": "Användarnamn upptaget",
"email-taken": "Epostadress upptagen",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "หมายเลขหน้าไม่ถูกต้อง จำเป็นต้องเป็นตัวเลขอย่างน้อย %1 และอย่างมาก %2",
"username-taken": "ชื่อผู้ใช้นี้มีการใช้แล้ว",
"email-taken": "อีเมลนี้มีการใช้แล้ว",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Dosya mevcut",
"invalid-pagination-value": "Geçersiz sayfa numarası girdiniz, en az %1 ve en fazla %2 olabilir",
"username-taken": "Kullanıcı İsmi Alınmış",
"email-taken": "E-posta Alınmış",
"email-taken": "Email address is already taken.",
"email-nochange": "Girdiğiniz e-posta var olan e-posta ile aynı",
"email-invited": "E-posta halihazırda davet edilmiş",
"email-not-confirmed": "Ancak e-postanız onaylandıktan sonra bazı kategorilere veya konulara ileti gönderebilirsiniz; lütfen bir onay e-postası almak için buraya tıklayın.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Невірне значення сторінки, має бути щонайменше %1 та щонайбільше %2",
"username-taken": "Це ім'я зайняте",
"email-taken": "Ця електронна пошта зайнята",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Thư mục tồn tại",
"invalid-pagination-value": "Giá trị phân trang không hợp lệ, tối thiểu phải là %1 và tối đa là %2",
"username-taken": "Tên đăng nhập đã tồn tại",
"email-taken": "Email đã được đăng kí",
"email-taken": "Email address is already taken.",
"email-nochange": "Email đã nhập giống với email đã có trong tệp.",
"email-invited": "Email đã được mời",
"email-not-confirmed": "Đăng trong một số danh mục hoặc chủ đề được bật sau khi email của bạn được xác nhận, vui lòng nhấp vào đây để gửi email xác nhận.",

View File

@@ -32,7 +32,7 @@
"folder-exists": "文件夹已存在",
"invalid-pagination-value": "无效的分页数值,必须介于 %1 和 %2 之间",
"username-taken": "此用户名已被占用",
"email-taken": "此电子邮箱已被占用",
"email-taken": "Email address is already taken.",
"email-nochange": "输入的邮件地址和已存档的邮件地址相同。",
"email-invited": "已通过电子邮件进行邀请",
"email-not-confirmed": "您需要验证您的邮箱后才能在版块或主题中发布帖子,请点击此处以发送验证邮件。",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "無效的分頁數,必須介於 %1 和 %2 之間",
"username-taken": "此使用者名已被使用",
"email-taken": "此電子信箱已被使用",
"email-taken": "Email address is already taken.",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",

View File

@@ -149,7 +149,7 @@ define('forum/topic/move-post', [
$(this).remove();
});
});
if (data.pids.length === 1 && ajaxify.data.template.topic &&
if (data.pids.length && ajaxify.data.template.topic &&
parseInt(data.tid, 10) === parseInt(ajaxify.data.tid, 10)) {
ajaxify.go(`/post/${data.pids[0]}`);
}

View File

@@ -290,7 +290,7 @@ postsAPI.move = async function (caller, data) {
]);
if (!postDeleted && !topicDeleted) {
socketHelpers.sendNotificationToPostOwner(data.pid, caller.uid, 'move', 'notifications:moved_your_post');
socketHelpers.sendNotificationToPostOwner(data.pid, caller.uid, 'move', 'notifications:moved-your-post');
}
};

View File

@@ -219,7 +219,10 @@ module.exports = function (Categories) {
min: Categories.watchStates.watching,
max: Categories.watchStates.watching,
});
const index = followers.indexOf(String(exceptUid));
if (index !== -1) {
followers.splice(index, 1);
}
if (!followers.length) {
return;
}

View File

@@ -27,6 +27,7 @@ module.exports = function (SocketPosts) {
canDelete: privileges.posts.canDelete(data.pid, socket.uid),
canPurge: privileges.posts.canPurge(data.pid, socket.uid),
canFlag: privileges.posts.canFlag(data.pid, socket.uid),
canViewHistory: privileges.posts.can('posts:history', data.pid, socket.uid),
flagged: flags.exists('post', data.pid, socket.uid), // specifically, whether THIS calling user flagged
bookmarked: posts.hasBookmarked(data.pid, socket.uid),
postSharing: social.getActivePostSharing(),
@@ -46,7 +47,7 @@ module.exports = function (SocketPosts) {
postData.display_move_tools = results.isAdmin || results.isModerator;
postData.display_change_owner_tools = results.isAdmin || results.isModerator;
postData.display_ip_ban = (results.isAdmin || results.isGlobalMod) && !postData.selfPost;
postData.display_history = results.history;
postData.display_history = results.history && results.canViewHistory;
postData.flags = {
flagId: parseInt(results.posts.flagId, 10) || null,
can: results.canFlag.flag,

View File

@@ -36,7 +36,7 @@ module.exports = function (SocketTopics) {
const notifyUids = await privileges.categories.filterUids('topics:read', topicData.cid, uids);
socketHelpers.emitToUids('event:topic_moved', topicData, notifyUids);
if (!topicData.deleted) {
socketHelpers.sendNotificationToTopicOwner(tid, socket.uid, 'move', 'notifications:moved_your_topic');
socketHelpers.sendNotificationToTopicOwner(tid, socket.uid, 'move', 'notifications:moved-your-topic');
}
await events.log({