* test: add failing test for if package.json is non-existant, fix tests' beforeEach method
* Revert "fix: #10289, remove lodash dependency in src/cli/package-install.js"
This reverts commit 81fa2e22bc.
* fix: regression caused by 94b79ce402
`./nodebb setup` was no longer able to be called without arguments or env vars
* fix: .updatePackageFile() throwing if no package.json
* fix: removing unneeded code in src/cli/index.js that seemed to be used to handle cases where package.json was missing (initial install)
... However, as .updatePackageFile() now handled cases where there is no package.json, it should be ok to remove this code
* fix: handle missing package.json or node_modules/
* test: add test to verify that a sorted set is automatically deleted if its last element is removed
* fix: remote empty zsets when all elements have been removed #yolo
* Revert "fix: remote empty zsets when all elements have been removed #yolo"
This reverts commit 0ac73244bb.
* fix: altered behaviour in module.exists instead of zrem
fix upgrade script so posts with negative votes are stored, a post can have 10 upvotes and 2 downvotes
fix missing negative votes checks
remove unnecessary pids flters since the cids are only already filtered by topics:read
If a package manager is not explicitly set in config.json or passed-in via argv/env, NodeBB will now check for the presence of alternative package managers' lockfiles and adjust the package manager to-be-used accordingly. If the standard npm lockfile exists, npm will always be used.
* feat: remove colors in favour of chalk
* fix: bad conversion from colors to chalk in src/cli/index.js
* fix: padWidth calculation to account for control characters
* fix: termWidth calculation, but swapped one problem for another
* fix: formatItem, implement my own padRight to take control characters into account
* feat: wip user emails api
* fix: allow admins with manage-users access to email confirmation api as well
* fix: wrong route path
* docs: openapi spec
if recent is used as the homepage then changing the selected category or filters was redirecting the user to forum.com/recent?cid=1 instead of staying at forum.com/?cid=1
also fix unread page mark read button showing the selected category
* init - fullname notifications setting
* fullname in topic reply
* fullname for group-request-membership
* fullname for group-leave notification
* fullname for new-post-flag & new-user-flag
* removed log
* fullname for user follow
* fullname in message notification
* fullname in follow
* fullname for sendNotificationToPostOwner
* fullname in sendNotificationToTopicOwner
* fullname in doExport
* shorthand name set
* shorter name set
* fullname in notifications
* displayname for notifications
* removed unused require
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
socket.emit('topics.delete') removed use `DELETE /api/v3/topics/state`
socket.emit('topics.restore') removed use `PUT /api/v3/topics/state`
socket.emit('topics.purge') removed use `DELETE /api/v3/topics`
socket.emit('topics.lock') removed use `PUT /api/v3/topics/lock`
socket.emit('topics.unlock') removed use `DELETE /api/v3/topics/lock`
socket.emit('topics.pin') removed use `PUT /api/v3/topics/pin`
socket.emit('topics.unpin') removed use `DELETE /api/v3/topics/pin`
Also updated the plugin hook call to `static:sockets.validateSession` to not return a result, because in static calls that result is always null anyway
* refactor: use routePrefixMap instead of routeRegexpMap, +tests
Currently tests fail because privilege pages resolve if passed garbage... hmm
* fix: priv check paths
remove /v3 from path as well
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
deprecate:
app.handleSearch, use search.init(options) instead
app.enableTopicSearch, use search.enableQuickSearch(options) instead
app.prepareSearch, use search.showAndFocusInput() instead
NodeBB's security policy is based around a private bug bounty program. Users are invited to explore NodeBB for vulnerabilities, and report them to the NodeBB team so that they can be patched.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead, even if you are not sure whether something qualifies.
# Bug Bounty Program
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the following page: https://blog.nodebb.org/bounty
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the [dedicated page for our Bug Bounty Program](https://nodebb.org/bounty).
*#10197, fix relative path urls for dashboard pages (92a249c9)
* actually, CORP is ok (df8c8ad8)
* update defaults for corp and coep to be more permissive, for now, to be reverted for v1.20.0 (4467299e)
* if no group label is selected, select no group title option (94da5026)
##### Other Changes
* remove unused require (6be330f2)
##### Performance Improvements
* increase batch size (b548083b)
##### Refactors
* update chat plcaeholder message (fbd9ba79)
* updated package-install.js exports style, new exported method 'getPackageManager' for use in cases where nconf is unreliable, fix bug where nconf was not correctly set up in cli tools, proper installation of dev dependencies based on global env value (9a169085)
* emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent (f0e32ff1)
* sorted-list .get() to be async fn (89b559a2)
##### Tests
* fix occasional test failure (2dbdd181)
* add test to verify that a sorted set is automatically deleted if its last element is removed (#10261) (60680876)
* stricter isValidationPending check (d1b1f50b)
* fix derp (680e36da)
* up acp plugin page timeout (a214f9a6)
#### v1.19.1 (2022-01-21)
##### Chores
* **deps:**
* bump compare-versions from 4.1.2 to 4.1.3 in /install (#10154) (4a5182e4)
* update dependency lint-staged to v12.2.2 (f090de36)
* update dependency @commitlint/cli to v16.1.0 (44d81a95)
* update dependency lint-staged to v12.2.1 (857ac480)
* update dependency @commitlint/cli to v16.0.3 (9c63d076)
* update dependency lint-staged to v12.2.0 (1a0c117d)
* update dependency eslint to v8.7.0 (8abaf3f6)
* update dependency mocha to v9.1.4 (f5ad173b)
* up persona (89871d71)
* add test.sh to gitignore (d7796f0b)
* delete test script (250274c7)
* remove unused lang key #10180 (2fe91e36)
* incrementing version number - v1.19.0 (18b0a29f)
* update changelog for v1.19.0 (c8f1bc53)
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-user (78cd6de7)
* fallback strings for new resources: nodebb.user (3ec9197c)
* fallback strings for new resources: nodebb.email (354aa1a5)
##### New Features
* revert label js change (1c80adf1)
* hide all categories link on flags filters (e9d0db28)
* nicer error handling for bad jwt in unsubscribe template (31ea2266)
##### Bug Fixes
* **deps:**
* update dependency jquery-ui to v1.13.1 (#10186) (55b3a355)
* update dependency multiparty to v4.2.3 (#10188) (7fa2ba70)
* update dependency nodebb-theme-persona to v11.3.15 (#10155) (e03d4747)
* update dependency mongodb to v4.3.1 (#10178) (693ca1f1)
* update dependency nodebb-plugin-composer-default to v7.0.18 (#10164) (2c75cce6)
* urls used when recent/unread/popular/top is used as the homepage (28359665)
* mark unread button showing the selected category (fdfafb44)
* catch exceptions from sendNotifications (c1ec2047)
* multiple cid filter on flags page (3e8cb732)
* post indices if there is a blocked user in topic (f9279b63)
* dont add duplicate link backs (3b72ff87)
*#10175, fix topic linkbacks duplicating on post edit (b06c6329)
*#10173, don't show optional message if email is required (d1eb21c5)
*#10172, fix postqueue accept/reject notification text (6a75ed50)
*#10167, fix regression prevent guest post (4799efc7)
* CSRF handler to go back to saving in session (#10159) (e9ee843b)
* remove deprecated post diff socket calls (8117b7f2)
* remove deprecated user middlewares (1a7fffc7)
* remove action:category.loaded, use action:topics.loading (36aa6034)
* remove setTopicSort/setCategorySort (6dcdf1d3)
* remove deprecated socket user create/delete functions (a7d1dfb6)
* remove deprecated uploads.delete (c93d7fdb)
* remove deprecated methods (79de48c5)
* remove socket.io/flags.js (c5f08fdc)
##### Chores
* org; merge consecutive await calls into one Promise.all (be4dbe34)
* fix #9213 (0a5420ed)
* revert engines change in install/package.json (487f25ba)
* update renovate config (f95acce3)
* update renovate range strategy... (bc0f33df)
* remove debug logs in test/api.js (82768fcf)
* use apiv3 for room rename tests (e745e212)
* trigger lang (540eeae9)
* up themes (71fa8175)
* right dropdown (7aa85882)
* right dropdown (a998cc1c)
* update readme mongodb version (af5393ec)
* incrementing version number - v1.18.6 (3a78a151)
* update changelog for v1.18.6 (3c8109e2)
* **deps:**
* update commitlint monorepo (56d134c3)
* update dependency lint-staged to v12.1.7 (40e7007f)
* update dependency lint-staged to v12.1.6 (f78108ac)
* update dependency eslint-plugin-import to v2.25.4 (a69afdb6)
* update dependency lint-staged to v12.1.5 (12038039)
* update dependency eslint to v8.6.0 (b546ff4e)
* update dependency lint-staged to v12.1.4 (87779fc8)
* update dependency jsdom to v19 (#10053) (ee05b762)
* update dependency lint-staged to v12.1.3 (c0dd8dcb)
* update dependency eslint to v8.5.0 (55b9fab1)
* update dependency eslint to v8.4.1 (ba02f015)
* update dependency eslint to v8.4.0 (4b113715)
* update dependency lint-staged to v12 (b3423389)
* update dependency eslint to v8 (e9aadde1)
* update commitlint monorepo to v15 (f6c6425d)
* update dependency jsdom to v18.1.1 (87433b79)
* bump compare-versions from 3.6.0 to 4.1.1 in /install (ea9f2c73)
* update dependency jsdom to v18.1.0 (d7c2a311)
* **i18n:**
* fallback strings for new resources: nodebb.user (d79d7e80)
* fallback strings for new resources: nodebb.admin-settings-uploads (e6a46ef6)
* fallback strings for new resources: nodebb.error (207ae8cd)
* fallback strings for new resources: nodebb.post-queue (edba10e2)
* fallback strings for new resources: nodebb.modules, nodebb.notifications (fd939f8b)
* fallback strings for new resources: nodebb.admin-admin (4a53adf6)
* fallback strings for new resources: nodebb.admin-admin (b052a8e7)
* fallback strings for new resources: nodebb.topic (23c915ba)
* fallback strings for new resources: nodebb.admin-settings-user, nodebb.login (eecd02fb)
* fallback strings for new resources: nodebb.admin-settings-email (72e1c281)
##### Documentation Changes
* comment hint :shipit: (ffdf26af)
* fix description for route (47ab9526)
* roomId is number (0aa25f20)
* openAPI documentation for routes (55e68e2f)
* use social media card in readme header (33c8b197)
* add social media card (f7b3f69f)
* add docs link higher up (1a85aaad)
* update readme blurb (e325aa93)
##### New Features
* bundling nodebb-plugin-2factor with all NodeBB installations, v1.19.0 onwards :tada: (31b4b8fd)
* revoke user sessions on successful password reset (6ca216ab)
* allow % in tags, #10135 (a75a043b)
* allow isCluster, isPrimary, and jobsDisabled to be passed in as numbers in addition to string/bool (b5b188fd)
*`GET /api/v3/chats/:roomId/messages` (2fe53cf8)
*`DELETE /api/v3/chats/:roomId/users` and `DELETE /api/v3/chats/:roomId/users/:uid` (fe17c94c)
*`POST /chats/:roomId/users` (d62ee846)
*`POST /chats/:roomId/:mid` and `DELETE /chats/:roomId/:mid` (d5fd098e)
* middleware.assert.message (90fcbe44)
*`GET /chats/:roomId/:mid` (b2929605)
*`PUT /chats/:roomId/:mid` (f48ed365)
* allow API checkRequired middleware error to be internationalized (74f1905e)
*`PUT /api/v3/chats/:roomId` (9a4fd5dc)
*`POST /api/v3/chats/:roomId` (eeffb9d9)
*`GET /api/v3/chats/:roomId` (09cf9c77)
*`POST /api/v3/chats`, chat room creation, plus openAPI docs update (40b4544e)
*`GET /api/v3/chats` (94bead71)
* stub code for v3 chats api (02e878be)
*#9506, allow seeing and editing your queued posts (c4042c70)
* pass in all query params to category search filter (599bffd8)
* add data param to filter:categories.search (c4156bdd)
* ensure that all requests handled by NodeBB fall under the relative_path as configured (a3bdb706)
* show 10 members (d9c42c00)
* closes #10018 (1e535528)
*#10018 add href (06bfec88)
*#10018 , wip (0f14f23b)
* autocomplete for activate/reset (f0d192fb)
*#10008, add history entry for note deletion (c26870d2)
*#9957, don't remove existing fields form config.json (0532c1b2)
* add feature flag to disable verification emails, closes #9996 (09e0c6d5)
##### Bug Fixes
* **deps:**
* update dependency nodebb-plugin-markdown to v8.14.6 (ad6f6051)
* update dependency winston to v3.4.0 (#10150) (2fee1d07)
* update dependency ioredis to v4.28.3 (#10151) (bfad04ab)
* pin dependencies (da2bb340)
* pin dependency socket.io-adapter-cluster to 1.0.1 (#10146) (15bf3db2)
* update dependency nodebb-theme-vanilla to v12.1.15 (#10149) (2fa3cd0d)
* update dependency nodebb-theme-slick to v1.4.23 (#10148) (762de2d8)
* update dependency nodebb-theme-persona to v11.3.13 (#10147) (385d4c71)
* update dependency winston to v3.3.4 (4bada01b)
* update dependency autoprefixer to v10.4.2 (a47883e8)
* update dependency mongodb to v4.3.0 (50eb4556)
* update socket.io packages to v4.4.1 (9eb00cb2)
* update dependency nodebb-rewards-essentials to v0.2.1 (0a15c99e)
* update dependency autoprefixer to v10.4.1 (f1aa5f7d)
* update dependency yargs to v17.3.1 (5c3335b7)
* update dependency nodebb-theme-vanilla to v12.1.14 (#10102) (dd8b1f75)
* update dependency nodebb-theme-slick to v1.4.22 (#10101) (dd1633ff)
* update dependency nodebb-theme-lavender to v5.3.2 (#10099) (eccdfc9d)
* update dependency nodebb-theme-persona to v11.3.12 (#10100) (4f6fc10b)
* update dependency nodebb-theme-persona to v11.3.11 (32cbf760)
* update dependency nodebb-theme-slick to v1.4.21 (9253519c)
* update dependency nodebb-theme-slick to v1.4.20 (#10084) (019804e1)
* update dependency nodebb-theme-vanilla to v12.1.13 (#10085) (66c759ed)
* update dependency nodebb-theme-persona to v11.3.10 (#10083) (d276c9cd)
* update dependency nodebb-plugin-composer-default to v7.0.17 (#10082) (0ef9c7ab)
* update dependency nodebb-theme-vanilla to v12.1.12 (dda7c075)
* update dependency nodebb-theme-slick to v1.4.19 (4577600e)
* update dependency nodebb-theme-persona to v11.3.8 (5e2281c3)
* update dependency mongodb to v4.2.2 (0551a19e)
* update dependency postcss to v8.4.5 (16398dd9)
* update dependency compare-versions to v4.1.2 (de1ed01d)
* bump persona (16c88a97)
* bump persona (c90a8926)
* update dependency nodebb-plugin-mentions to v3.0.4 (#10063) (07217762)
* update dependency nodebb-plugin-spam-be-gone to v0.7.12 (#10064) (a5840c5a)
* update dependency nodebb-theme-slick to v1.4.18 (#10065) (5477cf32)
* update dependency nodebb-plugin-markdown to v8.14.5 (#10062) (60d778f0)
* update dependency nodebb-theme-persona to v11.3.5 (#10059) (8695d370)
* update dependency nodebb-plugin-dbsearch to v5.1.1 (70068d6c)
* update dependency nodebb-plugin-composer-default to v7.0.15 (84b03a34)
* update dependency nodebb-theme-persona to v11.3.3 (8cbe0df2)
* bump emoji plugin (14e35247)
* update dependency ioredis to v4.28.2 (597d826b)
* update dependency yargs to v17.3.0 (115de4e5)
* update dependency mime to v3 (#9963) (49813cce)
* update dependency mongodb to v4.2.1 (f72af319)
* update dependency @socket.io/redis-adapter to v7.1.0 (ed4b0cf7)
* update dependency postcss to v8.4.4 (b34b8aa9)
* update dependency postcss to v8.4.3 (2dadf786)
* update dependency postcss to v8.4.1 (6a273798)
* update dependency postcss to v8.4.0 (29345275)
* update dependency ioredis to v4.28.1 (9966a00f)
* update dependency nodebb-theme-persona to v11.3.1 (fdae6991)
* update socket.io packages to v4.4.0 (f05d308a)
* update dependency nodebb-theme-vanilla to v12.1.10 (68dddbd9)
* update dependency nodebb-theme-persona to v11.2.22 (3eb91a20)
* update dependency nodebb-plugin-mentions to v3.0.3 (5ec32c31)
* update dependency mongodb to v4.2.0 (#10011) (2378fc84)
* update dependency @socket.io/redis-adapter to v7.0.1 (aae7be02)
* update dependency sharp to v0.29.3 (46162537)
* lint (c9592e17)
* icon alignment issue that was also bugging me :shipit: (37a71291)
*#10143, add back ace editor searchbox (42caef7f)
*#10095, add login info to email interstitial (5eb02f59)
*#10121, fix error messages in user creation (8ad64ec0)
*#10115, fix chat autocomplete hook (69a7634a)
* notice links in subfolder installs (cc27a324)
* move authenticateRequest before interstitial and maintenance mode middlewares, allowed plugins to disable authentication on certain routes (d89fc44c)
* retry incrObjtFieldBy (07232a8c)
* use component instead of class name (b179f0fc)
* assertion check to ensure messages are in the room when editing/deleting, etc (d95b4ee2)
* rename language key for incorrect parameter type error (aeb43b9b)
* deprecate chats.leave (16ba16cd)
* re-allow kicking of the other party in a 1-to-1 chat (6294beea)
* isFinite check for room assertion, more test migrating (140f9d24)
*#10096, don't display preview for links if hostname doesnt match (a115b771)
* only render preview on topic page (a9f81215)
* don't crash server if analytics fails to save (8fb89d76)
* upgrade script to handle strings as well (e332acf3)
*#10090, remove left over necro posts messages (fdaf8274)
*#10086, if pidfile is empty delete (59214ca2)
* utils method (91e21ecc)
* prevent crash if groups is not valid json (cc0a087a)
* upgrade script (968d4616)
* delete left over nav items after removal of some (737e1c19)
* targetBlank/dropdown not getting cleared (10e890e4)
* prettier bulk method usage (3b0c42a5)
* bug where groupChat property was not set for chat rooms (42959df0)
*#9484 show user history only to admins and gmods (bc7707aa)
* no need to pass 'img' to teaser tags stripping as images are already converted to alt text (45c9dde3)
*#10069, don't modify fields array (a8afdc60)
*#10068, update data-index values after sort (236d4e80)
*#10068, baseIndex should be read before sort update fix off by one error (9af23351)
* tests (45d8157f)
*#10067, count posts instead of incr/decr (830166d1)
* handle start=0 stop=0 for topics.getTopicPosts (906dc567)
* wrong usage of is ACP (4f423610)
* don't throw on invalid session, just return early so socket is not opened. (fa01801f)
*#10052, dont use spaces in tag class name (a2953583)
* don't crash if tid is falsy (1cdb0b1e)
* regression from https://github.com/NodeBB/NodeBB/commit/27c05448e1532ce466658513af0e2ff65576b410 (50063fe2)
* keep query params on /me redirects (941ecaf8)
* 403/400/500 page not generating csrf_token (65c55041)
* error pages dont have config.csrf_token (3dd681eb)
* quote button staying on screen on slow computers (d378bf4c)
* removed unused var (e0caa5e0)
*#10027, properly auto confirm first user (2473d5d8)
*#10010, handle reverse sorting for topic events (d5bfd512)
*#10006, dont allow new rooms or adding to a room if target is blocked (047f031d)
##### Other Changes
* remove unused (afc75ba4)
* fix (682f6089)
* missing ; (20e76699)
* remove unused (cbf198fe)
* remove unused (a20abdce)
* fix (0a6eeb93)
* remove unused utils (82b72f7e)
* fix (fa1ac04d)
##### Performance Improvements
* only add middleware if relativePath is set (41db9436)
* don't load all set members to get count (0414356c)
* create user tooltips on demand (23147235)
* closes #9994, bulk methods for settings (d412ba44)
* remove createUserTooltips (facc10e4)
##### Refactors
* remove unused language key (5278b11a)
* put message api calls behind `/messages` prefix, #10097 (aaa6f752)
* rewrite messaging tests to use API v3 calls when available, rewrote a bunch of tests to async..await (c990211c)
* only write analytics data on nbb that has runJobs=true (35fea58a)
* remove knonwOwner param (42781467)
* remove console.log (a7644466)
* remove unused validator (4e1d4217)
* only pass qs (b8896d13)
* change error message (1e60ae87)
* use hasOwnProperty (9f1b8a3b)
* remove object.create (dbba0c39)
* remove unused args (3d3ae82f)
* remove comment (633061f4)
* use .map to return promises (d4f3ee67)
* async (cfd47448)
* async (f0394c49)
* use async (8491f67d)
* remove unused (e3c0f0be)
* always returns array (9627fa90)
* use async/await (f4aa249d)
* change var name (36eb47d9)
* alerts (621c142f)
* use alerts.error/success (cba78aee)
* use lang keys, fix typo (dd02c49f)
* use alerts module (1980feed)
* dont need local function (2bb0828a)
* DRY (324262cb)
* use routePrefixMap instead of routeRegexpMap, +tests (#10035) (6c07433d)
* use hasOwnProprety (daf385cd)
* tab rules (fb363957)
* change category feed so it is not updated on every reply (697dd376)
* dont expost entire res._locals to client side (e368feef)
* shorter meta.settings.get (190532b3)
* clone settings before returning (51cbeccb)
* remove another async.series (27c05448)
* remove tabs after declaration (4359e5c9)
* update dates (6d38eab6)
* clone before returning (f729e519)
* add filter:topic.getPosts (258f368e)
* setObjectBulk to match sortedSetAddBulk (8379c11b)
* remove more async.eachSeries/mapSeries (d1964095)
* make a single call to set widgets per template (8750ee04)
* remove jshint, remove async.parallel (80f9963b)
##### Code Style Changes
* eslint (d960f601)
##### Tests
* fix util test (6c1e184c)
* update tag tests, fix linux symlink error (9b75b1ed)
* fix restore test (0d9ec9d3)
* fix user tests calling deprecated socket methods (e747998c)
* add email interstitial tests (1264dcb5)
* don't use csrf_token for get,head, options (5e08f7e6)
* fix tests (0e273ab2)
* remove old test (68fd0875)
* make it async (5c3d5f1f)
* fix (26f00ffb)
* one more getTopicPosts test (f8f0a83b)
* utils.params (7b99dc46)
* regular user shouldn't see admin:privileges (cd2040ac)
* add missing tests (58431221)
* add api token tests (7434cbf6)
* add missing tests (404a8774)
* upgrade.runParticular (2bdb4906)
* add missing acp root category test (c17ec996)
* cache dump test (217aae4c)
* add missing controllers (bc120dba)
* fix tpl name (edf7c647)
* add mising email.test tpls (6d186ff1)
* debug routes in dev (754cdab8)
* add digest route test (1280d9ae)
* digest (f11bc33a)
* fix function name (0e725125)
* submitUsage (d375dcb8)
* remove log (d7c32ccb)
* middleware/expose.js (29b3587d)
* up mongodb version (500cad78)
* mainPost removed from inf scroll (aac0792a)
#### v1.18.6 (2021-11-10)
##### Chores
* make it a link (a0f0dd02)
* update badges, remove david doesnt work (dad31c8e)
* up themes (b1d6c9ba)
* up mentions (98b98a11)
* up mentions (3e4d477e)
* fix type.yaml example and summary (591424ce)
* incrementing version number - v1.18.5 (1e418f5b)
* update changelog for v1.18.5 (82eda23a)
* remove .opacity() mixin as it is supported cross-browser (28efcb59)
* **deps:**
* update dependency eslint-plugin-import to v2.25.3 (45a0895c)
* update commitlint monorepo to v14 (dc78125a)
* update dependency jsdom to v18.0.1 (7d468e72)
* **i18n:**
* fallback strings for new resources: nodebb.admin-development-info (91676c6c)
* fallback strings for new resources: nodebb.admin-settings-navigation (3727e39f)
* fallback strings for new resources: nodebb.admin-settings-post (46789910)
##### New Features
*#9992, hooks.one (96f13e4f)
* use auto-generated meta and link tags in ACP, closes #9991 (1719bff8)
* add node 16 (#9847) (d27c9696)
*#9967, allow dropdowns in navigation (2e623dd2)
* show number of events per type in acp (b916e42f)
* show posts previews if enabled on mouse over (8c670316)
##### Bug Fixes
* **deps:**
* update dependency nodebb-theme-slick to v1.4.16 (#9990) (cf30876f)
* update dependency nodebb-plugin-composer-default to v7.0.14 (#9989) (ef02bdc4)
* update dependency nodebb-plugin-composer-default to v7.0.13 (#9988) (654c8e61)
* update dependency nodebb-plugin-mentions to v3.0.2 (1a22b0ec)
* update dependency socket.io to v4.3.2 (98ebc4d9)
* update dependency html-to-text to v8.1.0 (c1f5889f)
* update dependency nodebb-plugin-dbsearch to v5.1.0 (#9983) (4f1ee1fc)
* update dependency nodebb-plugin-composer-default to v7.0.12 (7fee0e32)
* update dependency nodebb-plugin-mentions to v3.0.1 (#9979) (8224a2a9)
* update dependency nodebb-plugin-spam-be-gone to v0.7.11 (91293ecc)
* update dependency nodebb-theme-lavender to v5.3.1 (f7295aaa)
* update dependency nodebb-plugin-mentions to v3 (#9966) (0888aae6)
* update dependency mongodb to v4.1.4 (#9968) (f5993731)
* update dependency nodebb-theme-persona to v11.2.21 (#9969) (8fac8d61)
* update dependency nodebb-plugin-mentions to v2.15.1 (0f8a68c0)
* update dependency validator to v13.7.0 (81c8d70c)
* update dependency autoprefixer to v10.4.0 (755860f1)
* ability to enumerate email via updateProfile method (c1ac2912)
* accidentally not clearing email when said email is confirmed for a different uid (b912a564)
*#9976 (28dd31a8)
*#9976, handle array or object (9bfb6c72)
* dont show previews on mobile (41e02400)
* category load more btn visibility (05468526)
*#9973, ignore if assigning to same parent (66e7cdac)
*#9972 (67cb2491)
* remove tooltip on ajaxify (f728abda)
* don't highlight external nav items (8a88295d)
* don't use # for previews (5a0efd2d)
* events for just topic with main post (3d611ab7)
*#9954, get next post timestamp (89399c0e)
* topic events not rendered in infinitescroll (a7f235db)
* broken post uploads due to 6a976a9db0340e34577961ce8d5d9479c78f7856 (485b6ced)
*#9950, rename account export routes to remove `uid/` prefix (0ee85d5a)
* double invocation of authenticateRequest (60352eca)
*#9945, call authenticateRequest middleware for mount points in /api (6a976a9d)
* hooks is sometimes undefined (74aa12c9)
* typo in flags (bc4b19b4)
* remove unused code (50b2ebf8)
* handle undefined data.query (8f08d9ca)
##### Performance Improvements
* only load posts once (9fbb3b11)
##### Refactors
* shorter require (41c3eb82)
* deprecate app.alert functions user alerts module directly (0428912c)
* deprecate app.logout (8b4510cc)
* simpler rejoin (61903448)
* deprecate app.openChat/newChat (f352be63)
* move search functions from app.js to search module (1a9b1598)
* move session messages (666fe209)
* move warnings/messages out of app.js (51855254)
* remove jshint (0a7ff208)
* cleanup info, better cpu usage % (4b738c8c)
* acp only uses 3 modes and a single theme (890bf03f)
* display errors from category drag/drop (c1cc35a9)
* use utils.debounce (e8c17fee)
##### Tests
* add another assert for random failing test (ae64b9f4)
* socket.emit doesnt exist in tests (61d1f565)
* show body when test fails (e3f5b706)
* lint (3d2398ac)
* fix tpl test (30cce142)
* dbsearch no longer has staticDir (3386893b)
* increase timeout (4ac9270a)
* fix account export test routes (10bb8cf7)
* add test aliases.buildTargets (62ac9a8b)
* empty query params for search (bda5d144)
#### v1.18.5 (2021-10-27)
##### Breaking Changes
* disable javascript in custom less tab (719cfc0d)
##### Chores
* remove .opacity() mixin as it is supported cross-browser (28efcb59)
* up themes (463b2076)
* up persona (1438f409)
* incrementing version number - v1.18.4 (945c2b0b)
* update changelog for v1.18.4 (7cbcb521)
* **deps:**
* update dependency lint-staged to v11.2.6 (8d4bb8bb)
* update dependency lint-staged to v11.2.5 (0728a994)
* update dependency lint-staged to v11.2.4 (f76a7882)
* update dependency husky to v7.0.4 (2a3e13f3)
* update dependency mocha to v9.1.3 (4784f016)
* update dependency eslint-plugin-import to v2.25.2 (3c3f45d9)
* update dependency jsdom to v18 (4b8dcd4c)
* update dependency eslint-plugin-import to v2.25.1 (7c4aebbd)
* update dependency lint-staged to v11.2.3 (288b5456)
* update dependency lint-staged to v11.2.2 (f96c8c4d)
* update dependency @commitlint/cli to v13.2.1 (52c38a1d)
* update dependency lint-staged to v11.2.1 (022e8df0)
* update dependency eslint-config-nodebb to v0.0.3 (4b92df82)
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-email, nodebb.error (9b68dc37)
* fallback strings for new resources: nodebb.admin-dashboard (ff962b5d)
* fallback strings for new resources: nodebb.admin-dashboard, nodebb.admin-menu (abe59131)
* fallback strings for new resources: nodebb.admin-manage-digest, nodebb.admin-settings-user, nodebb.user (2bed40be)
##### Documentation Changes
* update verbiage re: login API route (94c4f87b)
##### New Features
* new ACP option `emailPrompt` ... which allows administrators to disable the client-side prompt to encourage users to enter or confirm their email addresses (80ea12c1)
* show popular searches (f4cf482a)
* new plugin hook to allow plugins to reject email address on new registration or email change (6b4f35c2)
* utilities login API route now starts an actual login session, if requested (806a1e50)
* add method name to deprecation message (b91ae088)
* quote tooltip (66fca4e0)
* additional quality options for jpeg uploads, added quality and compression settings for png uploads (d22b076b)
*#8053, biweekly digest option (f7967bdf)
* core submit button dropdown (605a5381)
* added failing i18n tests (35af7634)
* confirm before deleting all events (#9875) (56d05b4e)
##### Bug Fixes
* **deps:**
* update dependency nodebb-theme-vanilla to v12.1.7 (#9944) (bf20965f)
* update dependency nodebb-theme-persona to v11.2.19 (#9943) (bcf85fcf)
* update dependency nodebb-rewards-essentials to v0.2.0 (7c2ecb12)
* update dependency nodebb-theme-vanilla to v12.1.6 (49b8b983)
* update dependency nodebb-theme-persona to v11.2.18 (ed0adf2c)
* update dependency nodebb-theme-persona to v11.2.17 (78661079)
* update dependency postcss to v8.3.11 (a5f4e206)
* update dependency nodebb-theme-vanilla to v12.1.5 (d74a6bd3)
* update dependency sharp to v0.29.2 (8b8fe393)
* update dependency postcss to v8.3.10 (b18a24e9)
* update dependency nodebb-theme-persona to v11.2.15 (f3c8d7da)
* update dependency nodebb-theme-persona to v11.2.14 (#9919) (5e08e67b)
* update dependency socket.io-client to v4.3.2 (deba3e27)
* update dependency socket.io to v4.3.1 (e1554f61)
* update socket.io packages (ce5a0a21)
* update dependency nodebb-plugin-spam-be-gone to v0.7.10 (600a8720)
* update dependency nodebb-plugin-composer-default to v7.0.10 (b0128f85)
* update dependency nodebb-plugin-markdown to v8.14.4 (f8f35d7e)
* update dependency nodebb-plugin-composer-default to v7.0.9 (ed874662)
* update dependency nodebb-theme-persona to v11.2.13 (1dba75e9)
* update dependency ioredis to v4.28.0 (4ff5452d)
* update dependency nodebb-theme-persona to v11.2.12 (fe9f82f6)
* update dependency ioredis to v4.27.11 (6d2e0aa9)
* update dependency nodebb-plugin-mentions to v2.14.1 (820f8cdf)
* update dependency jquery-ui to v1.13.0 (b0eb2aed)
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format → categorical hierarchies, local user accounts, and asynchronous messaging.
Additional functionality is enabled through the use of third-party plugins.
NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.
"subscriptions.hour-help":"Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Remove images from email notifications",
"require-email-address":"Require new users to specify an email address",
"require-email-address-warning":"By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email":"Send validation emails when an email is added or changed",
"include-unverified-emails":"Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning":"By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> – sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt":"Prompt users to enter or confirm their emails",
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned":"Send emails to users even if they have been banned"
"dropdown-placeholder":"Place your dropdown menu items below, ie: <br/><li><a href="https://myforum.com">Link 1</a></li>",
"preserve-orphaned-uploads":"Keep uploaded files on disk after a post is purged",
"private-extensions":"File extensions to make private",
"private-uploads-extensions-help":"Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold":"Resize images if they are wider than specified width",
"email-confirm-interval":"لا يمكن للمستخدم إعادة إرسال رسالة تأكيد البريد الالكتروني حتى مرور",
"email-confirm-email2":"دقائق",
"allow-login-with":"السماح بتسجيل الدخول باستخدام",
"allow-login-with.username-email":"اسم المستخدم أو البريد الالكتروني",
"allow-login-with.username":"اسم المستخدم فقط",
"allow-login-with.email":"البريد الالكتروني فقط",
"account-settings":"إعدادت الحساب",
"gdpr_enabled":"Enable GDPR consent collection",
"gdpr_enabled_help":"When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"unsub.success":"You will no longer receive emails from the <strong>%1</strong> mailing list",
"unsub.failure.title":"Unable to unsubscribe",
"unsub.failure.message":"Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"banned.subject":"You have been banned from %1",
"banned.text1":"The user %1 has been banned from %2.",
"has_no_ignored_topics":"هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
"has_no_upvoted_posts":"هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
"has_no_downvoted_posts":"هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
"has_no_voted_posts":"هذا المستخدم لا يمتلك اية مشاركات تم التصويت عليها",
"has_no_controversial_posts":"This user does not have any downvoted posts yet.",
"has_no_blocks":"You have blocked no users.",
"email_hidden":"البريد الإلكتروني مخفي",
"hidden":"مخفي",
@@ -184,6 +184,7 @@
"consent.export_posts":"Export Posts (.csv)",
"consent.export-posts-success":"Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro":"Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.",
"emailUpdate.required":"<strong>This field is required</strong>.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
"headers.csp-frame-ancestors":"Задайте заглавката „Content-Security-Policy frame-ancestors“ за да поставите NodeBB „iFrame“",
"headers.csp-frame-ancestors-help":"„none“ (нищо), „self“ (себе си – по подразбиране) или списък от позволени адреси.",
"headers.powered-by":"Персонализиране на заглавната част „Захранван от“, която се изпраща от NodeBB",
"headers.acao":"Произход за разрешаване на управлението на достъпа",
"headers.acao-regex":"Регулярен израз за произхода за разрешаване на управлението на достъпа",
"headers.acao":"Access-Control-Allow-Origin",
"headers.acao-regex":"Регулярен израз за „Access-Control-Allow-Origin“",
"headers.acao-help":"За да забраните достъпа до всички уеб сайтове, оставете празно",
"headers.acao-regex-help":"Въведете регулярен израз за съвпадение с динамичните произходи. За да забраните достъпа на всички уеб сайтове, оставете това празно.",
"headers.acac":"Удостоверителни данни за разрешаване на управлението на достъпа",
"subscriptions.hour-help":"Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Премахване на изображенията от известията по е-поща",
"require-email-address":"Новите потребители задължително трябва да предоставят е-поща",
"require-email-address-warning":"По подразбиране потребителите могат да не въвеждат адрес на е-поща. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"require-email-address-warning":"По подразбиране потребителите могат да не въвеждат адрес на е-поща, като оставят полето празно. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"send-validation-email":"Изпращане на е-писма за потвърждение, когато бъде добавена или променена е-поща",
"include-unverified-emails":"Изпращане на е-писма към получатели, които не са потвърдили изрично е-пощата си",
"include-unverified-warning":"За потребителите, които имат свързана е-поща с регистрацията си, тя се смята за потвърдена. Но има ситуации, в които това не е така (например при ползване на регистрация от друга система, но и в други случаи), <strong>Включете тази настройка на собствен риск</strong> – изпращането на е-писма към непотвърдени адреси може да нарушава определени местни закони против нежеланата поща.",
"prompt":"Подсещане на потребителите да въведат или потвърдят е-пощата си",
"prompt-help":"Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение."
"prompt-help":"Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение.",
"sendEmailToBanned":"Изпращане на е-писма дори до блокираните потребители"
"allow-files":"Позволяване на потребителите да качват обикновени файлове",
"private":"Качените файлове да бъдат частни",
"strip-exif-data":"Премахване на данните EXIF",
"preserve-orphaned-uploads":"Запазване на качените файлове на диска дори след изтриването на публикацията",
"private-extensions":"Файлови разширения, които да бъдат частни",
"private-uploads-extensions-help":"Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
"resize-image-width-threshold":"Преоразмеряване на изображенията, ако са по-широки от определената ширина",
"gdpr_enabled":"Включване на искането за съгласие с ОРЗД",
"gdpr_enabled_help":"Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
"unsub.cta":"Натиснете тук, за да промените тези настройки",
"unsubscribe":"отписване",
"unsub.success":"Повече няма да получавате е-писма от пощенския списък на <strong>%1</strong>",
"unsub.failure.title":"Отписването не може да се извърши",
"unsub.failure.message":"За съжаление не успяхме да Ви отпишем от пощенския списък, поради проблем с връзката. Можете, обаче, да промените предпочитанията си за е-писмата в <a href=\"%2\">потребителските си настройки</a>.<br /><br />(грешка: <code>%1</code>)",
"banned.subject":"Вие бяхте блокиран(а) от %1",
"banned.text1":"Потребителят %1 беше блокиран от %2.",
"banned.text2":"Това блокиране ще е в сила до %1.",
"has_no_ignored_topics":"Този потребител не е пренебрегнал нито една тема досега.",
"has_no_upvoted_posts":"Този потребител не е гласувал положително досега.",
"has_no_downvoted_posts":"Този потребител не е гласувал отрицателно досега.",
"has_no_voted_posts":"Този потребител нее гласувал досега.",
"has_no_controversial_posts":"Този потребител няма публикации с отрицателни гласове засега.",
"has_no_blocks":"Не сте блокирали никого.",
"email_hidden":"Е-пощата е скрита",
"hidden":"скрито",
@@ -184,6 +184,7 @@
"consent.export_posts":"Изнасяне на публикациите (.csv)",
"consent.export-posts-success":"Изнасяне на публикациите… Ще получите известие, когато е готово.",
"emailUpdate.intro":"Въведете е-пощата си по-долу. Този форум използва е-пощата за планирани резюмета и известия, както и за възстановяване на акаунта, в случай на забравена парола.",
"emailUpdate.optional":"<strong>Това поле не е задължително</strong>. Не сте длъжен/на да ни давате адреса на е-пощата си, но ако нямате потвърдена е-поща, няма да можете да възстановите достъпа до акаунта си в случай на проблем.",
"emailUpdate.optional":"<strong>Това поле не е задължително</strong>. Не сте длъжен/на да предоставяте адрес на е-поща, но без проверена е-поща, няма да можете да възстановите акаунта си в случай на проблем, нито ще можете да се вписвате се-пощата си.",
"emailUpdate.required":"<strong>Това поле е задължително</strong>.",
"emailUpdate.change-instructions":"Ще Ви изпратим е-писмо за потвърждение на посочената е-поща, което ще съдържа уникална връзка. Щом последвате тази връзка, притежанието Ви на тази е-поща ще бъде потвърдено и тя ще бъде свързана с акаунта Ви. Ще можете да промените тази е-поща по всяко време, от страницата на акаунта си."
"subscriptions.hour-help":"Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Remove images from email notifications",
"require-email-address":"Require new users to specify an email address",
"require-email-address-warning":"By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email":"Send validation emails when an email is added or changed",
"include-unverified-emails":"Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning":"By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> – sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt":"Prompt users to enter or confirm their emails",
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned":"Send emails to users even if they have been banned"
"dropdown-placeholder":"Place your dropdown menu items below, ie: <br/><li><a href="https://myforum.com">Link 1</a></li>",
"allow-files":"Allow users to upload regular files",
"private":"Make uploaded files private",
"strip-exif-data":"Strip EXIF Data",
"preserve-orphaned-uploads":"Keep uploaded files on disk after a post is purged",
"private-extensions":"File extensions to make private",
"private-uploads-extensions-help":"Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold":"Resize images if they are wider than specified width",
"email-confirm-interval":"User may not resend a confirmation email until",
"email-confirm-email2":"minutes have elapsed",
"allow-login-with":"Allow login with",
"allow-login-with.username-email":"Username or Email",
"allow-login-with.username":"Username Only",
"allow-login-with.email":"Email Only",
"account-settings":"Account Settings",
"gdpr_enabled":"Enable GDPR consent collection",
"gdpr_enabled_help":"When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"unsub.cta":"সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন",
"unsubscribe":"unsubscribe",
"unsub.success":"You will no longer receive emails from the <strong>%1</strong> mailing list",
"unsub.failure.title":"Unable to unsubscribe",
"unsub.failure.message":"Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"has_no_ignored_topics":"This user hasn't ignored any topics yet.",
"has_no_upvoted_posts":"This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts":"This user hasn't downvoted any posts yet.",
"has_no_voted_posts":"This user has novoted posts",
"has_no_controversial_posts":"This user does not have any downvoted posts yet.",
"has_no_blocks":"You have blocked no users.",
"email_hidden":"ইমেইল গোপন রাখা হয়েছে",
"hidden":"গোপন করা হয়েছে",
@@ -184,6 +184,7 @@
"consent.export_posts":"Export Posts (.csv)",
"consent.export-posts-success":"Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro":"Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.",
"emailUpdate.required":"<strong>This field is required</strong>.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
"subscriptions.hour-help":"Zadejte číslo odpovídající hodině, kdy mají být odeslány přehledové e-maily (tj. <code>0</code> pro půlnoc, <code>17</code> pro 5:00pm). Mějte na paměti, že tato hodina závisí na hodinách samotného serveru a nemusí tak souhlasit se systémovými hodinami. <br />Přibližný čas serveru je: <span id=\"serverTime\"></span>.<br />Další odeslání přehledů je plánováno na <span id=\"nextDigestTime\"></span>.",
"notifications.remove-images":"Remove images from email notifications",
"require-email-address":"Require new users to specify an email address",
"require-email-address-warning":"By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email":"Send validation emails when an email is added or changed",
"include-unverified-emails":"Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning":"By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> – sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt":"Prompt users to enter or confirm their emails",
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned":"Send emails to users even if they have been banned"
"dropdown-placeholder":"Place your dropdown menu items below, ie: <br/><li><a href="https://myforum.com">Link 1</a></li>",
"preserve-orphaned-uploads":"Keep uploaded files on disk after a post is purged",
"private-extensions":"Přípona souborů je soukromá",
"private-uploads-extensions-help":"Pro nastavení soukromí, zde zadejte seznam souborů oddělený čárkou (tj. <code>pdf, xls,doc</code>). prázdný seznam znamená, že všechny soubory jsou soukromé.",
"resize-image-width-threshold":"Změnit velikost obrázků, jsou-li širší než určená šířka",
"gdpr_enabled_help":"When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"unsub.cta":"Chcete-li změnit tyto nastavení, klikněte zde.",
"unsubscribe":"odhlásit",
"unsub.success":"Již nebudete nadále dostávat e-maily z <strong>%1</strong>",
"unsub.failure.title":"Unable to unsubscribe",
"unsub.failure.message":"Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"banned.subject":"Byl jste zablokován od %1",
"banned.text1":"Uživatel %1 byl zablokován od %2",
"consent.export-posts-success":"Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro":"Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.",
"emailUpdate.required":"<strong>This field is required</strong>.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
"subscriptions.hour-help":"Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Remove images from email notifications",
"require-email-address":"Require new users to specify an email address",
"require-email-address-warning":"By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email":"Send validation emails when an email is added or changed",
"include-unverified-emails":"Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning":"By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> – sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt":"Prompt users to enter or confirm their emails",
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned":"Send emails to users even if they have been banned"
"dropdown-placeholder":"Place your dropdown menu items below, ie: <br/><li><a href="https://myforum.com">Link 1</a></li>",
"allow-files":"Allow users to upload regular files",
"private":"Make uploaded files private",
"strip-exif-data":"Strip EXIF Data",
"preserve-orphaned-uploads":"Keep uploaded files on disk after a post is purged",
"private-extensions":"File extensions to make private",
"private-uploads-extensions-help":"Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold":"Resize images if they are wider than specified width",
"email-confirm-interval":"User may not resend a confirmation email until",
"email-confirm-email2":"minutes have elapsed",
"allow-login-with":"Allow login with",
"allow-login-with.username-email":"Username or Email",
"allow-login-with.username":"Username Only",
"allow-login-with.email":"Email Only",
"account-settings":"Account Settings",
"gdpr_enabled":"Enable GDPR consent collection",
"gdpr_enabled_help":"When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"unsub.cta":"Klik her for at ændre disse indstillinger",
"unsubscribe":"unsubscribe",
"unsub.success":"You will no longer receive emails from the <strong>%1</strong> mailing list",
"unsub.failure.title":"Unable to unsubscribe",
"unsub.failure.message":"Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"banned.subject":"You have been banned from %1",
"banned.text1":"The user %1 has been banned from %2.",
"banned.text2":"This ban will last until %1.",
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.