Compare commits

..

487 Commits

Author SHA1 Message Date
Misty (Bot)
b5dcce9c29 chore: incrementing version number - v1.14.3-beta.8 2020-07-29 23:00:58 +00:00
Barış Soner Uşaklı
f89ec20574 feat: allow passing groupName to user.search 2020-07-29 18:32:08 -04:00
Julian Lam
292d490443 feat: #8531, closes #8531 2020-07-29 16:57:28 -04:00
Julian Lam
c705e08a76 feat: allow direct link to flag from post tools, #8531 2020-07-29 16:55:18 -04:00
Barış Soner Uşaklı
8415d2f014 fix: api test 2020-07-29 14:29:07 -04:00
Barış Soner Uşaklı
c4829fd8c2 feat: allow changing requirejs base url 2020-07-29 14:14:45 -04:00
Barış Soner Uşaklı
9df871bee2 fix: tests 2020-07-29 12:53:36 -04:00
Barış Soner Uşaklı
bbc7737e14 feat: ability to clear cache from acp 2020-07-29 12:50:18 -04:00
Barış Soner Uşaklı
69fb15276c fix: tests 2020-07-29 12:19:07 -04:00
Barış Soner Uşaklı
8d8117ffa1 feat: reduce amount of data loaded on acp admin page
get rid of socket call and use ajaxify.data.categories
2020-07-29 11:57:20 -04:00
Barış Soner Uşaklı
7331faed9f fix: reverse uid checks 2020-07-29 11:48:32 -04:00
Barış Soner Uşaklı
303bffdb5f feat: remove require fallback for plugins 2020-07-29 11:19:29 -04:00
Barış Soner Uşaklı
2dfe9d49f4 fix: acp view category button if category is a link 2020-07-29 09:25:21 -04:00
Barış Soner Uşaklı
52718ce0ba fix: remove old test 2020-07-29 09:14:23 -04:00
Barış Soner Uşaklı
f5f7d8926b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-29 08:22:27 -04:00
Barış Soner Uşaklı
762b0be4b4 feat: remove /assets/stylesheet.css 2020-07-29 08:20:41 -04:00
Barış Soner Uşaklı
6250a2e242 feat: add node 14 2020-07-28 21:36:08 -04:00
Misty (Bot)
d580cf01c3 Latest translations and fallbacks 2020-07-28 09:06:14 +00:00
Barış Soner Uşaklı
5e5815f051 fix: #8515, fix login redirect on subfolder 2020-07-27 22:28:07 -04:00
Misty (Bot)
2531c44cdf chore: incrementing version number - v1.14.3-beta.7 2020-07-28 02:05:58 +00:00
Barış Soner Uşaklı
f48d155670 fix: tests 2020-07-27 21:50:07 -04:00
Barış Soner Uşaklı
fd4c3cda42 fix: #4695, remove new notif alert 2020-07-27 21:34:21 -04:00
Julian Lam
8473e165a6 fix: too small sortable handle for ACP>Manage>Categories
The handle was initially just the icon, but now it is the icon
and the category label itself.
2020-07-27 16:07:52 -04:00
Misty (Bot)
97088f6887 chore: incrementing version number - v1.14.3-beta.6 2020-07-27 17:43:36 +00:00
Misty (Bot)
93d1ceccdd Latest translations and fallbacks 2020-07-27 17:18:47 +00:00
Misty (Bot)
43e9c25d26 Latest translations and fallbacks 2020-07-27 17:09:09 +00:00
Barış Soner Uşaklı
db07dd8565 fix: less fixes for category dropdown 2020-07-27 13:03:34 -04:00
Barış Soner Uşaklı
24535a62e7 feat: make category tools in acp a dropdown
add view category, view privileges into dropdown
2020-07-27 12:39:32 -04:00
Barış Soner Uşaklı
37e56d94ce feat: series upload 2020-07-27 11:46:14 -04:00
renovate[bot]
7a59c2fc71 fix(deps): update dependency nodebb-theme-persona to v10.2.1 (#8529)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-25 20:48:05 -04:00
Barış Soner Uşaklı
8bd63f61e0 feat: resolve flag on delete/purge/ban/delete account 2020-07-25 18:26:09 -04:00
Barış Soner Uşaklı
c54b6b9c7e refactor: startup 2020-07-25 09:44:50 -04:00
Barış Soner Uşaklı
57135761ca fix: move check inside lock 2020-07-25 09:26:08 -04:00
Barış Soner Uşaklı
af91c26a6f refactor: get rid of bind calls 2020-07-25 09:14:13 -04:00
Barış Soner Uşaklı
e045436c07 feat: 8502, don't change topics sitemaps on every reply
sort by topic creation in ascending order
2020-07-24 16:11:18 -04:00
Barış Soner Uşaklı
0a9ea91fea feat: allow building custom languages during dev 2020-07-24 15:47:28 -04:00
Misty (Bot)
a33a8a5a27 chore: incrementing version number - v1.14.3-beta.5 2020-07-24 19:07:39 +00:00
Barış Soner Uşaklı
cc86f079e1 feat: add link-plugins.sh 2020-07-24 15:04:14 -04:00
Barış Soner Uşaklı
79009d8775 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-24 14:55:37 -04:00
Barış Soner Uşaklı
d1cb405d86 fix: #7351, display less errors with location and error message 2020-07-24 14:54:01 -04:00
Renovate Bot
d24a4bd305 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.53 2020-07-24 14:53:24 -04:00
Julian Lam
345fd72b30 fix: use shorter git url, #8527 2020-07-24 14:42:43 -04:00
Barış Soner Uşaklı
609e37a67b feat: remove deprecated utils.walk 2020-07-24 14:29:08 -04:00
Julian Lam
b714ed22e7 fix(deps): bump themes
closes #8510
2020-07-24 14:11:30 -04:00
Julian Lam
55b0e902fb feat: consolidation of flags to reduce flagspam, #8510
Squashed commit of the following:

commit c6d0939620
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 13:41:32 2020 -0400

    fix: more tests

commit 32f9af2a87
Merge: e50907535 4eae927d1
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:53:04 2020 -0400

    Merge remote-tracking branch 'origin/master' into singleton-flags

commit e509075351
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:52:46 2020 -0400

    fix: controllers-admin test

commit fd5af99e30
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:26:55 2020 -0400

    fix(tests): dummy commit to trigger travisCI

commit c452a6ffcf
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:05:09 2020 -0400

    fix(openapi): openapi spec changes

commit 8089a74e89
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:48:00 2020 -0400

    fix: reversing the order of reports for display purposes

commit a099892b37
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:45:44 2020 -0400

    refactor: run all flag creation calls in a single batch

commit b24999682f
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:08:23 2020 -0400

    feat: handling multiple reporters per flag, #8510

commit 08c75c0200
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Jul 16 20:53:18 2020 -0400

    feat: upgrade script for #8510
2020-07-24 14:10:37 -04:00
Barış Soner Uşaklı
3761f05c98 feat: change invalid language codes to default lang 2020-07-24 12:22:24 -04:00
Barış Soner Uşaklı
a294e1cdd1 feat: add npx, fixes ghfw 2020-07-24 12:03:35 -04:00
Barış Soner Uşaklı
ce6b20c4b7 feat: remove topics.async.getTopicData usage 2020-07-24 12:02:16 -04:00
Barış Soner Uşaklı
0cea713691 feat: remove deprecated checkGlobalPrivacySettings 2020-07-24 11:42:37 -04:00
Barış Soner Uşaklı
a0da2ba774 feat: remove deprecated isAdmin method 2020-07-24 11:40:21 -04:00
Barış Soner Uşaklı
2cdb935f1d feat: remove file.isFileTypeAllowed 2020-07-24 11:21:26 -04:00
Barış Soner Uşaklı
4eae927d14 feat: remove deprecated hooks 2020-07-24 10:39:51 -04:00
renovate[bot]
8c498fa1c9 chore(deps): update dependency @apidevtools/swagger-parser to v10.0.1 (#8517)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 10:05:13 -04:00
renovate[bot]
75fb2a478e fix(deps): update dependency commander to v6 (#8518)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 10:04:59 -04:00
Barış Soner Uşaklı
9869064ec5 feat: update readme 2020-07-24 10:02:07 -04:00
Barış Soner Uşaklı
b39e014047 feat: up node version to 10 2020-07-24 10:01:24 -04:00
renovate[bot]
c872bd8b22 chore(deps): update dependency nyc to v15.1.0 (#8353)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 10:00:12 -04:00
renovate[bot]
b2be329cfd chore(deps): update dependency eslint to v7.5.0 (#8463)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:57:27 -04:00
renovate[bot]
82ada1bd78 chore(deps): update dependency jsdom to v16.3.0 (#8483)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:57:00 -04:00
renovate[bot]
b2dc6d60ab chore(deps): update dependency grunt to v1.2.1 (#8462)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:56:41 -04:00
renovate[bot]
f1cc4e29f4 fix(deps): update dependency archiver to v5 (#8523)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:56:16 -04:00
renovate[bot]
2941b9f982 fix(deps): update dependency lru-cache to v6 (#8490)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:55:48 -04:00
renovate[bot]
9c17a6779c fix(deps): update dependency connect-redis to v5 (#8480)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-24 09:55:33 -04:00
Misty (Bot)
55b3e376c6 chore: incrementing version number - v1.14.3-beta.4 2020-07-24 06:01:31 +00:00
psychobunny
4c90fac412 fix: cursor for category select 2020-07-24 01:30:16 -04:00
psychobunny
bc26883aed refactor: setting codeclimate to A 2020-07-23 23:23:35 -04:00
psychobunny
8769e28b28 fix: api docs for admin/manage/groups/x 2020-07-23 23:00:02 -04:00
Barış Soner Uşaklı
b9cff5775c fix: edge case in test
if user is created the other one will be renamed
2020-07-23 21:42:23 -04:00
psychobunny
a6ae69737b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-23 18:34:20 -04:00
psychobunny
10e4ae629c feat: highlight privs row if group is added / navigating from group page 2020-07-23 18:34:07 -04:00
psychobunny
53f6139b8c feat: prevent navigation away from groups page if changes are unsaved 2020-07-23 18:06:55 -04:00
psychobunny
2c83278f97 feat: quick access dropdown on groups page to access privileges page 2020-07-23 17:59:52 -04:00
Barış Soner Uşaklı
42af4b572b fix: api tests 2020-07-23 16:54:36 -04:00
Barış Soner Uşaklı
844f2b4ed0 feat: #8524, allow editing category of queued topic 2020-07-23 16:43:56 -04:00
Barış Soner Uşaklı
7260646d6c fix: #8500, allow regular users select topics on unread 2020-07-23 09:27:00 -04:00
Barış Soner Uşaklı
4658121a7d fix: don't crash if content is undefined 2020-07-22 17:03:29 -04:00
Misty (Bot)
5a5abf3c4e chore: incrementing version number - v1.14.3-beta.3 2020-07-22 16:08:50 +00:00
Barış Soner Uşaklı
fefe994af5 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-22 11:46:22 -04:00
Barış Soner Uşaklı
ff3c343532 feat: remove js-enabled 2020-07-22 11:46:10 -04:00
renovate[bot]
ac257a6586 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.52 (#8522)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-22 11:41:11 -04:00
Misty (Bot)
bbab183fec chore: incrementing version number - v1.14.3-beta.2 2020-07-22 14:54:41 +00:00
Barış Soner Uşaklı
ec05783507 feat: remove js-enabled.css 2020-07-22 10:38:52 -04:00
Barış Soner Uşaklı
a3c8d45626 fix: crash if csrfToken does not exist 2020-07-21 21:07:31 -04:00
Barış Soner Uşaklı
6f889c9c83 fix: try again 2020-07-21 20:53:25 -04:00
Barış Soner Uşaklı
a46adb3fd5 fix: more tests 2020-07-21 20:43:16 -04:00
Barış Soner Uşaklı
65395ae59d fix: tests 2020-07-21 20:32:36 -04:00
Barış Soner Uşaklı
72c60d19c2 fix: tests 2020-07-21 20:08:40 -04:00
Barış Soner Uşaklı
67ca5e3256 fix: tests 2020-07-21 18:26:26 -04:00
Barış Soner Uşaklı
2a5f8ab27e feat: dont load all subscribers at once
increase batch to 500
2020-07-21 18:19:46 -04:00
Barış Soner Uşaklı
23a9a334cd feat: short more info 2020-07-21 18:08:53 -04:00
Misty (Bot)
2c06f6ace1 chore: incrementing version number - v1.14.3-beta.1 2020-07-21 01:43:15 +00:00
Barış Soner Uşaklı
2485a55092 feat: #8521, allow editing title before posting from queue 2020-07-20 21:28:17 -04:00
Barış Soner Uşaklı
8ddc8dd10f refactor: make msg pretty 2020-07-20 17:58:42 -04:00
Barış Soner Uşaklı
764969ab29 feat: show language when key isn't found 2020-07-20 17:56:03 -04:00
Barış Soner Uşaklı
1e7397b1b8 feat: allow searching categories in ACP 2020-07-20 13:17:08 -04:00
renovate[bot]
f06b1cecba fix(deps): update dependency nodebb-theme-persona to v10.1.68 (#8520)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-19 20:49:04 -04:00
Barış Soner Uşaklı
320008cd49 feat: #8509, don't scroll chat to bottom if user scrolled up 2020-07-19 14:34:31 -04:00
renovate[bot]
b5df576646 fix(deps): update dependency nodebb-plugin-mentions to v2.9.3 (#8516)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-18 22:03:20 -04:00
Renovate Bot
649c64e4d4 fix(deps): update dependency nodebb-plugin-dbsearch to v4.1.2 2020-07-17 16:46:25 -04:00
psychobunny
06143ca7d7 feat: added quick link to edit privileges on the category edit page 2020-07-17 16:27:47 -04:00
Renovate Bot
91bdc12a16 fix(deps): update dependency nodebb-plugin-mentions to v2.9.2 2020-07-17 15:46:25 -04:00
Renovate Bot
9e2c3ce005 chore(deps): update dependency @apidevtools/swagger-parser to v10 2020-07-16 19:42:20 -04:00
Barış Soner Uşaklı
3653151143 fix: #8508, dont allow moving topics if not moderator of target category 2020-07-16 16:47:49 -04:00
Julian Lam
1e14af4503 fix: composer textarea placeholder l10n /cc @pitaj 2020-07-16 16:25:36 -04:00
Renovate Bot
0e13fd0fc1 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.51 2020-07-16 10:08:45 -04:00
Misty (Bot)
3f87d5f9d0 chore: incrementing version number - v1.14.3-beta.0 2020-07-16 14:03:48 +00:00
Julian Lam
9fb9185fa7 feat: hide some filters behind 'more filters' button 2020-07-16 09:32:20 -04:00
Julian Lam
d52d7bdb10 feat: collapsible daily flags graph 2020-07-16 09:03:03 -04:00
Julian Lam
e3e55f25d0 refactor: flag sanity checks, +feat: flag limits
- Added new config flag:limitPerTarget, to disallow flags after an item has
  already been flagged x times (default 0, or infinite)
- New zset flags:byTarget, score is the number of times a flag has been made
  against that item
- "already-flagged" translation key removed, now "post-already-flagged" or
  "user-already-flagged" -- this fixed bug where flagging a user you've already
  flagged would tell you you've already flagged this post already.
- Refactored Flags.canFlag to throw errors only, instead of returning boolean
- Updated ACP form inputs for reputation settings page to be more bootstrappy
- +1 upgrade script
2020-07-15 17:10:49 -04:00
Misty (Bot)
cd94c24a86 chore: update changelog for v1.14.2 2020-07-15 16:03:40 +00:00
Misty (Bot)
e085c8463c Revert "chore: update changelog for v1.14.2"
This reverts commit 488e69fd80.
2020-07-15 16:01:10 +00:00
Misty (Bot)
1e4d683f4e chore: incrementing version number - v1.14.2
(cherry picked from commit 28970b030d)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-07-15 16:00:31 +00:00
Misty (Bot)
488e69fd80 chore: update changelog for v1.14.2 2020-07-15 16:00:31 +00:00
Renovate Bot
c54287fe9c fix(deps): update dependency nodebb-plugin-mentions to v2.9.1 2020-07-15 10:36:58 -04:00
Julian Lam
65240a178e fix: #8499 2020-07-14 13:40:51 -04:00
Julian Lam
1441720962 feat: logic for flag note editing, #8499 2020-07-14 13:38:28 -04:00
Julian Lam
f85a45c722 feat: logic for flag note deletion, #8499 2020-07-14 13:38:28 -04:00
Andrew Rodrigues
63fb2ad7d9 chore: up theme 2020-07-14 12:59:29 -04:00
Misty (Bot)
9d1465d0da chore: incrementing version number - v1.14.2-beta.1 2020-07-14 13:25:39 +00:00
Barış Soner Uşaklı
5e984d10f0 fix: #8500 2020-07-13 16:02:32 -04:00
Renovate Bot
0ca7e28ad0 chore(deps): update commitlint monorepo to v9.1.1 2020-07-13 15:31:37 -04:00
Julian Lam
2286ee2a61 fix: invalid session error modal during logout
A brief flash can be seen, but this is exacerbated by slow
connections and/or slow server response.
2020-07-13 15:17:46 -04:00
Renovate Bot
7730e7da23 fix(deps): update dependency nodebb-plugin-mentions to v2.9.0 2020-07-11 13:53:18 -04:00
Julian Lam
3379d65f36 feat: fire action:flag.showModal on flag modal appearance 2020-07-10 14:40:13 -04:00
Barış Soner Uşaklı
00d39fb32c feat: #8460, export groups members as csv 2020-07-10 13:12:14 -04:00
Andrew Rodrigues
15aabfd3a5 chore: up theme 2020-07-10 12:23:44 -04:00
Julian Lam
2fba0a1405 Merge branch 'master' of github.com:NodeBB/NodeBB 2020-07-10 11:50:55 -04:00
Barış Soner Uşaklı
b3a88331bf fix: #8488 2020-07-10 11:06:18 -04:00
Barış Soner Uşaklı
393f19b461 feat: pass connection options to socket.io-adapter-mongo 2020-07-10 08:39:49 -04:00
Barış Soner Uşaklı
3dcf538773 feat: #8023, allow wildcard search for uid/email 2020-07-09 23:57:54 -04:00
renovate[bot]
4e9743abb3 fix(deps): update dependency nodebb-theme-persona to v10.1.62 (#8485)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-09 23:15:35 -04:00
Andrew Rodrigues
599c5015c8 chore: up theme 2020-07-09 21:45:17 -04:00
Barış Soner Uşaklı
6235b31c2b feat: up composer 2020-07-09 19:11:26 -04:00
Barış Soner Uşaklı
46a6686300 fix: category search in selector 2020-07-09 19:08:01 -04:00
Barış Soner Uşaklı
73ddf1cb98 fix: groups.updateCover 2020-07-09 18:12:51 -04:00
Barış Soner Uşaklı
c513b88dff feat: #8427, daily downvote limits 2020-07-09 12:51:05 -04:00
Misty (Bot)
fca4ee312e chore: incrementing version number - v1.14.2-beta.0 2020-07-09 01:58:10 +00:00
Barış Soner Uşaklı
4adbf87c6c feat: warn user if whitelisted tags are less than minTags 2020-07-08 21:36:48 -04:00
renovate[bot]
ab244ca6cc fix(deps): update dependency nodebb-plugin-composer-default to v6.3.49 (#8479)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-08 17:24:32 -04:00
Julian Lam
60bf488f54 fix(docs): bad changelog 2020-07-08 16:19:58 -04:00
Julian Lam
26c744090e Revert "chore: update changelog for v1.14.1"
This reverts commit d4c16086a3.
2020-07-08 16:15:19 -04:00
Misty (Bot)
31203b162f chore: incrementing version number - v1.14.1
(cherry picked from commit ddf5c3bf7f)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-07-08 20:13:42 +00:00
Misty (Bot)
d4c16086a3 chore: update changelog for v1.14.1 2020-07-08 20:13:42 +00:00
Barış Soner Uşaklı
658dd03b03 feat: add tools to recent/unread (#8477)
* feat: add tools to recent/unread

* fix: open api spec

* fix: more api spec
2020-07-08 14:09:10 -04:00
renovate[bot]
14eafcb6b8 fix(deps): update dependency nodebb-theme-persona to v10.1.60 (#8478)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-08 14:08:49 -04:00
Misty (Bot)
e8ecef6bff chore: incrementing version number - v1.14.1-beta.3 2020-07-08 00:57:31 +00:00
Julian Lam
943a344aaa fix(deps): bump nodebb-plugin-composer-default to 6.3.48 2020-07-07 20:41:49 -04:00
Barış Soner Uşaklı
0d9461b185 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-07 20:19:20 -04:00
renovate[bot]
9f06f12cb9 fix(deps): update dependency nodebb-plugin-dbsearch to v4.1.1 (#8476)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-07 20:13:30 -04:00
Barış Soner Uşaklı
c2ca02dfc7 fix: #8474
make isPrimary and isCluster always booleans
they were strings when using ./nodebb start and boolean if they were in config.json and started with node app.js
2020-07-07 20:13:14 -04:00
Julian Lam
8853cd1aa5 fix(tests): another shot in the dark 2020-07-07 19:52:50 -04:00
Julian Lam
9458d90b5e fix(tests): shot in the dark 2020-07-07 18:00:11 -04:00
Julian Lam
4f51838df8 feat: fire new hooks on chat message editing 2020-07-07 17:31:10 -04:00
Barış Soner Uşaklı
7b04d8970d fix: show stack properly 2020-07-07 12:47:14 -04:00
Barış Soner Uşaklı
ace312e068 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-07-07 12:24:30 -04:00
Barış Soner Uşaklı
bdc4d9e75b feat: add back redis tests 2020-07-07 12:24:20 -04:00
Misty (Bot)
b8d9b6b1e1 chore: incrementing version number - v1.14.1-beta.2 2020-07-07 16:23:11 +00:00
Barış Soner Uşaklı
8461a1796d feat: remove redis test 2020-07-07 12:08:36 -04:00
renovate[bot]
857900f17c fix(deps): update dependency nodebb-plugin-composer-default to v6.3.47 (#8473)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-07 11:37:57 -04:00
Julian Lam
9a6b87d261 fix: editing chat messages does not go through content sanity checks 2020-07-06 16:27:13 -04:00
Barış Soner Uşaklı
d6c619cf1a fix: don't show blocked users under nested replies 2020-07-06 15:50:19 -04:00
renovate[bot]
eb51cfd419 fix(deps): update dependency nodebb-plugin-dbsearch to v4.1.0 (#8471)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-06 12:19:23 -04:00
Barış Soner Uşaklı
b60e1cbf50 fix: #8469, action:topic.changeOwner, action:post.changeOwner 2020-07-06 12:12:26 -04:00
Barış Soner Uşaklı
87dd6c83eb fix: tests 2020-07-05 21:06:25 -04:00
Barış Soner Uşaklı
746222d6c6 fix: handle scan/zscan returning duplicate elements on redis
increase count on redis zscan
2020-07-05 20:49:18 -04:00
renovate[bot]
ee38e05daa fix(deps): update dependency nodebb-theme-persona to v10.1.59 (#8468)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-05 17:47:18 -04:00
Barış Soner Uşaklı
9eb748b985 fix: #8467, fix url to merged topic in subfolder installs 2020-07-05 17:41:39 -04:00
renovate[bot]
519e035dd1 fix(deps): update dependency nodebb-widget-essentials to v4.1.1 (#8466)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-04 17:03:37 -04:00
Barış Soner Uşaklı
5f1865c0b7 fix: openapi 2020-07-04 16:54:18 -04:00
Barış Soner Uşaklı
65c0adc720 fix: openapi 2020-07-04 16:49:33 -04:00
Barış Soner Uşaklı
ac6b571ed5 fix: dont allow searching by email/ip if not privileged 2020-07-04 16:43:44 -04:00
Barış Soner Uşaklı
fef04fcf6b fix: missing backgroundImage #8386 2020-07-04 16:08:05 -04:00
Barış Soner Uşaklı
02ac44cc5a fix: dont allow searching by ip/banned/flagged for regular users 2020-07-04 10:19:05 -04:00
Barış Soner Uşaklı
057b783df7 feat: use covered query 2020-07-03 23:23:42 -04:00
renovate[bot]
412ca4ae71 fix(deps): update dependency @nodebb/socket.io-adapter-mongo to v3.0.1 (#8464)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-03 16:59:17 -04:00
Julian Lam
c468942f14 fix(openapi): tests 2020-07-03 12:12:07 -04:00
Julian Lam
f3441fce4f fix: admin privileges client-side regression 2020-07-03 11:39:34 -04:00
Billy Ohgren
89062d8e70 add filename to less render call (#8459) 2020-07-03 09:16:47 -04:00
Julian Lam
da29b947bf feat: add js-enabled.css to list of preloaded css files 2020-07-02 22:51:42 -04:00
Barış Soner Uşaklı
e95cd28f6f Zscan (#8458)
* feat: zscan

* fix: mongodb tests

* feat: scan, ip search starts with
2020-07-02 20:11:53 -04:00
Misty (Bot)
be85123ad5 chore: incrementing version number - v1.14.1-beta.1 2020-07-02 22:14:19 +00:00
Barış Soner Uşaklı
723fe8e8e0 feat: zscan (#8457)
* feat: zscan

* fix: mongodb tests
2020-07-02 17:59:20 -04:00
Misty (Bot)
c279875aa6 chore: incrementing version number - v1.14.1-beta.0 2020-07-02 17:43:02 +00:00
Barış Soner Uşaklı
59a2ace6f7 fix: only add blocksCount for self and admins 2020-07-01 23:16:20 -04:00
Barış Soner Uşaklı
fd20e5c62c fix: tests 2020-07-01 23:05:40 -04:00
Barış Soner Uşaklı
bd228d5ee7 feat: fix blocksCount not being returned on user profile
add hook action:user.blocks.toggle
2020-07-01 22:56:18 -04:00
Julian Lam
f992af05b6 fix: better changelog 2020-07-01 21:37:57 -04:00
Julian Lam
a761e31f02 revert: bad changelog 2020-07-01 21:31:48 -04:00
Misty (Bot)
bb73d6a4ae chore: incrementing version number - v1.14.0
(cherry picked from commit 1c0eb70046)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2020-07-02 01:28:06 +00:00
Misty (Bot)
cffae0f149 chore: update changelog for v1.14.0 2020-07-02 01:28:06 +00:00
Misty (Bot)
fe908cc022 Latest translations and fallbacks 2020-07-01 09:05:28 +00:00
Renovate Bot
5a713d85df fix(deps): update dependency nodebb-plugin-composer-default to v6.3.46 2020-06-30 16:14:58 -04:00
Julian Lam
6cb31791ff feat: polish for user blocks UX 2020-06-30 15:02:36 -04:00
Barış Soner Uşaklı
eb9704f85e feat: #8450, next/prev link tags on /unread /recent 2020-06-30 11:34:32 -04:00
Renovate Bot
e80100b5b0 chore(deps): update dependency smtp-server to v3.7.0 2020-06-30 08:59:47 -04:00
Misty (Bot)
a1a5424047 Latest translations and fallbacks 2020-06-30 09:05:40 +00:00
renovate[bot]
bbd8504946 fix(deps): update dependency nodebb-plugin-mentions to v2.8.3 (#8449)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-29 23:07:47 -04:00
Andrew Rodrigues
19f9af94ee chore: bump persona 2020-06-29 21:40:12 -04:00
Julian Lam
6931f29d53 feat: allow flagging of user acounts from post tools menu 2020-06-29 19:49:52 -04:00
Renovate Bot
e7ec5550f3 Update dependency nodebb-theme-vanilla to v11.1.32 2020-06-29 17:52:21 -04:00
Renovate Bot
706fc118f2 Update dependency nodebb-theme-persona to v10.1.57 2020-06-29 17:52:10 -04:00
Renovate Bot
05a6f424a5 Update dependency nodebb-theme-vanilla to v11.1.31 2020-06-29 15:42:05 -04:00
Renovate Bot
6bb0070d03 Update dependency nodebb-theme-persona to v10.1.56 2020-06-29 15:29:41 -04:00
Misty (Bot)
1b1e9b6725 Latest translations and fallbacks 2020-06-29 09:06:13 +00:00
Misty (Bot)
e66b526ca0 Latest translations and fallbacks 2020-06-28 09:05:21 +00:00
Barış Soner Uşaklı
fd400a008d fix: don't show in unreplied if score is null 2020-06-27 21:28:23 -04:00
Barış Soner Uşaklı
e09ab3dc19 feat: closes #8440, allow configuring max topic count 2020-06-27 18:11:27 -04:00
Barış Soner Uşaklı
0d0b951380 fix: lint 2020-06-26 18:25:42 -04:00
Barış Soner Uşaklı
37b6b8fd48 fix: upgrade script to unescape navigation titles 2020-06-26 18:08:34 -04:00
Barış Soner Uşaklı
f0ce309d03 fix: test 2020-06-26 15:26:15 -04:00
Barış Soner Uşaklı
2355d9d5dd fix: escape navigation item fields, theme:id, category fields 2020-06-26 15:19:18 -04:00
Renovate Bot
903673d24c Update dependency nodebb-plugin-mentions to v2.8.2 2020-06-26 12:22:41 -04:00
Misty (Bot)
c0857f6390 Latest translations and fallbacks 2020-06-26 09:05:58 +00:00
Julian Lam
5c7d37c0ae Revert "fix(deps): update dependency nodebb-plugin-mentions to v2.8.0"
This reverts commit d40720f9e6.
2020-06-25 22:38:58 -04:00
Renovate Bot
d40720f9e6 fix(deps): update dependency nodebb-plugin-mentions to v2.8.0 2020-06-25 20:42:22 -04:00
Barış Soner Uşaklı
023de94ef8 fix: show controls @julianlam 2020-06-25 17:08:09 -04:00
Misty (Bot)
9b20d0ce20 Latest translations and fallbacks 2020-06-25 09:07:32 +00:00
Barış Soner Uşaklı
e53a18f219 fix: #8437, #8433 2020-06-24 23:04:24 -04:00
Barış Soner Uşaklı
bffb830d87 feat: add missing translation key 2020-06-24 16:20:50 -04:00
Barış Soner Uşaklı
c3c8b19a36 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-24 16:10:51 -04:00
Barış Soner Uşaklı
0d112b3605 refactor: make code climate happier? 2020-06-24 16:10:06 -04:00
renovate[bot]
c1991abe6f fix(deps): update dependency nodebb-plugin-composer-default to v6.3.44 (#8436)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-24 16:04:28 -04:00
Barış Soner Uşaklı
c718b7293e feat: #3783, min/max tags per category 2020-06-24 16:02:57 -04:00
Barış Soner Uşaklı
ed4b5caf2c fix: copy settings showing empty category selection 2020-06-24 16:02:01 -04:00
renovate[bot]
3349274439 chore(deps): update dependency eslint to v7.3.1 (#8417)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-24 15:35:20 -04:00
renovate[bot]
6a8f54fd6b fix(deps): update dependency winston to v3.3.3 (#8431)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-24 15:35:08 -04:00
renovate[bot]
a860a793ef fix(deps): update dependency nodebb-theme-persona to v10.1.55 (#8434)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-24 15:34:59 -04:00
renovate[bot]
272b4992c2 fix(deps): update dependency nodebb-theme-vanilla to v11.1.30 (#8435)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-24 15:34:47 -04:00
Barış Soner Uşaklı
0482fb2998 feat: use tags partial instead of post_bar 2020-06-24 15:31:49 -04:00
Barış Soner Uşaklı
8482a54a68 fix: don't init autocomplete if user doesn't have privs 2020-06-24 10:22:50 -04:00
Barış Soner Uşaklı
00d8ce2663 fix: only allow valid uids 2020-06-23 15:47:10 -04:00
Barış Soner Uşaklı
4f6b6c5631 feat: hide elements if search element is a direct child of dropdown
this fixes themes if they put the search input inside the dropdown
2020-06-23 12:37:12 -04:00
Misty (Bot)
d50f7c7dfa Latest translations and fallbacks 2020-06-23 09:06:09 +00:00
Barış Soner Uşaklı
0ddfb6b088 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-23 00:55:10 -04:00
Barış Soner Uşaklı
6aecc1770c feat: increase wait 2020-06-23 00:54:58 -04:00
renovate[bot]
b5a68a4440 fix(deps): update dependency nodebb-theme-vanilla to v11.1.29 (#8429)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-23 00:49:06 -04:00
renovate[bot]
3ffb6fded3 fix(deps): update dependency nodebb-theme-persona to v10.1.54 (#8428)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-23 00:48:53 -04:00
Barış Soner Uşaklı
f03ca0867b fix: tests 2020-06-23 00:46:59 -04:00
Barış Soner Uşaklı
8383992dcc feat: move export functions into child processes 2020-06-23 00:23:46 -04:00
Renovate Bot
54310d69e4 fix(deps): update dependency winston to v3.3.2 2020-06-22 14:16:42 -04:00
Renovate Bot
569b7664ed chore(deps): update commitlint monorepo to v9 2020-06-22 13:31:24 -04:00
Renovate Bot
11244348ae fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.2 2020-06-22 12:09:14 -04:00
renovate[bot]
fd628570c5 fix(deps): update dependency winston to v3.3.1 (#8421)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-22 12:08:50 -04:00
Barış Soner Uşaklı
48b41debe6 fix: vulnerability in cover and admin uploads (#8419)
* fix: vulnerability in cover and admin uploads

* fix: remove old test

* fix: update tests
2020-06-22 12:08:35 -04:00
Misty (Bot)
76c577fa3c Latest translations and fallbacks 2020-06-21 09:05:12 +00:00
Barış Soner Uşaklı
e80379dc0e feat: display stack trace on winston.error 2020-06-20 23:32:12 -04:00
Misty (Bot)
55f8f99bcd Latest translations and fallbacks 2020-06-20 09:05:21 +00:00
Julian Lam
040e6a9a4c fix: reverse tabnabbing exploit in post images 2020-06-19 13:40:36 -04:00
Barış Soner Uşaklı
af790e3f5e refactor: shorter code 2020-06-19 12:03:33 -04:00
Barış Soner Uşaklı
d1c1cb2cc1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-19 11:51:48 -04:00
Barış Soner Uşaklı
e8f0da6e42 refactor: shorter code 2020-06-19 11:51:41 -04:00
Misty (Bot)
757cfe80be Latest translations and fallbacks 2020-06-19 09:05:58 +00:00
Barış Soner Uşaklı
79a7f89235 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-18 23:24:40 -04:00
Barış Soner Uşaklı
2bcf7f72d2 fix: follower count going out of sync with real follower count 2020-06-18 23:24:03 -04:00
Barış Soner Uşaklı
bef37e27cb fix: test lock for user create (#8415)
* fix: test lock for user create

* fix: redis hdel with undefined

* feat: add test for undefined key in deleteObjectFields
2020-06-18 23:16:48 -04:00
Barış Soner Uşaklı
f0526bff9f fix: add mising timestamp 2020-06-18 15:41:58 -04:00
Barış Soner Uşaklı
a680a95e73 feat: add filter:user.getFields to match topic/posts 2020-06-17 11:46:42 -04:00
Renovate Bot
157e744473 chore(deps): update dependency lint-staged to v10.2.11 2020-06-17 09:22:00 -04:00
Misty (Bot)
f5b3713313 Latest translations and fallbacks 2020-06-17 09:05:42 +00:00
Barış Soner Uşaklı
bfd7eafe5b fix: ban 2020-06-16 22:43:03 -04:00
Barış Soner Uşaklı
b459592a4e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-16 14:58:09 -04:00
Barış Soner Uşaklı
f70d1648c6 feat: show more relevant snippets 2020-06-16 14:58:02 -04:00
Manuel Valle
056f85f864 Topic hooks extension (#8413)
* Update data.js with new hook

Implemented new 'filter:topic.getFields' hook as in posts

* Update data.js

* Update data.js
2020-06-16 13:50:07 -04:00
Julian Lam
4cae893f49 fix(openapi): tests for #8412 2020-06-16 11:58:28 -04:00
Julian Lam
365996e7e6 fix(deps): #8412 bump themes 2020-06-16 11:36:03 -04:00
Julian Lam
35a06a8419 feat: #8412 breadcrumbs for ip-blacklist/post queue/flags 2020-06-16 11:34:44 -04:00
Misty (Bot)
7fe9c1a26d Latest translations and fallbacks 2020-06-16 09:05:31 +00:00
Julian Lam
5a367ecbb4 fix: remove use of 'hidden' class in navbar toggling 2020-06-15 17:35:05 -04:00
Julian Lam
f909ed2541 feat: show editor in post diffs if available 2020-06-15 17:16:44 -04:00
Julian Lam
2515aa77ba fix: bug where category privs page thought it was on admin 2020-06-15 16:33:38 -04:00
Julian Lam
b3115ea813 fix: #8410 2020-06-15 15:43:28 -04:00
Misty (Bot)
cdf81159df Latest translations and fallbacks 2020-06-15 18:42:49 +00:00
Julian Lam
225cac1855 fix(deps): bump persona/vanilla, closes #8408 2020-06-15 14:24:55 -04:00
Julian Lam
d5af976915 feat: #8408 flags' quick assignment 2020-06-15 14:22:59 -04:00
Julian Lam
d5578c9906 fix: tests breaking due to #8406 2020-06-15 14:09:47 -04:00
Barış Soner Uşaklı
42466d3c6e fix: add missing translations 2020-06-15 12:39:10 -04:00
Julian Lam
cb5ba76b08 feat: bump themes, closes #8406 2020-06-15 11:05:28 -04:00
Julian Lam
58b3d608fc feat: allow post diffs to be restored, #8406 2020-06-15 11:03:04 -04:00
Barış Soner Uşaklı
7ed1a0140a fix: #8401, #8237
switch to @nodebb/socket.io-adapter-mongo
2020-06-14 22:49:59 -04:00
Barış Soner Uşaklı
18d892398f fix: add timestamp to initial username history 2020-06-13 13:55:48 -04:00
Misty (Bot)
8f81651e2f Latest translations and fallbacks 2020-06-12 16:20:33 +00:00
renovate[bot]
3c3e1515aa fix(deps): update dependency sharp to v0.25.4 (#8403)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-12 12:16:12 -04:00
renovate[bot]
904463659e fix(deps): update dependency nodebb-theme-vanilla to v11.1.25 (#8405)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-12 12:02:55 -04:00
renovate[bot]
44273a64d0 fix(deps): update dependency nodebb-theme-persona to v10.1.50 (#8404)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-12 12:01:09 -04:00
renovate[bot]
90570660f0 fix(deps): update dependency mongodb to v3.5.9 (#8402)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-12 10:48:48 -04:00
Renovate Bot
102a60040e chore(deps): update dependency lint-staged to v10.2.10 2020-06-12 10:43:22 -04:00
Barış Soner Uşaklı
53a9517d54 fix: crash in export posts if post content is undefined 2020-06-12 10:29:07 -04:00
Renovate Bot
78b7382c3f fix(deps): update dependency nodebb-plugin-composer-default to v6.3.43 2020-06-11 17:57:27 -04:00
renovate[bot]
f4bace03d4 chore(deps): update dependency mocha to v8 (#8393)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-11 17:23:12 -04:00
renovate[bot]
2ae68f9bda fix(deps): update dependency validator to v13.1.1 (#8397)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-11 17:20:46 -04:00
Barış Soner Uşaklı
3a80a1651a feat: add missing translation 2020-06-11 12:52:25 -04:00
Barış Soner Uşaklı
0041c02465 fix: messaging unread
dont mark chat room unread and then read right away for the user sending the message
2020-06-10 20:49:41 -04:00
Barış Soner Uşaklı
96cb94dcc6 feat: up composer 2020-06-10 17:14:12 -04:00
renovate[bot]
ad6e3634a5 fix(deps): update dependency validator to v13.1.0 (#8391)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-10 17:10:42 -04:00
renovate[bot]
eec03de81e fix(deps): update dependency nodebb-theme-vanilla to v11.1.24 (#8395)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-10 17:10:24 -04:00
renovate[bot]
908467400d fix(deps): update dependency nodebb-theme-persona to v10.1.49 (#8394)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-10 17:10:13 -04:00
Barış Soner Uşaklı
6349fa03e1 feat: more search changes 2020-06-10 16:56:05 -04:00
Barış Soner Uşaklı
4b38533b15 feat: more merge/search fixes 2020-06-10 15:11:57 -04:00
Barış Soner Uşaklı
066b442e18 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-10 12:48:45 -04:00
Barış Soner Uşaklı
bb3aa54006 feat: merge changes
allow selecting main topic to merge into
allow specifying a new title for merge topic
upon merge go to correct topic
new tests for merging with options
2020-06-10 12:48:32 -04:00
Barış Soner Uşaklı
a024cc1344 fix: whitespace 2020-06-10 09:44:03 -04:00
Barış Soner Uşaklı
0595e71078 fix: typo 2020-06-10 09:29:56 -04:00
Barış Soner Uşaklı
89b010249d fix: #8392, clear group member cache when group is renamed 2020-06-10 08:48:42 -04:00
Barış Soner Uşaklı
8591f5d2cc fix: return false 2020-06-10 08:02:07 -04:00
Barış Soner Uşaklı
5fd05dc942 feat: more search & merge fixes 2020-06-09 16:49:56 -04:00
Barış Soner Uşaklı
c4bdeae06e feat: merge improvements wip 2020-06-09 15:26:41 -04:00
Renovate Bot
87ce31d1f5 fix(deps): update dependency postcss to v7.0.32 2020-06-09 11:47:38 -04:00
Renovate Bot
cd1375cbd5 chore(deps): update dependency eslint to v7.2.0 2020-06-09 11:47:27 -04:00
Renovate Bot
dde830db9a fix(deps): update dependency nodebb-plugin-composer-default to v6.3.41 2020-06-09 11:47:11 -04:00
Barış Soner Uşaklı
a255c8f6fd fix: language 2020-06-09 11:44:04 -04:00
renovate[bot]
cf0f8f64a9 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.40 (#8388)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-09 11:00:10 -04:00
Barış Soner Uşaklı
8627bee541 fix: #8386, use backgroundImage everywhere 2020-06-09 10:39:55 -04:00
Julian Lam
6a96944247 fix(openapi): api change for #8387 2020-06-09 10:25:19 -04:00
Julian Lam
e97a2b71fe fix(deps): bump themes, closes #8387 2020-06-09 10:09:03 -04:00
Julian Lam
4acb3fb210 feat: #8387 expose global and admin privs to flags detail page 2020-06-09 10:06:37 -04:00
Misty (Bot)
2287963388 chore: latest translations and fallbacks 2020-06-08 21:22:20 +00:00
Barış Soner Uşaklı
3be4d5f7d5 feat: redirect /me to user profile 2020-06-08 15:37:20 -04:00
Barış Soner Uşaklı
d92032dad1 fix: prevent logout form from submitting 2020-06-08 15:09:11 -04:00
Julian Lam
ccac6a3568 fix(deps): bump themes 2020-06-08 14:22:34 -04:00
Julian Lam
daeceb45bd fix: missing space in ACP menu dropdown 2020-06-08 13:48:05 -04:00
Julian Lam
4d60eac60f feat: #8384 options to delete account, content, or both 2020-06-08 13:42:28 -04:00
Julian Lam
942cc4b132 fix: #8385 2020-06-08 13:42:28 -04:00
renovate[bot]
036e6ef51b fix(deps): update dependency nodebb-theme-persona to v10.1.46 (#8382)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-08 10:33:50 -04:00
renovate[bot]
7caeb27310 fix(deps): update dependency nodebb-theme-vanilla to v11.1.21 (#8383)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-08 10:33:34 -04:00
Julian Lam
67aca822e6 feat: account content deletion, closes #8381 2020-06-08 08:43:31 -04:00
Renovate Bot
4b577a527a chore(deps): update dependency eslint-plugin-import to v2.21.1 2020-06-08 07:00:14 -04:00
Renovate Bot
aeefc60beb fix(deps): update dependency nodebb-plugin-composer-default to v6.3.39 2020-06-07 17:16:13 -04:00
Julian Lam
656b391fc5 feat: add missing language files for #8347 2020-06-07 14:37:39 -04:00
Julian Lam
9ae7fd3edb fix: acp language keys from #8347 not updated in tx config 2020-06-07 14:24:55 -04:00
Misty (Bot)
8019d316e2 Latest translations and fallbacks 2020-06-06 09:28:28 +00:00
Barış Soner Uşaklı
50703db879 fix: #8363, dont break history 2020-06-05 18:24:11 -04:00
Barış Soner Uşaklı
0c265a41d4 fix: #8363, go to hash when entering topic 2020-06-05 17:56:31 -04:00
Julian Lam
a82e9bd7f6 feat: privileges for Admin Control Panel (#8355)
* feat: acp privileges (WIP)

* fix: restore global privilege hooks

* refactor: using cid 0 in admin privs

* fix: no need for zebrastripe-reset

* feat: manage:categories privilege WIP

* feat: renamed prefix to admin:, settigns and dashboard privs

* fix: nofocus on acp privs group find modal

* refactor: privileges.x.get() to not used hardcoded privs

* fix: crash if unable to get latest version

* feat: setting acp priv

* Revert "fix: crash if unable to get latest version"

This reverts commit afdb235f48.

* feat: user/privilege acp privs

* fix: category selector in manage/privileges

* fix: guests potentially becoming admins

* fix: bug in setting admin privs

* fix: some last minute things + api docs

* fix: some more last minute fixes
2020-06-05 15:26:51 -04:00
Renovate Bot
7f6ff0b1a5 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.37 2020-06-05 15:18:51 -04:00
Renovate Bot
6b2ea07745 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.36 2020-06-05 13:36:20 -04:00
Barış Soner Uşaklı
30cc83c033 fix: #8374, revert event delete 2020-06-05 12:56:20 -04:00
Julian Lam
09184f4027 fix: new language tag for select_tags 2020-06-05 12:35:53 -04:00
Barış Soner Uşaklı
fd6bf0c927 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-05 11:31:47 -04:00
Renovate Bot
2d582df74f fix(deps): update dependency nodebb-plugin-composer-default to v6.3.35 2020-06-05 11:10:14 -04:00
Julian Lam
260a482caa fix: remove duplicate link to manage/tags in settings/tags 2020-06-05 10:27:07 -04:00
Misty (Bot)
73055bfccc Latest translations and fallbacks 2020-06-05 09:29:55 +00:00
renovate[bot]
124125f7dd chore(deps): update dependency lint-staged to v10.2.9 (#8369)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-04 22:43:04 -04:00
Barış Soner Uşaklı
3a078f59ec fix: tests 2020-06-04 22:06:03 -04:00
renovate[bot]
771ea194b3 fix(deps): update dependency nodebb-theme-persona to v10.1.45 (#8372)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-04 21:49:18 -04:00
renovate[bot]
f8ee981bee fix(deps): update dependency nodebb-theme-vanilla to v11.1.20 (#8373)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-04 21:49:07 -04:00
renovate[bot]
d2463bb454 fix(deps): update dependency socket.io-redis to v5.3.0 (#8370)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-04 21:47:36 -04:00
Barış Soner Uşaklı
1b5d5425b4 fix: handle search tag permission as well 2020-06-04 21:42:38 -04:00
Barış Soner Uşaklı
2100a03c1a refactor: change name to privileges to match other apis 2020-06-04 21:31:02 -04:00
cryptoethic
f6b92d241a fix: checking correct permissions for user search (#8371)
* fix: checking correct permissions for user search

* fix: missing permissions porperty in openapi /api/search
2020-06-04 21:27:43 -04:00
Barış Soner Uşaklı
c1d8b9bb5a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-06-04 14:12:12 -04:00
Barış Soner Uşaklı
7786187e84 fix: change event name so it doesnt trigger complete event
add data to complete event
2020-06-04 14:12:04 -04:00
Misty (Bot)
5dc8982da3 Latest translations and fallbacks 2020-06-04 09:30:15 +00:00
Barış Soner Uşaklı
842b8abb84 feat: add buildHeaderAsync (#8367)
* feat: add buildHeaderAsync

make helphers.notAllowed async

* fix: remove csrf from buildHeader

* fix: remove unused method, use middleware

* fix: /post/pid redirect doesn't need buildHeader

use buildHeaderAsync
2020-06-04 01:14:46 -04:00
Barış Soner Uşaklı
dcb85ee7a1 #8344 (#8346)
* feat: wip

* feat: wrap middlewares

* feat: middleware errors

* feat: more middleware changes

* fix: remove unused async

* fix: prevent version errors from blocking acp render

* feat: wrap more middlewares
2020-06-03 20:18:42 -04:00
Julian Lam
023942da7d refactor: making rendering of header and footer async functions
* refactor: make middleware.admin.renderHeader async

* refactor: making rendering of header and footer async functions

* fix: use app.renderAsync instead of promifying it
2020-06-03 19:07:08 -04:00
Renovate Bot
f6ad9605c6 fix(deps): update dependency nodebb-theme-vanilla to v11.1.19 2020-06-03 11:56:20 -04:00
Renovate Bot
cb28e6cfd1 fix(deps): update dependency nodebb-theme-persona to v10.1.44 2020-06-03 11:55:23 -04:00
Julian Lam
8ea1634824 feat: #8360 flag quick actions for delete/restore/purge 2020-06-03 11:49:25 -04:00
Julian Lam
6b1d1acb48 fix(style): more switch..case 2020-06-03 11:46:57 -04:00
Renovate Bot
331b1a85bb chore(deps): update dependency lint-staged to v10.2.8 2020-06-03 11:36:52 -04:00
Julian Lam
922d49be0b fix(style): switch..case 2020-06-03 11:26:08 -04:00
renovate[bot]
d7ab0894d4 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.34 (#8357)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-02 16:23:52 -04:00
Julian Lam
d135b6f763 fix(style): enforcing "better" indentation for switch..case 2020-06-02 14:23:38 -04:00
Barış Soner Uşaklı
75b3a81dad fix: clear error log before checking
fix intermittent test failure due to analytics being written every 10 seconds
2020-06-01 23:00:26 -04:00
Barış Soner Uşaklı
5a2b515431 feat: #8349, remove user posts from queue if user is deleted 2020-06-01 22:29:56 -04:00
Barış Soner Uşaklı
e603ebc0c6 fix: #8323, let admins send validation emails without timeout 2020-06-01 21:54:47 -04:00
Peter Jaszkowiak
de7ec47f13 fix: #8352, remove webfonts (#8354) 2020-06-01 11:06:23 -04:00
Misty (Bot)
b31482092d Latest translations and fallbacks 2020-06-01 09:29:58 +00:00
Julian Lam
da90fd562e fix: more tests 2020-05-31 21:22:07 -04:00
Julian Lam
98dffa3af8 fix: tests due to 0633ad327 2020-05-31 21:09:19 -04:00
Misty (Bot)
bad23159d2 Latest translations and fallbacks 2020-05-31 09:29:35 +00:00
Barış Soner Uşaklı
2c9e865763 fix: retry failed setObject calls 2020-05-30 15:49:34 -04:00
Misty (Bot)
d7b2f163f2 Latest translations and fallbacks 2020-05-30 09:28:34 +00:00
Julian Lam
0633ad3277 fix: acp menu items
- Shuffled items in settings
- Moved post-queue and ip-blacklist to front-end
- Removed Settings > Sockets, merged with Settings > Advanced
2020-05-29 16:42:09 -04:00
Julian Lam
a83f4259e8 fix: re-jigged tags acp pages 2020-05-29 15:28:34 -04:00
Renovate Bot
c40471793f fix(deps): update dependency nodebb-plugin-composer-default to v6.3.33 2020-05-29 11:57:56 -04:00
Julian Lam
a51fff8bd1 refactor: remove general menu from ACP (#8347)
* refactor: remove general menu from ACP

* fix: incorrect translation keys, fixed tests
2020-05-29 09:59:22 -04:00
Renovate Bot
d1df08269f chore(deps): update dependency lint-staged to v10.2.7 2020-05-29 09:55:33 -04:00
Renovate Bot
27ab36ac84 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.1 2020-05-28 16:42:27 -04:00
renovate[bot]
dabff9728f fix(deps): update dependency nodebb-theme-persona to v10.1.43 (#8343)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-28 15:31:23 -04:00
renovate[bot]
8224127fcf fix(deps): update dependency mongodb to v3.5.8 (#8342)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-28 09:21:16 -04:00
Misty (Bot)
3338c3112e Latest translations and fallbacks 2020-05-28 09:31:32 +00:00
Barış Soner Uşaklı
5b009e0712 feat: up plugins 2020-05-27 22:22:10 -04:00
Barış Soner Uşaklı
9ffcb6f7ba feat: add results into results container 2020-05-27 21:38:49 -04:00
Barış Soner Uşaklı
f12d448ef5 feat: quick search changes 2020-05-27 20:58:54 -04:00
Barış Soner Uşaklı
bb1a56f0fe feat: move quick search into search module
so it can be used directly
2020-05-27 14:37:34 -04:00
Barış Soner Uşaklı
47d73a2ab4 fix: move checks into timeout 2020-05-27 13:25:30 -04:00
Barış Soner Uşaklı
a9315aee7d fix: #8339, add missing translation 2020-05-27 13:10:33 -04:00
Barış Soner Uşaklı
84c20f919b fix: don't explode if server sends checkSession 2020-05-27 13:07:51 -04:00
Barış Soner Uşaklı
5781a2dc65 feat: fix session mismatch errors by clearing cookie on logout (#8338)
* feat: fix session mismatch errors by clearing cookie on logout

* feat: remove app.upateHeader

ported from 2.0

* feat: handle if user doesn't click button and just refreshes page
2020-05-27 12:15:02 -04:00
Misty (Bot)
938c232377 Latest translations and fallbacks 2020-05-27 09:31:05 +00:00
Julian Lam
f0e59c149d fix: eliminate unnecessary try..catch 2020-05-27 00:13:00 -04:00
Julian Lam
a66fe01377 fix: test breakages from 8d995d1eb6 2020-05-27 00:11:53 -04:00
Barış Soner Uşaklı
7d484fc0ad refactor: use getSortedSetMembers 2020-05-26 22:56:54 -04:00
Barış Soner Uşaklı
0009f54e6e feat: add getSortedSetMembers 2020-05-26 22:55:28 -04:00
Barış Soner Uşaklı
2727f472ed feat: add the data from page into filter:middleware.renderHeader 2020-05-26 22:08:54 -04:00
Barış Soner Uşaklı
ec5582b53c feat: add privilege give/rescind hooks (#8336)
* feat: add privilege give/rescind hooks

action:privileges.categories.give/rescind
action:privileges.global.give/rescind

breaking change, privileges.categories.give/rescind and privileges.global.give/rescind use full privilege name for groups ie `groups:find` instead of `find`

* fix: tests, privileges renamed
2020-05-26 21:57:38 -04:00
Julian Lam
a0e243eea1 fix(openapi): schema for new flags api 2020-05-26 21:17:42 -04:00
Julian Lam
cf00cda07c refactor: src/flags.js because codeclimate 2020-05-26 20:40:55 -04:00
Julian Lam
8d995d1eb6 refactor: flags detail page
- Show account moderation history
- Ban and delete quick actions

Squashed commit of the following:

commit 0e782e65f4d48ae814708e510ec9d01bcdd914e0
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:24:53 2020 -0400

    fix(deps): use persona 10.1.41/vanilla 11.1.17

commit 369e073d3c3189d8ce181eb3d573489cbe54d4fc
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:23:24 2020 -0400

    fix: allow ban and delete exported methods to have cbs

commit b83a086ea31a77ec82d161306c0b9bc115cb2a3a
Merge: 525aae1ea 256ee45d3
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:54:25 2020 -0400

    Merge remote-tracking branch 'origin/master' into flags-improvements

commit 525aae1ea2e5d0103028a0f0c8dde05f172d088e
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:53:39 2020 -0400

    feat: integrate ban history and username changes to flag history list

commit 3e68ad28ba266f4c8620a676aa7f463f0a9d1df7
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:53 2020 -0400

    feat: allow ban and deletion from flag details page

commit a559ea1d8e8883385c2876868d855a0b93516c54
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:00 2020 -0400

    feat: export banAccount and deleteAccount methods from accounts module
2020-05-26 20:27:16 -04:00
Ali Cihan
256ee45d37 typo (#8334) 2020-05-26 08:09:42 -04:00
Misty (Bot)
d2edf0c371 Latest translations and fallbacks 2020-05-26 09:31:25 +00:00
renovate[bot]
a20af6e21e fix(deps): update dependency nodebb-theme-persona to v10.1.40 (#8332)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-25 22:45:07 -04:00
Barış Soner Uşaklı
f3afba6156 feat: filter followed tids by category 2020-05-25 21:14:49 -04:00
Barış Soner Uşaklı
1b9e8928eb feat: use getSortedSetsMembers to load followed tids 2020-05-25 16:59:53 -04:00
Renovate Bot
ecaa9b76f3 chore(deps): update dependency mocha to v7.2.0 2020-05-24 14:52:45 -04:00
Renovate Bot
e62d892af6 chore(deps): update dependency eslint to v7.1.0 2020-05-24 14:52:33 -04:00
Misty (Bot)
31edcdee7d Latest translations and fallbacks 2020-05-24 09:28:49 +00:00
Misty (Bot)
8eb89156fb Latest translations and fallbacks 2020-05-23 09:28:47 +00:00
Barış Soner Uşaklı
a015af4a41 feat: add batch size to cursors 2020-05-22 20:25:26 -04:00
Barış Soner Uşaklı
0a31e3e6b0 fix: #8320, dont load moderators separately for each category 2020-05-22 15:03:51 -04:00
Barış Soner Uşaklı
11bb6abb51 fix: show stack trace on startup errors 2020-05-22 15:02:23 -04:00
Barış Soner Uşaklı
9600ede579 feat: up cache size 2020-05-22 13:06:21 -04:00
Barış Soner Uşaklı
d6c2764fe7 fix: don't trigger quick search if val doesn't change 2020-05-22 12:00:05 -04:00
Barış Soner Uşaklı
69a8793306 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-05-22 11:19:20 -04:00
Barış Soner Uşaklı
6f78113ee3 fix: prevent duplicate search triggers
if app.handleSearch is called from a plugin in action:ajaxify.end events are fired multiple time
2020-05-22 11:18:16 -04:00
Renovate Bot
78d562b3a0 chore(deps): update dependency lint-staged to v10.2.6 2020-05-22 11:12:35 -04:00
Renovate Bot
cc206b4d9c fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.0 2020-05-22 11:12:11 -04:00
Barış Soner Uşaklı
7f24200c73 feat: add folder to filter:uploadImage and filter:uploadFile 2020-05-22 10:00:24 -04:00
Misty (Bot)
478c8dd72b Latest translations and fallbacks 2020-05-22 09:29:35 +00:00
Barış Soner Uşaklı
3ec05eeaf8 fix: user faster method if sorting by smallest set 2020-05-21 22:57:48 -04:00
Barış Soner Uşaklı
3b6d57e497 refactor: move code 2020-05-21 22:20:01 -04:00
Barış Soner Uşaklı
4ee3543ea4 feat: tweak intersection code, add tests 2020-05-21 22:12:58 -04:00
Julian Lam
6f504c4142 Remove allowFileUploads ACP option (#8324)
* feat: allow awaitable upgrade scripts

* feat: allowFileUploads removal upgrade script

* refactor: remove unnecessary ACP option `allowFileUploads`

* fix: updated upgrade script template to not use callback arg

* fix: upgrade script as per @baris

* fix: add missing await

* fix: add missing await
2020-05-21 16:06:35 -04:00
Julian Lam
01bff2ae05 fix: add txt to list of default allowed file extensions 2020-05-21 15:44:49 -04:00
Julian Lam
827d42a931 fix(deps): bump composer-default 2020-05-21 15:33:31 -04:00
Barış Soner Uşaklı
ada45a34d5 fix: search post snipets incase content is plain text 2020-05-21 14:14:37 -04:00
Barış Soner Uşaklı
e5228179c1 Mongo intersection (#8322)
* feat: intersection without aggregation

* feat: intersection

* feat: remove debug code
2020-05-20 19:13:47 -04:00
Renovate Bot
a26011e756 chore(deps): update dependency lint-staged to v10.2.4 2020-05-20 15:10:19 -04:00
Barış Soner Uşaklı
d484731d8c fix: derp includes 2020-05-20 12:58:14 -04:00
Barış Soner Uşaklı
6108064ea8 feat: change to contains to match scoped modules
replace recursive function with loop
2020-05-20 12:43:20 -04:00
Julian Lam
e327d1247e Revert "fix: #8142 invalid session warning if server-side session destroyed"
This reverts commit 526b3cd9ec.
2020-05-20 11:27:13 -04:00
Barış Soner Uşaklı
f2907908c9 fix: another test fix 2020-05-20 09:08:27 -04:00
Barış Soner Uşaklı
feb748a44d fix: tests 2020-05-20 08:55:07 -04:00
Julian Lam
a665881b35 fix(deps): bump composer-default 2020-05-19 22:17:08 -04:00
Barış Soner Uşaklı
cb662e15ce feat: improve grunt restart/rebuild speed 2020-05-19 21:15:51 -04:00
Barış Soner Uşaklı
2a00b0e973 fix: utils.params({url: ''}) 2020-05-19 17:42:44 -04:00
Renovate Bot
bf8a2c2e9e fix(deps): update dependency nodebb-plugin-composer-default to v6.3.29 2020-05-19 14:45:15 -04:00
Barış Soner Uşaklı
4263efa091 feat: don't overwrite req.query.lang if it exists 2020-05-19 14:18:07 -04:00
Misty (Bot)
2203398efc Latest translations and fallbacks 2020-05-19 09:29:49 +00:00
Barış Soner Uşaklı
12c6bc2e07 feat: convert queries so they used indices directly 2020-05-19 00:22:54 -04:00
renovate[bot]
a532e2bb83 fix(deps): update dependency postcss to v7.0.30 (#8288)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-18 09:52:01 -04:00
Julian Lam
ae2db423ee feat: cookie SameSite property
More information:
https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00#section-4.1.1
https://web.dev/samesite-cookies-explained/
2020-05-17 14:56:47 -04:00
Renovate Bot
0437ecc2ea fix(deps): update dependency sharp to v0.25.3 2020-05-17 14:28:21 -04:00
Barış Soner Uşaklı
7a801abade fix: tests on redis 2020-05-16 22:49:34 -04:00
Barış Soner Uşaklı
8bf980cb63 fix: tests, handle no sessions 2020-05-16 22:17:20 -04:00
Barış Soner Uşaklı
a0d76ff0a6 fix: #8318, clean expired sessions on login and get 2020-05-16 20:20:47 -04:00
Barış Soner Uşaklı
2587112f9d feat: if only one value is passed used faster function 2020-05-16 09:36:17 -04:00
Misty (Bot)
981db6429a Latest translations and fallbacks 2020-05-16 09:27:39 +00:00
Barış Soner Uşaklı
a032e12b7e fix: tests 2020-05-16 00:25:44 -04:00
Barış Soner Uşaklı
81e33b9391 fix: #8317 2020-05-15 22:10:50 -04:00
Julian Lam
526b3cd9ec fix: #8142 invalid session warning if server-side session destroyed
Resolved regression caused by 5a0c7c1497
2020-05-15 16:41:35 -04:00
Barış Soner Uşaklı
5fd81c5c04 fix: check privileges before exporting post/topic data 2020-05-15 15:44:39 -04:00
Barış Soner Uşaklı
f0323b6cfa feat: closes #8316, add more data to export profile 2020-05-15 15:29:28 -04:00
Barış Soner Uşaklı
1d3fa3bc4e feat: throw error if uid is missing for update 2020-05-15 15:23:01 -04:00
Barış Soner Uşaklı
dfae664e29 fix: exporting posts 2020-05-15 10:59:38 -04:00
Barış Soner Uşaklı
bdda022238 fix: undefined uid when downloading posts 2020-05-15 10:52:04 -04:00
Misty (Bot)
5e3760d276 Latest translations and fallbacks 2020-05-15 09:33:38 +00:00
Barış Soner Uşaklı
a219285e10 feat: ignore mongodb playground file 2020-05-14 23:10:36 -04:00
Barış Soner Uşaklı
40b5cbab2c refactor: remove console.log 2020-05-14 16:19:50 -04:00
Barış Soner Uşaklı
765b8156d5 feat: parse quick search tpl even if no results
allows showing "no results found" in theme
2020-05-14 16:19:32 -04:00
Misty (Bot)
83b5a20c7c Latest translations and fallbacks 2020-05-14 09:31:51 +00:00
Julian Lam
45dfeeb033 fix(openapi): broken tests 2020-05-13 12:45:18 -04:00
Barış Soner Uşaklı
1ba6929cb3 fix: #8311, fix allowUserHomePage value
was always sending 1 even if allowUserHomePage was disabled in acp
2020-05-13 12:35:58 -04:00
Barış Soner Uşaklı
0e58fa33eb feat: match hook property to topic property 2020-05-13 12:18:30 -04:00
Barış Soner Uşaklı
bfad457275 feat: add methods for adding/removing tags from topics 2020-05-12 23:00:45 -04:00
Barış Soner Uşaklı
e20ad5c56e fix: dont crash if topic is null 2020-05-12 22:42:55 -04:00
Barış Soner Uşaklı
1f992cf371 fix: if category in selector has url use it 2020-05-12 15:00:39 -04:00
Barış Soner Uşaklı
c47a1c4df4 fix: convert cids to string for comparison 2020-05-12 14:57:37 -04:00
Barış Soner Uşaklı
97c086aba9 fix: missing await 2020-05-12 12:18:30 -04:00
Renovate Bot
28df9abadd chore(deps): update dependency eslint to v7 2020-05-12 12:05:42 -04:00
Julian Lam
aa4ae78b63 fix(docs): added titles to all routes 2020-05-11 20:33:22 -04:00
Julian Lam
9fd5c439b2 feat: write-api update, WIP 2020-05-11 20:33:22 -04:00
Barış Soner Uşaklı
4e14cb5767 fix: add missing schema item 2020-05-11 14:20:03 -04:00
renovate[bot]
f246057a73 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.28 (#8309)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-11 11:48:52 -04:00
Barış Soner Uşaklı
337be368eb fix: category selector disabled categories 2020-05-11 09:25:28 -04:00
Misty (Bot)
928a94426b Latest translations and fallbacks 2020-05-11 09:30:43 +00:00
Barış Soner Uşaklı
a73c755b05 feat: closes #8308, edit post notif for watched topic posts 2020-05-10 22:21:32 -04:00
renovate[bot]
6d57d8446a fix(deps): update dependency nodebb-plugin-composer-default to v6.3.27 (#8307)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-09 15:18:13 -04:00
Barış Soner Uşaklı
edf9fe3b7f feat: add null tests for sorted sets 2020-05-09 10:38:56 -04:00
Barış Soner Uşaklı
8c8cdc9946 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-05-09 09:19:02 -04:00
Barış Soner Uşaklı
6a5e86dc66 fix: #8305, don't use null values 2020-05-09 09:18:31 -04:00
Misty (Bot)
b4494cb876 Latest translations and fallbacks 2020-05-09 09:28:11 +00:00
Barış Soner Uşaklı
aad0880f7c feat: add filter:categories.getRecentTopicReplies
pass req.query to getRecentTopicReplies
2020-05-08 22:36:16 -04:00
Barış Soner Uşaklı
7e42988489 refactor: shorter function 2020-05-08 20:27:04 -04:00
Opliko
c4545381d7 feat: Add hooks for user blocks (#8296)
* Add hooks for user blocks

* change naming

* Fix the filter...

fixes #8109
2020-05-08 14:42:02 -04:00
Julian Lam
87c1687d17 feat(docs): updated changelog 2020-05-08 11:02:09 -04:00
1706 changed files with 20517 additions and 8197 deletions

View File

@@ -24,7 +24,7 @@
"consistent-return": "off",
"func-names": "off",
"no-tabs": "off",
"indent": ["error", "tab"],
"indent": ["error", "tab", { "SwitchCase": 1 }],
"no-eq-null": "off",
"camelcase": "off",
"no-new": "off",

2
.gitignore vendored
View File

@@ -67,3 +67,5 @@ test/files/normalise.jpg.png
test/files/normalise-resized.jpg
package-lock.json
/package.json
*.mongodb
link-plugins.sh

View File

@@ -39,6 +39,7 @@ addons:
- g++-4.8
- mongodb-org-server
node_js:
- "14"
- "12"
- "10"
branches:

View File

@@ -1850,304 +1850,304 @@ trans.zh_CN = public/language/zh-CN/admin/extend/widgets.json
trans.zh_TW = public/language/zh-TW/admin/extend/widgets.json
type = KEYVALUEJSON
[nodebb.admin-general-dashboard]
file_filter = public/language/<lang>/admin/general/dashboard.json
source_file = public/language/en-GB/admin/general/dashboard.json
[nodebb.admin-dashboard]
file_filter = public/language/<lang>/admin/dashboard.json
source_file = public/language/en-GB/admin/dashboard.json
source_lang = en_GB
trans.ar = public/language/ar/admin/general/dashboard.json
trans.bg = public/language/bg/admin/general/dashboard.json
trans.bn = public/language/bn/admin/general/dashboard.json
trans.cs = public/language/cs/admin/general/dashboard.json
trans.da = public/language/da/admin/general/dashboard.json
trans.de = public/language/de/admin/general/dashboard.json
trans.el = public/language/el/admin/general/dashboard.json
trans.en@pirate = public/language/en-x-pirate/admin/general/dashboard.json
trans.en_US = public/language/en-US/admin/general/dashboard.json
trans.es = public/language/es/admin/general/dashboard.json
trans.et = public/language/et/admin/general/dashboard.json
trans.fa_IR = public/language/fa-IR/admin/general/dashboard.json
trans.fi = public/language/fi/admin/general/dashboard.json
trans.fr = public/language/fr/admin/general/dashboard.json
trans.gl = public/language/gl/admin/general/dashboard.json
trans.he = public/language/he/admin/general/dashboard.json
trans.hr = public/language/hr/admin/general/dashboard.json
trans.hu = public/language/hu/admin/general/dashboard.json
trans.id = public/language/id/admin/general/dashboard.json
trans.it = public/language/it/admin/general/dashboard.json
trans.ja = public/language/ja/admin/general/dashboard.json
trans.ko = public/language/ko/admin/general/dashboard.json
trans.lt = public/language/lt/admin/general/dashboard.json
trans.lv = public/language/lv/admin/general/dashboard.json
trans.ms = public/language/ms/admin/general/dashboard.json
trans.nb = public/language/nb/admin/general/dashboard.json
trans.nl = public/language/nl/admin/general/dashboard.json
trans.pl = public/language/pl/admin/general/dashboard.json
trans.pt_BR = public/language/pt-BR/admin/general/dashboard.json
trans.pt_PT = public/language/pt-PT/admin/general/dashboard.json
trans.ro = public/language/ro/admin/general/dashboard.json
trans.ru = public/language/ru/admin/general/dashboard.json
trans.rw = public/language/rw/admin/general/dashboard.json
trans.sc = public/language/sc/admin/general/dashboard.json
trans.sk = public/language/sk/admin/general/dashboard.json
trans.sl = public/language/sl/admin/general/dashboard.json
trans.sr = public/language/sr/admin/general/dashboard.json
trans.sv = public/language/sv/admin/general/dashboard.json
trans.th = public/language/th/admin/general/dashboard.json
trans.tr = public/language/tr/admin/general/dashboard.json
trans.uk = public/language/uk/admin/general/dashboard.json
trans.vi = public/language/vi/admin/general/dashboard.json
trans.zh_CN = public/language/zh-CN/admin/general/dashboard.json
trans.zh_TW = public/language/zh-TW/admin/general/dashboard.json
trans.ar = public/language/ar/admin/dashboard.json
trans.bg = public/language/bg/admin/dashboard.json
trans.bn = public/language/bn/admin/dashboard.json
trans.cs = public/language/cs/admin/dashboard.json
trans.da = public/language/da/admin/dashboard.json
trans.de = public/language/de/admin/dashboard.json
trans.el = public/language/el/admin/dashboard.json
trans.en@pirate = public/language/en-x-pirate/admin/dashboard.json
trans.en_US = public/language/en-US/admin/dashboard.json
trans.es = public/language/es/admin/dashboard.json
trans.et = public/language/et/admin/dashboard.json
trans.fa_IR = public/language/fa-IR/admin/dashboard.json
trans.fi = public/language/fi/admin/dashboard.json
trans.fr = public/language/fr/admin/dashboard.json
trans.gl = public/language/gl/admin/dashboard.json
trans.he = public/language/he/admin/dashboard.json
trans.hr = public/language/hr/admin/dashboard.json
trans.hu = public/language/hu/admin/dashboard.json
trans.id = public/language/id/admin/dashboard.json
trans.it = public/language/it/admin/dashboard.json
trans.ja = public/language/ja/admin/dashboard.json
trans.ko = public/language/ko/admin/dashboard.json
trans.lt = public/language/lt/admin/dashboard.json
trans.lv = public/language/lv/admin/dashboard.json
trans.ms = public/language/ms/admin/dashboard.json
trans.nb = public/language/nb/admin/dashboard.json
trans.nl = public/language/nl/admin/dashboard.json
trans.pl = public/language/pl/admin/dashboard.json
trans.pt_BR = public/language/pt-BR/admin/dashboard.json
trans.pt_PT = public/language/pt-PT/admin/dashboard.json
trans.ro = public/language/ro/admin/dashboard.json
trans.ru = public/language/ru/admin/dashboard.json
trans.rw = public/language/rw/admin/dashboard.json
trans.sc = public/language/sc/admin/dashboard.json
trans.sk = public/language/sk/admin/dashboard.json
trans.sl = public/language/sl/admin/dashboard.json
trans.sr = public/language/sr/admin/dashboard.json
trans.sv = public/language/sv/admin/dashboard.json
trans.th = public/language/th/admin/dashboard.json
trans.tr = public/language/tr/admin/dashboard.json
trans.uk = public/language/uk/admin/dashboard.json
trans.vi = public/language/vi/admin/dashboard.json
trans.zh_CN = public/language/zh-CN/admin/dashboard.json
trans.zh_TW = public/language/zh-TW/admin/dashboard.json
type = KEYVALUEJSON
[nodebb.admin-general-homepage]
file_filter = public/language/<lang>/admin/general/homepage.json
source_file = public/language/en-GB/admin/general/homepage.json
[nodebb.admin-settings-homepage]
file_filter = public/language/<lang>/admin/settings/homepage.json
source_file = public/language/en-GB/admin/settings/homepage.json
source_lang = en_GB
trans.ar = public/language/ar/admin/general/homepage.json
trans.bg = public/language/bg/admin/general/homepage.json
trans.bn = public/language/bn/admin/general/homepage.json
trans.cs = public/language/cs/admin/general/homepage.json
trans.da = public/language/da/admin/general/homepage.json
trans.de = public/language/de/admin/general/homepage.json
trans.el = public/language/el/admin/general/homepage.json
trans.en@pirate = public/language/en-x-pirate/admin/general/homepage.json
trans.en_US = public/language/en-US/admin/general/homepage.json
trans.es = public/language/es/admin/general/homepage.json
trans.et = public/language/et/admin/general/homepage.json
trans.fa_IR = public/language/fa-IR/admin/general/homepage.json
trans.fi = public/language/fi/admin/general/homepage.json
trans.fr = public/language/fr/admin/general/homepage.json
trans.gl = public/language/gl/admin/general/homepage.json
trans.he = public/language/he/admin/general/homepage.json
trans.hr = public/language/hr/admin/general/homepage.json
trans.hu = public/language/hu/admin/general/homepage.json
trans.id = public/language/id/admin/general/homepage.json
trans.it = public/language/it/admin/general/homepage.json
trans.ja = public/language/ja/admin/general/homepage.json
trans.ko = public/language/ko/admin/general/homepage.json
trans.lt = public/language/lt/admin/general/homepage.json
trans.lv = public/language/lv/admin/general/homepage.json
trans.ms = public/language/ms/admin/general/homepage.json
trans.nb = public/language/nb/admin/general/homepage.json
trans.nl = public/language/nl/admin/general/homepage.json
trans.pl = public/language/pl/admin/general/homepage.json
trans.pt_BR = public/language/pt-BR/admin/general/homepage.json
trans.pt_PT = public/language/pt-PT/admin/general/homepage.json
trans.ro = public/language/ro/admin/general/homepage.json
trans.ru = public/language/ru/admin/general/homepage.json
trans.rw = public/language/rw/admin/general/homepage.json
trans.sc = public/language/sc/admin/general/homepage.json
trans.sk = public/language/sk/admin/general/homepage.json
trans.sl = public/language/sl/admin/general/homepage.json
trans.sr = public/language/sr/admin/general/homepage.json
trans.sv = public/language/sv/admin/general/homepage.json
trans.th = public/language/th/admin/general/homepage.json
trans.tr = public/language/tr/admin/general/homepage.json
trans.uk = public/language/uk/admin/general/homepage.json
trans.vi = public/language/vi/admin/general/homepage.json
trans.zh_CN = public/language/zh-CN/admin/general/homepage.json
trans.zh_TW = public/language/zh-TW/admin/general/homepage.json
trans.ar = public/language/ar/admin/settings/homepage.json
trans.bg = public/language/bg/admin/settings/homepage.json
trans.bn = public/language/bn/admin/settings/homepage.json
trans.cs = public/language/cs/admin/settings/homepage.json
trans.da = public/language/da/admin/settings/homepage.json
trans.de = public/language/de/admin/settings/homepage.json
trans.el = public/language/el/admin/settings/homepage.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/homepage.json
trans.en_US = public/language/en-US/admin/settings/homepage.json
trans.es = public/language/es/admin/settings/homepage.json
trans.et = public/language/et/admin/settings/homepage.json
trans.fa_IR = public/language/fa-IR/admin/settings/homepage.json
trans.fi = public/language/fi/admin/settings/homepage.json
trans.fr = public/language/fr/admin/settings/homepage.json
trans.gl = public/language/gl/admin/settings/homepage.json
trans.he = public/language/he/admin/settings/homepage.json
trans.hr = public/language/hr/admin/settings/homepage.json
trans.hu = public/language/hu/admin/settings/homepage.json
trans.id = public/language/id/admin/settings/homepage.json
trans.it = public/language/it/admin/settings/homepage.json
trans.ja = public/language/ja/admin/settings/homepage.json
trans.ko = public/language/ko/admin/settings/homepage.json
trans.lt = public/language/lt/admin/settings/homepage.json
trans.lv = public/language/lv/admin/settings/homepage.json
trans.ms = public/language/ms/admin/settings/homepage.json
trans.nb = public/language/nb/admin/settings/homepage.json
trans.nl = public/language/nl/admin/settings/homepage.json
trans.pl = public/language/pl/admin/settings/homepage.json
trans.pt_BR = public/language/pt-BR/admin/settings/homepage.json
trans.pt_PT = public/language/pt-PT/admin/settings/homepage.json
trans.ro = public/language/ro/admin/settings/homepage.json
trans.ru = public/language/ru/admin/settings/homepage.json
trans.rw = public/language/rw/admin/settings/homepage.json
trans.sc = public/language/sc/admin/settings/homepage.json
trans.sk = public/language/sk/admin/settings/homepage.json
trans.sl = public/language/sl/admin/settings/homepage.json
trans.sr = public/language/sr/admin/settings/homepage.json
trans.sv = public/language/sv/admin/settings/homepage.json
trans.th = public/language/th/admin/settings/homepage.json
trans.tr = public/language/tr/admin/settings/homepage.json
trans.uk = public/language/uk/admin/settings/homepage.json
trans.vi = public/language/vi/admin/settings/homepage.json
trans.zh_CN = public/language/zh-CN/admin/settings/homepage.json
trans.zh_TW = public/language/zh-TW/admin/settings/homepage.json
type = KEYVALUEJSON
[nodebb.admin-general-languages]
file_filter = public/language/<lang>/admin/general/languages.json
source_file = public/language/en-GB/admin/general/languages.json
[nodebb.admin-settings-languages]
file_filter = public/language/<lang>/admin/settings/languages.json
source_file = public/language/en-GB/admin/settings/languages.json
source_lang = en_GB
trans.ar = public/language/ar/admin/general/languages.json
trans.bg = public/language/bg/admin/general/languages.json
trans.bn = public/language/bn/admin/general/languages.json
trans.cs = public/language/cs/admin/general/languages.json
trans.da = public/language/da/admin/general/languages.json
trans.de = public/language/de/admin/general/languages.json
trans.el = public/language/el/admin/general/languages.json
trans.en@pirate = public/language/en-x-pirate/admin/general/languages.json
trans.en_US = public/language/en-US/admin/general/languages.json
trans.es = public/language/es/admin/general/languages.json
trans.et = public/language/et/admin/general/languages.json
trans.fa_IR = public/language/fa-IR/admin/general/languages.json
trans.fi = public/language/fi/admin/general/languages.json
trans.fr = public/language/fr/admin/general/languages.json
trans.gl = public/language/gl/admin/general/languages.json
trans.he = public/language/he/admin/general/languages.json
trans.hr = public/language/hr/admin/general/languages.json
trans.hu = public/language/hu/admin/general/languages.json
trans.id = public/language/id/admin/general/languages.json
trans.it = public/language/it/admin/general/languages.json
trans.ja = public/language/ja/admin/general/languages.json
trans.ko = public/language/ko/admin/general/languages.json
trans.lt = public/language/lt/admin/general/languages.json
trans.lv = public/language/lv/admin/general/languages.json
trans.ms = public/language/ms/admin/general/languages.json
trans.nb = public/language/nb/admin/general/languages.json
trans.nl = public/language/nl/admin/general/languages.json
trans.pl = public/language/pl/admin/general/languages.json
trans.pt_BR = public/language/pt-BR/admin/general/languages.json
trans.pt_PT = public/language/pt-PT/admin/general/languages.json
trans.ro = public/language/ro/admin/general/languages.json
trans.ru = public/language/ru/admin/general/languages.json
trans.rw = public/language/rw/admin/general/languages.json
trans.sc = public/language/sc/admin/general/languages.json
trans.sk = public/language/sk/admin/general/languages.json
trans.sl = public/language/sl/admin/general/languages.json
trans.sr = public/language/sr/admin/general/languages.json
trans.sv = public/language/sv/admin/general/languages.json
trans.th = public/language/th/admin/general/languages.json
trans.tr = public/language/tr/admin/general/languages.json
trans.uk = public/language/uk/admin/general/languages.json
trans.vi = public/language/vi/admin/general/languages.json
trans.zh_CN = public/language/zh-CN/admin/general/languages.json
trans.zh_TW = public/language/zh-TW/admin/general/languages.json
trans.ar = public/language/ar/admin/settings/languages.json
trans.bg = public/language/bg/admin/settings/languages.json
trans.bn = public/language/bn/admin/settings/languages.json
trans.cs = public/language/cs/admin/settings/languages.json
trans.da = public/language/da/admin/settings/languages.json
trans.de = public/language/de/admin/settings/languages.json
trans.el = public/language/el/admin/settings/languages.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/languages.json
trans.en_US = public/language/en-US/admin/settings/languages.json
trans.es = public/language/es/admin/settings/languages.json
trans.et = public/language/et/admin/settings/languages.json
trans.fa_IR = public/language/fa-IR/admin/settings/languages.json
trans.fi = public/language/fi/admin/settings/languages.json
trans.fr = public/language/fr/admin/settings/languages.json
trans.gl = public/language/gl/admin/settings/languages.json
trans.he = public/language/he/admin/settings/languages.json
trans.hr = public/language/hr/admin/settings/languages.json
trans.hu = public/language/hu/admin/settings/languages.json
trans.id = public/language/id/admin/settings/languages.json
trans.it = public/language/it/admin/settings/languages.json
trans.ja = public/language/ja/admin/settings/languages.json
trans.ko = public/language/ko/admin/settings/languages.json
trans.lt = public/language/lt/admin/settings/languages.json
trans.lv = public/language/lv/admin/settings/languages.json
trans.ms = public/language/ms/admin/settings/languages.json
trans.nb = public/language/nb/admin/settings/languages.json
trans.nl = public/language/nl/admin/settings/languages.json
trans.pl = public/language/pl/admin/settings/languages.json
trans.pt_BR = public/language/pt-BR/admin/settings/languages.json
trans.pt_PT = public/language/pt-PT/admin/settings/languages.json
trans.ro = public/language/ro/admin/settings/languages.json
trans.ru = public/language/ru/admin/settings/languages.json
trans.rw = public/language/rw/admin/settings/languages.json
trans.sc = public/language/sc/admin/settings/languages.json
trans.sk = public/language/sk/admin/settings/languages.json
trans.sl = public/language/sl/admin/settings/languages.json
trans.sr = public/language/sr/admin/settings/languages.json
trans.sv = public/language/sv/admin/settings/languages.json
trans.th = public/language/th/admin/settings/languages.json
trans.tr = public/language/tr/admin/settings/languages.json
trans.uk = public/language/uk/admin/settings/languages.json
trans.vi = public/language/vi/admin/settings/languages.json
trans.zh_CN = public/language/zh-CN/admin/settings/languages.json
trans.zh_TW = public/language/zh-TW/admin/settings/languages.json
type = KEYVALUEJSON
[nodebb.admin-general-navigation]
file_filter = public/language/<lang>/admin/general/navigation.json
source_file = public/language/en-GB/admin/general/navigation.json
[nodebb.admin-settings-navigation]
file_filter = public/language/<lang>/admin/settings/navigation.json
source_file = public/language/en-GB/admin/settings/navigation.json
source_lang = en_GB
trans.ar = public/language/ar/admin/general/navigation.json
trans.bg = public/language/bg/admin/general/navigation.json
trans.bn = public/language/bn/admin/general/navigation.json
trans.cs = public/language/cs/admin/general/navigation.json
trans.da = public/language/da/admin/general/navigation.json
trans.de = public/language/de/admin/general/navigation.json
trans.el = public/language/el/admin/general/navigation.json
trans.en@pirate = public/language/en-x-pirate/admin/general/navigation.json
trans.en_US = public/language/en-US/admin/general/navigation.json
trans.es = public/language/es/admin/general/navigation.json
trans.et = public/language/et/admin/general/navigation.json
trans.fa_IR = public/language/fa-IR/admin/general/navigation.json
trans.fi = public/language/fi/admin/general/navigation.json
trans.fr = public/language/fr/admin/general/navigation.json
trans.gl = public/language/gl/admin/general/navigation.json
trans.he = public/language/he/admin/general/navigation.json
trans.hr = public/language/hr/admin/general/navigation.json
trans.hu = public/language/hu/admin/general/navigation.json
trans.id = public/language/id/admin/general/navigation.json
trans.it = public/language/it/admin/general/navigation.json
trans.ja = public/language/ja/admin/general/navigation.json
trans.ko = public/language/ko/admin/general/navigation.json
trans.lt = public/language/lt/admin/general/navigation.json
trans.lv = public/language/lv/admin/general/navigation.json
trans.ms = public/language/ms/admin/general/navigation.json
trans.nb = public/language/nb/admin/general/navigation.json
trans.nl = public/language/nl/admin/general/navigation.json
trans.pl = public/language/pl/admin/general/navigation.json
trans.pt_BR = public/language/pt-BR/admin/general/navigation.json
trans.pt_PT = public/language/pt-PT/admin/general/navigation.json
trans.ro = public/language/ro/admin/general/navigation.json
trans.ru = public/language/ru/admin/general/navigation.json
trans.rw = public/language/rw/admin/general/navigation.json
trans.sc = public/language/sc/admin/general/navigation.json
trans.sk = public/language/sk/admin/general/navigation.json
trans.sl = public/language/sl/admin/general/navigation.json
trans.sr = public/language/sr/admin/general/navigation.json
trans.sv = public/language/sv/admin/general/navigation.json
trans.th = public/language/th/admin/general/navigation.json
trans.tr = public/language/tr/admin/general/navigation.json
trans.uk = public/language/uk/admin/general/navigation.json
trans.vi = public/language/vi/admin/general/navigation.json
trans.zh_CN = public/language/zh-CN/admin/general/navigation.json
trans.zh_TW = public/language/zh-TW/admin/general/navigation.json
trans.ar = public/language/ar/admin/settings/navigation.json
trans.bg = public/language/bg/admin/settings/navigation.json
trans.bn = public/language/bn/admin/settings/navigation.json
trans.cs = public/language/cs/admin/settings/navigation.json
trans.da = public/language/da/admin/settings/navigation.json
trans.de = public/language/de/admin/settings/navigation.json
trans.el = public/language/el/admin/settings/navigation.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/navigation.json
trans.en_US = public/language/en-US/admin/settings/navigation.json
trans.es = public/language/es/admin/settings/navigation.json
trans.et = public/language/et/admin/settings/navigation.json
trans.fa_IR = public/language/fa-IR/admin/settings/navigation.json
trans.fi = public/language/fi/admin/settings/navigation.json
trans.fr = public/language/fr/admin/settings/navigation.json
trans.gl = public/language/gl/admin/settings/navigation.json
trans.he = public/language/he/admin/settings/navigation.json
trans.hr = public/language/hr/admin/settings/navigation.json
trans.hu = public/language/hu/admin/settings/navigation.json
trans.id = public/language/id/admin/settings/navigation.json
trans.it = public/language/it/admin/settings/navigation.json
trans.ja = public/language/ja/admin/settings/navigation.json
trans.ko = public/language/ko/admin/settings/navigation.json
trans.lt = public/language/lt/admin/settings/navigation.json
trans.lv = public/language/lv/admin/settings/navigation.json
trans.ms = public/language/ms/admin/settings/navigation.json
trans.nb = public/language/nb/admin/settings/navigation.json
trans.nl = public/language/nl/admin/settings/navigation.json
trans.pl = public/language/pl/admin/settings/navigation.json
trans.pt_BR = public/language/pt-BR/admin/settings/navigation.json
trans.pt_PT = public/language/pt-PT/admin/settings/navigation.json
trans.ro = public/language/ro/admin/settings/navigation.json
trans.ru = public/language/ru/admin/settings/navigation.json
trans.rw = public/language/rw/admin/settings/navigation.json
trans.sc = public/language/sc/admin/settings/navigation.json
trans.sk = public/language/sk/admin/settings/navigation.json
trans.sl = public/language/sl/admin/settings/navigation.json
trans.sr = public/language/sr/admin/settings/navigation.json
trans.sv = public/language/sv/admin/settings/navigation.json
trans.th = public/language/th/admin/settings/navigation.json
trans.tr = public/language/tr/admin/settings/navigation.json
trans.uk = public/language/uk/admin/settings/navigation.json
trans.vi = public/language/vi/admin/settings/navigation.json
trans.zh_CN = public/language/zh-CN/admin/settings/navigation.json
trans.zh_TW = public/language/zh-TW/admin/settings/navigation.json
type = KEYVALUEJSON
[nodebb.admin-general-social]
file_filter = public/language/<lang>/admin/general/social.json
source_file = public/language/en-GB/admin/general/social.json
[nodebb.admin-settings-social]
file_filter = public/language/<lang>/admin/settings/social.json
source_file = public/language/en-GB/admin/settings/social.json
source_lang = en_GB
trans.ar = public/language/ar/admin/general/social.json
trans.bg = public/language/bg/admin/general/social.json
trans.bn = public/language/bn/admin/general/social.json
trans.cs = public/language/cs/admin/general/social.json
trans.da = public/language/da/admin/general/social.json
trans.de = public/language/de/admin/general/social.json
trans.el = public/language/el/admin/general/social.json
trans.en@pirate = public/language/en-x-pirate/admin/general/social.json
trans.en_US = public/language/en-US/admin/general/social.json
trans.es = public/language/es/admin/general/social.json
trans.et = public/language/et/admin/general/social.json
trans.fa_IR = public/language/fa-IR/admin/general/social.json
trans.fi = public/language/fi/admin/general/social.json
trans.fr = public/language/fr/admin/general/social.json
trans.gl = public/language/gl/admin/general/social.json
trans.he = public/language/he/admin/general/social.json
trans.hr = public/language/hr/admin/general/social.json
trans.hu = public/language/hu/admin/general/social.json
trans.id = public/language/id/admin/general/social.json
trans.it = public/language/it/admin/general/social.json
trans.ja = public/language/ja/admin/general/social.json
trans.ko = public/language/ko/admin/general/social.json
trans.lt = public/language/lt/admin/general/social.json
trans.lv = public/language/lv/admin/general/social.json
trans.ms = public/language/ms/admin/general/social.json
trans.nb = public/language/nb/admin/general/social.json
trans.nl = public/language/nl/admin/general/social.json
trans.pl = public/language/pl/admin/general/social.json
trans.pt_BR = public/language/pt-BR/admin/general/social.json
trans.pt_PT = public/language/pt-PT/admin/general/social.json
trans.ro = public/language/ro/admin/general/social.json
trans.ru = public/language/ru/admin/general/social.json
trans.rw = public/language/rw/admin/general/social.json
trans.sc = public/language/sc/admin/general/social.json
trans.sk = public/language/sk/admin/general/social.json
trans.sl = public/language/sl/admin/general/social.json
trans.sr = public/language/sr/admin/general/social.json
trans.sv = public/language/sv/admin/general/social.json
trans.th = public/language/th/admin/general/social.json
trans.tr = public/language/tr/admin/general/social.json
trans.uk = public/language/uk/admin/general/social.json
trans.vi = public/language/vi/admin/general/social.json
trans.zh_CN = public/language/zh-CN/admin/general/social.json
trans.zh_TW = public/language/zh-TW/admin/general/social.json
trans.ar = public/language/ar/admin/settings/social.json
trans.bg = public/language/bg/admin/settings/social.json
trans.bn = public/language/bn/admin/settings/social.json
trans.cs = public/language/cs/admin/settings/social.json
trans.da = public/language/da/admin/settings/social.json
trans.de = public/language/de/admin/settings/social.json
trans.el = public/language/el/admin/settings/social.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/social.json
trans.en_US = public/language/en-US/admin/settings/social.json
trans.es = public/language/es/admin/settings/social.json
trans.et = public/language/et/admin/settings/social.json
trans.fa_IR = public/language/fa-IR/admin/settings/social.json
trans.fi = public/language/fi/admin/settings/social.json
trans.fr = public/language/fr/admin/settings/social.json
trans.gl = public/language/gl/admin/settings/social.json
trans.he = public/language/he/admin/settings/social.json
trans.hr = public/language/hr/admin/settings/social.json
trans.hu = public/language/hu/admin/settings/social.json
trans.id = public/language/id/admin/settings/social.json
trans.it = public/language/it/admin/settings/social.json
trans.ja = public/language/ja/admin/settings/social.json
trans.ko = public/language/ko/admin/settings/social.json
trans.lt = public/language/lt/admin/settings/social.json
trans.lv = public/language/lv/admin/settings/social.json
trans.ms = public/language/ms/admin/settings/social.json
trans.nb = public/language/nb/admin/settings/social.json
trans.nl = public/language/nl/admin/settings/social.json
trans.pl = public/language/pl/admin/settings/social.json
trans.pt_BR = public/language/pt-BR/admin/settings/social.json
trans.pt_PT = public/language/pt-PT/admin/settings/social.json
trans.ro = public/language/ro/admin/settings/social.json
trans.ru = public/language/ru/admin/settings/social.json
trans.rw = public/language/rw/admin/settings/social.json
trans.sc = public/language/sc/admin/settings/social.json
trans.sk = public/language/sk/admin/settings/social.json
trans.sl = public/language/sl/admin/settings/social.json
trans.sr = public/language/sr/admin/settings/social.json
trans.sv = public/language/sv/admin/settings/social.json
trans.th = public/language/th/admin/settings/social.json
trans.tr = public/language/tr/admin/settings/social.json
trans.uk = public/language/uk/admin/settings/social.json
trans.vi = public/language/vi/admin/settings/social.json
trans.zh_CN = public/language/zh-CN/admin/settings/social.json
trans.zh_TW = public/language/zh-TW/admin/settings/social.json
type = KEYVALUEJSON
[nodebb.admin-general-sounds]
file_filter = public/language/<lang>/admin/general/sounds.json
source_file = public/language/en-GB/admin/general/sounds.json
[nodebb.admin-settings-sounds]
file_filter = public/language/<lang>/admin/settings/sounds.json
source_file = public/language/en-GB/admin/settings/sounds.json
source_lang = en_GB
trans.ar = public/language/ar/admin/general/sounds.json
trans.bg = public/language/bg/admin/general/sounds.json
trans.bn = public/language/bn/admin/general/sounds.json
trans.cs = public/language/cs/admin/general/sounds.json
trans.da = public/language/da/admin/general/sounds.json
trans.de = public/language/de/admin/general/sounds.json
trans.el = public/language/el/admin/general/sounds.json
trans.en@pirate = public/language/en-x-pirate/admin/general/sounds.json
trans.en_US = public/language/en-US/admin/general/sounds.json
trans.es = public/language/es/admin/general/sounds.json
trans.et = public/language/et/admin/general/sounds.json
trans.fa_IR = public/language/fa-IR/admin/general/sounds.json
trans.fi = public/language/fi/admin/general/sounds.json
trans.fr = public/language/fr/admin/general/sounds.json
trans.gl = public/language/gl/admin/general/sounds.json
trans.he = public/language/he/admin/general/sounds.json
trans.hr = public/language/hr/admin/general/sounds.json
trans.hu = public/language/hu/admin/general/sounds.json
trans.id = public/language/id/admin/general/sounds.json
trans.it = public/language/it/admin/general/sounds.json
trans.ja = public/language/ja/admin/general/sounds.json
trans.ko = public/language/ko/admin/general/sounds.json
trans.lt = public/language/lt/admin/general/sounds.json
trans.lv = public/language/lv/admin/general/sounds.json
trans.ms = public/language/ms/admin/general/sounds.json
trans.nb = public/language/nb/admin/general/sounds.json
trans.nl = public/language/nl/admin/general/sounds.json
trans.pl = public/language/pl/admin/general/sounds.json
trans.pt_BR = public/language/pt-BR/admin/general/sounds.json
trans.pt_PT = public/language/pt-PT/admin/general/sounds.json
trans.ro = public/language/ro/admin/general/sounds.json
trans.ru = public/language/ru/admin/general/sounds.json
trans.rw = public/language/rw/admin/general/sounds.json
trans.sc = public/language/sc/admin/general/sounds.json
trans.sk = public/language/sk/admin/general/sounds.json
trans.sl = public/language/sl/admin/general/sounds.json
trans.sr = public/language/sr/admin/general/sounds.json
trans.sv = public/language/sv/admin/general/sounds.json
trans.th = public/language/th/admin/general/sounds.json
trans.tr = public/language/tr/admin/general/sounds.json
trans.uk = public/language/uk/admin/general/sounds.json
trans.vi = public/language/vi/admin/general/sounds.json
trans.zh_CN = public/language/zh-CN/admin/general/sounds.json
trans.zh_TW = public/language/zh-TW/admin/general/sounds.json
trans.ar = public/language/ar/admin/settings/sounds.json
trans.bg = public/language/bg/admin/settings/sounds.json
trans.bn = public/language/bn/admin/settings/sounds.json
trans.cs = public/language/cs/admin/settings/sounds.json
trans.da = public/language/da/admin/settings/sounds.json
trans.de = public/language/de/admin/settings/sounds.json
trans.el = public/language/el/admin/settings/sounds.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/sounds.json
trans.en_US = public/language/en-US/admin/settings/sounds.json
trans.es = public/language/es/admin/settings/sounds.json
trans.et = public/language/et/admin/settings/sounds.json
trans.fa_IR = public/language/fa-IR/admin/settings/sounds.json
trans.fi = public/language/fi/admin/settings/sounds.json
trans.fr = public/language/fr/admin/settings/sounds.json
trans.gl = public/language/gl/admin/settings/sounds.json
trans.he = public/language/he/admin/settings/sounds.json
trans.hr = public/language/hr/admin/settings/sounds.json
trans.hu = public/language/hu/admin/settings/sounds.json
trans.id = public/language/id/admin/settings/sounds.json
trans.it = public/language/it/admin/settings/sounds.json
trans.ja = public/language/ja/admin/settings/sounds.json
trans.ko = public/language/ko/admin/settings/sounds.json
trans.lt = public/language/lt/admin/settings/sounds.json
trans.lv = public/language/lv/admin/settings/sounds.json
trans.ms = public/language/ms/admin/settings/sounds.json
trans.nb = public/language/nb/admin/settings/sounds.json
trans.nl = public/language/nl/admin/settings/sounds.json
trans.pl = public/language/pl/admin/settings/sounds.json
trans.pt_BR = public/language/pt-BR/admin/settings/sounds.json
trans.pt_PT = public/language/pt-PT/admin/settings/sounds.json
trans.ro = public/language/ro/admin/settings/sounds.json
trans.ru = public/language/ru/admin/settings/sounds.json
trans.rw = public/language/rw/admin/settings/sounds.json
trans.sc = public/language/sc/admin/settings/sounds.json
trans.sk = public/language/sk/admin/settings/sounds.json
trans.sl = public/language/sl/admin/settings/sounds.json
trans.sr = public/language/sr/admin/settings/sounds.json
trans.sv = public/language/sv/admin/settings/sounds.json
trans.th = public/language/th/admin/settings/sounds.json
trans.tr = public/language/tr/admin/settings/sounds.json
trans.uk = public/language/uk/admin/settings/sounds.json
trans.vi = public/language/vi/admin/settings/sounds.json
trans.zh_CN = public/language/zh-CN/admin/settings/sounds.json
trans.zh_TW = public/language/zh-TW/admin/settings/sounds.json
type = KEYVALUEJSON
[nodebb.admin-manage-admins-mods]

View File

@@ -1,3 +1,846 @@
#### 1.14.2 (2020-07-15)
##### Chores
* incrementing version number - v1.14.2 (1e4d683f)
* update changelog for v1.14.2 (488e69fd)
* up theme (63fb2ad7)
* incrementing version number - v1.14.2-beta.1 (9d1465d0)
* up theme (15aabfd3)
* up theme (599c5015)
* incrementing version number - v1.14.2-beta.0 (fca4ee31)
* incrementing version number - v1.14.1 (31203b16)
* update changelog for v1.14.1 (d4c16086)
* **deps:** update commitlint monorepo to v9.1.1 (0ca7e28a)
##### New Features
* logic for flag note editing, #8499 (14417209)
* logic for flag note deletion, #8499 (f85a45c7)
* #8460, export groups members as csv (00d39fb3)
* pass connection options to socket.io-adapter-mongo (393f19b4)
* #8023, allow wildcard search for uid/email (3dcf5387)
* up composer (6235b31c)
* #8427, daily downvote limits (c513b88d)
* warn user if whitelisted tags are less than minTags (4adbf87c)
##### Bug Fixes
* **deps:**
* update dependency nodebb-plugin-mentions to v2.9.1 (c54287fe)
* update dependency nodebb-plugin-mentions to v2.9.0 (7730e7da)
* update dependency nodebb-theme-persona to v10.1.62 (#8485) (4e9743ab)
* update dependency nodebb-plugin-composer-default to v6.3.49 (#8479) (ab244ca6)
* #8499 (65240a17)
* #8500 (5e984d10)
* invalid session error modal during logout (2286ee2a)
* #8488 (b3a88331)
* category search in selector (46a66863)
* groups.updateCover (73ddf1cb)
* **docs:** bad changelog (60bf488f)
##### Other Changes
* update changelog for v1.14.2" (e085c846)
* flag.showModal on flag modal appearance (3379d65f)
* NodeBB/NodeBB (2fba0a14)
* update changelog for v1.14.1" (26c74409)
#### 1.14.1 (2020-07-08)
##### Chores
* incrementing version number - v1.14.1 (31203b16)
* update changelog for v1.14.1 (d4c16086)
* incrementing version number - v1.14.1-beta.3 (e8ecef6b)
* incrementing version number - v1.14.1-beta.2 (b8d9b6b1)
* incrementing version number - v1.14.1-beta.1 (be85123a)
* incrementing version number - v1.14.1-beta.0 (c279875a)
* incrementing version number - v1.14.0 (bb73d6a4)
* update changelog for v1.14.0 (cffae0f1)
##### New Features
* add tools to recent/unread (#8477) (658dd03b)
* fire new hooks on chat message editing (4f51838d)
* add back redis tests (bdc4d9e7)
* remove redis test (8461a179)
* use covered query (057b783d)
* add js-enabled.css to list of preloaded css files (da29b947)
* zscan (#8457) (723fe8e8)
* fix blocksCount not being returned on user profile (bd228d5e)
##### Bug Fixes
* **deps:**
* update dependency nodebb-theme-persona to v10.1.60 (#8478) (14eafcb6)
* bump nodebb-plugin-composer-default to 6.3.48 (943a344a)
* update dependency nodebb-plugin-dbsearch to v4.1.1 (#8476) (9f06f12c)
* update dependency nodebb-plugin-composer-default to v6.3.47 (#8473) (857900f1)
* update dependency nodebb-plugin-dbsearch to v4.1.0 (#8471) (eb51cfd4)
* update dependency nodebb-theme-persona to v10.1.59 (#8468) (ee38e05d)
* update dependency nodebb-widget-essentials to v4.1.1 (#8466) (519e035d)
* update dependency @nodebb/socket.io-adapter-mongo to v3.0.1 (#8464) (412ca4ae)
* #8474 (c2ca02df)
* show stack properly (7b04d897)
* editing chat messages does not go through content sanity checks (9a6b87d2)
* don't show blocked users under nested replies (d6c619cf)
* tests (87dd6c83)
* handle scan/zscan returning duplicate elements on redis (746222d6)
* #8467, fix url to merged topic in subfolder installs (9eb748b9)
* openapi (5f1865c0)
* openapi (65c0adc7)
* dont allow searching by email/ip if not privileged (ac6b571e)
* missing backgroundImage #8386 (fef04fcf)
* dont allow searching by ip/banned/flagged for regular users (02ac44cc)
* admin privileges client-side regression (f3441fce)
* only add blocksCount for self and admins (59a2ace6)
* tests (fd20e5c6)
* better changelog (f992af05)
* **tests:**
* another shot in the dark (8853cd1a)
* shot in the dark (9458d90b)
* **openapi:** tests (c468942f)
##### Other Changes
* update changelog for v1.14.1" (26c74409)
* //github.com/NodeBB/NodeBB (0d9461b1)
* //github.com/NodeBB/NodeBB (ace312e0)
* post.changeOwner (b60e1cbf)
##### Reverts
* bad changelog (a761e31f)
#### 1.14.0 (2020-07-02)
##### Chores
* incrementing version number - v1.14.0 (bb73d6a4)
* update changelog for v1.14.0 (cffae0f1)
* bump persona (19f9af94)
* latest translations and fallbacks (22879633)
* incrementing version number - v1.13.3 (ee583e80)
* bump persona (d2bd746c)
* incrementing version number - v1.13.2 (beafd613)
* **deps:**
* update dependency smtp-server to v3.7.0 (e80100b5)
* update dependency eslint to v7.3.1 (#8417) (33492744)
* update commitlint monorepo to v9 (569b7664)
* update dependency lint-staged to v10.2.11 (157e7444)
* update dependency lint-staged to v10.2.10 (102a6004)
* update dependency mocha to v8 (#8393) (f4bace03)
* update dependency eslint to v7.2.0 (cd1375cb)
* update dependency eslint-plugin-import to v2.21.1 (4b577a52)
* update dependency lint-staged to v10.2.9 (#8369) (124125f7)
* update dependency lint-staged to v10.2.8 (331b1a85)
* update dependency lint-staged to v10.2.7 (d1df0826)
* update dependency mocha to v7.2.0 (ecaa9b76)
* update dependency eslint to v7.1.0 (e62d892a)
* update dependency lint-staged to v10.2.6 (78d562b3)
* update dependency lint-staged to v10.2.4 (a26011e7)
* update dependency eslint to v7 (28df9aba)
* update dependency coveralls to v3.1.0 (5ed4a108)
* pin dependency @apidevtools/swagger-parser to 9.0.1 (51eccef5)
* update dependency husky to v4.2.5 (30a25983)
* update dependency husky to v4.2.4 (0a650118)
* update dependency lint-staged to v10.1.3 (a9e68639)
* update dependency nyc to v15.0.1 (#8231) (a3789e28)
* update dependency lint-staged to v10.1.2 (#8235) (e1919c90)
* update dependency lint-staged to v10.1.1 (944a6f58)
* update dependency lint-staged to v10.1.0 (30bd233b)
* update dependency eslint-config-airbnb-base to v14.1.0 (811c3aee)
* update dependency jsdom to v16.2.2 (c5a7242d)
* update dependency eslint-plugin-import to v2.20.2 (b92c1600)
* update dependency lint-staged to v10.0.10 (0ad4b556)
* update dependency coveralls to v3.0.11 (14458087)
* update dependency smtp-server to v3.6.0 (22681945)
* update dependency mocha to v7.1.1 (#8215) (c5356541)
* update dependency grunt to v1.1.0 (#8214) (b0864e7c)
* update dependency husky to v4.2.3 (#8162) (776fe9d2)
* update dependency lint-staged to v10.0.8 (#8180) (13d8f6f1)
* update dependency eslint-plugin-import to v2.20.1 (#8081) (4cdb3131)
* update dependency jsdom to v16.2.1 (#8165) (fbd95a50)
* update dependency husky to v4.2.2 (#8160) (f4ed35c9)
* update dependency jsdom to v16 (#8114) (1037de02)
##### Documentation Changes
* updated changelog (146388aa)
##### New Features
* polish for user blocks UX (6cb31791)
* #8450, next/prev link tags on /unread /recent (eb9704f8)
* allow flagging of user acounts from post tools menu (6931f29d)
* closes #8440, allow configuring max topic count (e09ab3dc)
* add missing translation key (bffb830d)
* #3783, min/max tags per category (c718b729)
* use tags partial instead of post_bar (0482fb29)
* hide elements if search element is a direct child of dropdown (4f6b6c56)
* increase wait (6aecc177)
* move export functions into child processes (8383992d)
* display stack trace on winston.error (e80379dc)
* show more relevant snippets (f70d1648)
* #8412 breadcrumbs for ip-blacklist/post queue/flags (35a06a84)
* show editor in post diffs if available (f909ed25)
* #8408 flags' quick assignment (d5af9769)
* bump themes, closes #8406 (cb5ba76b)
* allow post diffs to be restored, #8406 (58b3d608)
* add missing translation (3a80a165)
* up composer (96cb94dc)
* more search changes (6349fa03)
* more merge/search fixes (4b38533b)
* merge changes (bb3aa540)
* more search & merge fixes (5fd05dc9)
* merge improvements wip (c4bdeae0)
* #8387 expose global and admin privs to flags detail page (4acb3fb2)
* redirect /me to user profile (3be4d5f7)
* #8384 options to delete account, content, or both (4d60eac6)
* account content deletion, closes #8381 (67aca822)
* add missing language files for #8347 (656b391f)
* privileges for Admin Control Panel (#8355) (a82e9bd7)
* add buildHeaderAsync (#8367) (842b8abb)
* #8360 flag quick actions for delete/restore/purge (8ea16348)
* #8349, remove user posts from queue if user is deleted (5a2b5154)
* up plugins (5b009e07)
* add results into results container (9ffcb6f7)
* quick search changes (f12d448e)
* move quick search into search module (bb1a56f0)
* fix session mismatch errors by clearing cookie on logout (#8338) (5781a2dc)
* add getSortedSetMembers (0009f54e)
* add privilege give/rescind hooks (#8336) (ec5582b5)
* filter followed tids by category (f3afba61)
* use getSortedSetsMembers to load followed tids (1b9e8928)
* add batch size to cursors (a015af4a)
* up cache size (9600ede5)
* tweak intersection code, add tests (4ee3543e)
* change to contains to match scoped modules (6108064e)
* improve grunt restart/rebuild speed (cb662e15)
* don't overwrite req.query.lang if it exists (4263efa0)
* convert queries so they used indices directly (12c6bc2e)
* cookie SameSite property (ae2db423)
* if only one value is passed used faster function (2587112f)
* closes #8316, add more data to export profile (f0323b6c)
* throw error if uid is missing for update (1d3fa3bc)
* ignore mongodb playground file (a219285e)
* parse quick search tpl even if no results (765b8156)
* match hook property to topic property (0e58fa33)
* add methods for adding/removing tags from topics (bfad4572)
* write-api update, WIP (9fd5c439)
* closes #8308, edit post notif for watched topic posts (a73c755b)
* add null tests for sorted sets (edf9fe3b)
* Add hooks for user blocks (#8296) (c4545381)
* allow activating additional plugins for testing via config.json (a969c5ce)
* move plugin tests to separate file (3a23ddab)
* remove node14 for now (a72e4429)
* reduce infinite scroll area (3fcbd691)
* manifest.json improvements from #8126 (#8264) (6e5ebb61)
* show error if json is invalid (15345627)
* moved component specs into separate files (cd506557)
* added UserObject, UserObjectFull, Breadcrumb, Pagination component (64d79fe5)
* added some summary and descriptions (ae3e90d6)
* add some descriptions (442c018e)
* common schema (eade13f9)
* openapi component (1af5507a)
* add page query param to docs (9987813f)
* tag route doc (bbddaadf)
* local redoc view on development mode only (1136a369)
* added auto-generated, slimmed-down openapi 3.0 file for read api (7b155dab)
* add parent cids to body class (23571224)
* add 2 hooks for modifying privileges (d080c7b0)
* add user ip to admin/dev/info (5e91a67e)
* change option name (cba5b23e)
* add no-build to ./nodebb setup (476f6717)
* add awaitable socket.emit (4083a6e3)
* settings sorted list (#8170) (3c9689a5)
* guard against accidental ommision (79737c53)
* **docs:** updated changelog (87c1687d)
* **openapi:**
* merging openapi-test branch into master (8387178b)
* move all commonprops out for commonprops component (65c78de6)
* added template to commonprops (2425f453)
##### Bug Fixes
* **deps:**
* update dependency nodebb-plugin-composer-default to v6.3.46 (5a713d85)
* update dependency nodebb-plugin-mentions to v2.8.3 (#8449) (bbd85049)
* update dependency nodebb-plugin-mentions to v2.8.0 (d40720f9)
* update dependency nodebb-plugin-composer-default to v6.3.44 (#8436) (c1991abe)
* update dependency winston to v3.3.3 (#8431) (6a8f54fd)
* update dependency nodebb-theme-persona to v10.1.55 (#8434) (a860a793)
* update dependency nodebb-theme-vanilla to v11.1.30 (#8435) (272b4992)
* update dependency nodebb-theme-vanilla to v11.1.29 (#8429) (b5a68a44)
* update dependency nodebb-theme-persona to v10.1.54 (#8428) (3ffb6fde)
* update dependency winston to v3.3.2 (54310d69)
* update dependency nodebb-plugin-spam-be-gone to v0.7.2 (11244348)
* update dependency winston to v3.3.1 (#8421) (fd628570)
* #8412 bump themes (365996e7)
* bump persona/vanilla, closes #8408 (225cac18)
* update dependency sharp to v0.25.4 (#8403) (3c3e1515)
* update dependency nodebb-theme-vanilla to v11.1.25 (#8405) (90446365)
* update dependency nodebb-theme-persona to v10.1.50 (#8404) (44273a64)
* update dependency mongodb to v3.5.9 (#8402) (90570660)
* update dependency nodebb-plugin-composer-default to v6.3.43 (78b7382c)
* update dependency validator to v13.1.1 (#8397) (2ae68f9b)
* update dependency validator to v13.1.0 (#8391) (ad6e3634)
* update dependency nodebb-theme-vanilla to v11.1.24 (#8395) (eec03de8)
* update dependency nodebb-theme-persona to v10.1.49 (#8394) (90846740)
* update dependency postcss to v7.0.32 (87ce31d1)
* update dependency nodebb-plugin-composer-default to v6.3.41 (dde830db)
* update dependency nodebb-plugin-composer-default to v6.3.40 (#8388) (cf0f8f64)
* bump themes, closes #8387 (e97a2b71)
* bump themes (ccac6a35)
* update dependency nodebb-theme-persona to v10.1.46 (#8382) (036e6ef5)
* update dependency nodebb-theme-vanilla to v11.1.21 (#8383) (7caeb273)
* update dependency nodebb-plugin-composer-default to v6.3.39 (aeefc60b)
* update dependency nodebb-plugin-composer-default to v6.3.37 (7f6ff0b1)
* update dependency nodebb-plugin-composer-default to v6.3.36 (6b2ea077)
* update dependency nodebb-plugin-composer-default to v6.3.35 (2d582df7)
* update dependency nodebb-theme-persona to v10.1.45 (#8372) (771ea194)
* update dependency nodebb-theme-vanilla to v11.1.20 (#8373) (f8ee981b)
* update dependency socket.io-redis to v5.3.0 (#8370) (d2463bb4)
* update dependency nodebb-theme-vanilla to v11.1.19 (f6ad9605)
* update dependency nodebb-theme-persona to v10.1.44 (cb28e6cf)
* update dependency nodebb-plugin-composer-default to v6.3.34 (#8357) (d7ab0894)
* update dependency nodebb-plugin-composer-default to v6.3.33 (c4047179)
* update dependency nodebb-plugin-spam-be-gone to v0.7.1 (27ab36ac)
* update dependency nodebb-theme-persona to v10.1.43 (#8343) (dabff972)
* update dependency mongodb to v3.5.8 (#8342) (8224127f)
* update dependency nodebb-theme-persona to v10.1.40 (#8332) (a20af6e2)
* update dependency nodebb-plugin-spam-be-gone to v0.7.0 (cc206b4d)
* bump composer-default (827d42a9)
* bump composer-default (a665881b)
* update dependency nodebb-plugin-composer-default to v6.3.29 (bf8a2c2e)
* update dependency postcss to v7.0.30 (#8288) (a532e2bb)
* update dependency sharp to v0.25.3 (0437ecc2)
* update dependency nodebb-plugin-composer-default to v6.3.28 (#8309) (f246057a)
* update dependency nodebb-plugin-composer-default to v6.3.27 (#8307) (6d57d844)
* #8298 bump persona (158d9231)
* update dependency nodebb-plugin-composer-default to v6.3.25 (89d17647)
* update dependency jquery to v3.5.1 [security] (#8281) (a69f0b29)
* update dependency nodebb-rewards-essentials to v0.1.3 (#8289) (919034a7)
* update dependency mongodb to v3.5.7 (#8279) (25d509c4)
* actually, swagger-parser is a dev dependency (d09c6ae0)
* missing @apidevtools/swagger-parser (f1720735)
* update dependency nodebb-theme-persona to v10.1.37 (#8258) (b0c30ceb)
* update dependency archiver to v4 (28777f67)
* update dependency mongodb to v3.5.6 (#8256) (49236067)
* bump dependencies (#8239) (e68156e1)
* update dependency jsesc to v3.0.1 (#8243) (92b55ef5)
* update dependency jsesc to v3 (bb70cebb)
* update dependency pg to v8 (#8227) (ac98775f)
* update dependency validator to v13 (f497ee62)
* update dependency sharp to v0.25.2 (#8220) (dd660c87)
* bump markdown (ee6cb412)
* update dependency mongodb to v3.5.5 (#8205) (5535c50c)
* update dependency sitemap to v6 (#8198) (2052f14c)
* update dependency nodebb-plugin-composer-default to v6.3.23 (6d98d5a1)
* update dependency sharp to v0.25.1 (#8199) (21e91c91)
* update dependency nodebb-plugin-composer-default to v6.3.22 (#8193) (e01f05e3)
* update dependency nodebb-theme-slick to v1.2.29 (#8177) (9daa21ff)
* update dependency nodebb-theme-vanilla to v11.1.16 (#8178) (7d6a983b)
* update dependency nodebb-theme-persona to v10.1.35 (#8176) (3acc24b0)
* update dependency sharp to v0.24.1 (#8164) (7cc63f7d)
* update dependency mongodb to v3.5.3 (#8161) (4b907137)
* update dependency nodebb-widget-essentials to v4.1.0 (#8159) (a5f3c2a2)
* update dependency request to v2.88.2 (#8158) (7fde180a)
* update dependency redis to v3 (#8152) (ef964b11)
* update dependency rimraf to v3.0.2 (#8153) (d8efc6b6)
* don't show in unreplied if score is null (fd400a00)
* lint (0d0b9513)
* upgrade script to unescape navigation titles (37b6b8fd)
* test (f0ce309d)
* show controls @julianlam (023de94e)
* #8437, #8433 (e53a18f2)
* copy settings showing empty category selection (ed4b5caf)
* don't init autocomplete if user doesn't have privs (8482a54a)
* only allow valid uids (00d8ce26)
* tests (f03ca086)
* vulnerability in cover and admin uploads (#8419) (48b41deb)
* reverse tabnabbing exploit in post images (040e6a9a)
* follower count going out of sync with real follower count (2bcf7f72)
* test lock for user create (#8415) (bef37e27)
* add mising timestamp (f0526bff)
* ban (bfd7eafe)
* remove use of 'hidden' class in navbar toggling (5a367ecb)
* bug where category privs page thought it was on admin (2515aa77)
* #8410 (b3115ea8)
* tests breaking due to #8406 (d5578c99)
* add missing translations (42466d3c)
* #8401, #8237 (7ed1a014)
* add timestamp to initial username history (18d89239)
* crash in export posts if post content is undefined (53a9517d)
* messaging unread (0041c024)
* whitespace (a024cc13)
* typo (0595e710)
* #8392, clear group member cache when group is renamed (89b01024)
* return false (8591f5d2)
* language (a255c8f6)
* #8386, use backgroundImage everywhere (8627bee5)
* prevent logout form from submitting (d92032da)
* missing space in ACP menu dropdown (daeceb45)
* #8385 (942cc4b1)
* acp language keys from #8347 not updated in tx config (9ae7fd3e)
* #8363, dont break history (50703db8)
* #8363, go to hash when entering topic (0c265a41)
* #8374, revert event delete (30cc83c0)
* new language tag for select_tags (09184f40)
* remove duplicate link to manage/tags in settings/tags (260a482c)
* tests (3a078f59)
* handle search tag permission as well (1b5d5425)
* checking correct permissions for user search (#8371) (f6b92d24)
* change event name so it doesnt trigger complete event (7786187e)
* clear error log before checking (75b3a81d)
* #8323, let admins send validation emails without timeout (e603ebc0)
* #8352, remove webfonts (#8354) (de7ec47f)
* more tests (da90fd56)
* tests due to 0633ad327 (98dffa3a)
* retry failed setObject calls (2c9e8657)
* acp menu items (0633ad32)
* re-jigged tags acp pages (a83f4259)
* move checks into timeout (47d73a2a)
* #8339, add missing translation (a9315aee)
* don't explode if server sends `checkSession` (84c20f91)
* eliminate unnecessary try..catch (f0e59c14)
* test breakages from 8d995d1eb609837e4e6e4c77cd855766830378fa (a66fe013)
* #8320, dont load moderators separately for each category (0a31e3e6)
* show stack trace on startup errors (11bb6abb)
* don't trigger quick search if val doesn't change (d6c2764f)
* prevent duplicate search triggers (6f78113e)
* user faster method if sorting by smallest set (3ec05eea)
* add txt to list of default allowed file extensions (01bff2ae)
* search post snipets incase content is plain text (ada45a34)
* derp includes (d484731d)
* another test fix (f2907908)
* tests (feb748a4)
* tests on redis (7a801aba)
* tests, handle no sessions (8bf980cb)
* #8318, clean expired sessions on login and get (a0d76ff0)
* tests (a032e12b)
* #8317 (81e33b93)
* #8142 invalid session warning if server-side session destroyed (526b3cd9)
* check privileges before exporting post/topic data (5fd81c5c)
* exporting posts (dfae664e)
* undefined uid when downloading posts (bdda0222)
* #8311, fix allowUserHomePage value (1ba6929c)
* dont crash if topic is null (e20ad5c5)
* if category in selector has url use it (1f992cf3)
* convert cids to string for comparison (c47a1c4d)
* missing await (97c086ab)
* add missing schema item (4e14cb57)
* category selector disabled categories (337be368)
* #8305, don't use null values (6a5e86dc)
* #8302, send string to writeFileSync (d09bd2cf)
* winston showing json object (7d081843)
* sortable topics even if only 1 pinned topic (6765de3d)
* #8298, use class name added by jQueryUI instead (dd2bc189)
* topic search shortcut for macs (f2c725c6)
* #8297, uids.length is different than topics.length (0431d75f)
* #8297 guest handles shown in category.tpl (fcb81cb8)
* only add to set if numRecentReplies>0 (16a98eaf)
* #8293, don't show error if there are no self messages (be305410)
* failing tests @julianlam (ecd622fd)
* #3321, run plugin tests for installed plugins (a6bb9f43)
* remove deprecated mocha.opts (3d0db963)
* spec (84383d39)
* #8290, if there are no filters go to ?reset=1 (9839346e)
* #8283, update gdpr link again (2d076344)
* add missing await (4f1128fd)
* #8287, dont readd user after deletion (9d153fd3)
* missing await (4d6b2ec3)
* #8286, rescind notif when its resolved/rejected (0391856d)
* #8284, parse ToS on register (0ca84bd9)
* #8283, point to official site (17d664e0)
* jquery xhtml violations (275e837b)
* #8274 Don't escape HTML in manage users (#8275) (4855f1de)
* crash in topic controller (0c7c70ed)
* crash when res.locals.linkTags is undefined (7cab2b0f)
* #8272 user link in digest email (e80b8101)
* tag of /api/unread/total (9ffdab02)
* response hook logic (5a1c6ee7)
* remove upload picture test (avatars) (6edf02d4)
* remove tests related to group covers, as route is gone (442fe65f)
* #8269, return array of topics from hook (4eafe0f0)
* remove dead picture upload code #8260 (ef52461f)
* path.resolve to logs file (5bcaf715)
* only trigger infinitescroll on scroll end (ba6d3fd3)
* wrong data returned in available.groups (c7ea84a2)
* no focus on find user modal (1b425ef1)
* accidental fp precision on flag and acp dash graphs (bcbf98aa)
* #8232, unresolvable session mismatch on register cancel (f2f6fbf1)
* pin jquery to 3.4.1, #8252 (e440d617)
* #8249, don't send move notifications for deleted posts/topics (d77036db)
* missing descriptions for common properties (7b31fb34)
* some definitions in read API spec (03739b6f)
* tagged all routes in read api spec (455d42bc)
* override ACAO header for read API spec file (240d9091)
* throw error if topic does not exist (59cf0e80)
* hookname (e93578b8)
* #8230, add hook getUserDataByUserSlug (0d1b5a7f)
* ignore case for group details route (15d6975e)
* lint (740e598a)
* lint (8e23dec8)
* #8221, fix parent selection (08031730)
* invite properly (071506eb)
* admins not seeing invite button (8f4b99a4)
* #8217, add missing lang key (0b5fac75)
* #8206 first message in chat has false `newSet` (93acd139)
* #8203, fix user invites refreshing page (2f9c7c62)
* #8202, filter non-existing users in search by uid (f07f4f8e)
* notification bodyShort truncated if there is a comma in topic title (266061c3)
* hsts max-age missing translation (b67af70d)
* call next (80f1bcad)
* try travis fix again (05bee629)
* try fixing psql on travis (bc9e92a1)
* dont let regular users see other users watched categories (cf6eadb9)
* also fix updating bookmark if sorting is newest_to_oldest (6e5de39b)
* #8188, fix bookmark if sorting is newest_to_oldest (32ada7c4)
* duplicate ID + label (ac241fb8)
* #8184 global mods unable to revoke other user sessions (f0db240a)
* return null if field does not exist (e72a29b3)
* #8179, limit length of location/website/fullname, check grouptitle (14e78667)
* tag key (32636755)
* #8175 (bc93b567)
* #8168 re-allowing slashes in homePageRoute (667608a0)
* tweak to session validation in addHeaders (eddbd868)
* only call clearCookie for logged in users (630f5d5b)
* #6422, update deleted/restored messages (06703408)
* #8163, prevent account deletion (4d0636f8)
* register (5a0c7c14)
* #8157, update recent tid when post is moved (e7495440)
* tests (b73aa84d)
* move start/stop every iteration (dd3893b1)
* #8154, move start/stop every iteration (300c04ce)
* #8154, respect stop (690bb69d)
* #8156 dont allow loading members from hidden groups (f23bc347)
* #8155, don't validate name on update if groupName didn't change (03a02e5d)
* return correct number of suggested topics (236e1e68)
* #8151, don't crash if taskbar doesn't have element (2e794801)
* logic for determining dailyStats hour vars (398f0120)
* fix daily analytics being one day off (9ecdb92f)
* remove debug line (0b9ad416)
* no decimal places for category analytics (14655f87)
* #8142, broken site if no server-side session (#8148) (d6e3f3f0)
* #8144 pluginHooks in maintenance mode middleware (0885ec68)
* **openapi:**
* tests for #8412 (4cae893f)
* api change for #8387 (6a969442)
* schema for new flags api (a0e243ee)
* broken tests (45dfeeb0)
* v14 test fix (23a0b8c5)
* remove account and group upload routes (d342a28c)
* more fleshing out (058a15db)
* fleshed out admin routes (bae88e08)
* added some descriptions (ab4bd7e1)
* added PostsObject component (2395d2be)
* finished moving all category objects out (23dd2727)
* changed some descriptions (c939f8c6)
* added CategoryObject component (55d0a9ff)
* removed repeated breadcrumb blocks in favour of $ref (646fac1e)
* remove all repeated pagination blocks in favour of (ac579f9d)
* removed warning for category mods route (1cf62095)
* normalising the file for programmatic updates (3a5c6e07)
* **style:**
* more switch..case (6b1d1acb)
* switch..case (922d49be)
* enforcing "better" indentation for switch..case (d135b6f7)
* **docs:** added titles to all routes (aa4ae78b)
##### Other Changes
* id, category fields (2355d9d5)
* //github.com/NodeBB/NodeBB (c3c8b19a)
* //github.com/NodeBB/NodeBB (0ddfb6b0)
* //github.com/NodeBB/NodeBB (d1c1cb2c)
* //github.com/NodeBB/NodeBB (79a7f892)
* user.getFields to match topic/posts (a680a95e)
* //github.com/NodeBB/NodeBB (b459592a)
* //github.com/NodeBB/NodeBB (066b442e)
* //github.com/NodeBB/NodeBB (fd6bf0c9)
* //github.com/NodeBB/NodeBB (c1d8b9bb)
* middleware.renderHeader (2727f472)
* //github.com/NodeBB/NodeBB (69a87933)
* uploadFile (7f24200c)
* #8142 invalid session warning if server-side session destroyed" (e327d124)
* ''}) (2a00b0e9)
* //github.com/NodeBB/NodeBB (8c8cdc99)
* categories.getRecentTopicReplies (aad0880f)
* #8298 (2e57d8ac)
* post.updatePostVoteCount (b25b51bd)
* //github.com/NodeBB/NodeBB (5e140454)
* categories.updateRecentTid (6c59683b)
* categories.updateRecentTid (51933c1f)
* router.page, dep. filter variant (0053e779)
* flags as well (5ebcdb18)
* crash when res.locals.linkTags is undefined" (fe03effe)
* //github.com/NodeBB/NodeBB (87a6ff0d)
* cnpm and pnpm (#8222) (e6a1741c)
* //github.com/NodeBB/NodeBB (7ae76477)
* openapi component" (683e5851)
* override ACAO header for read API spec file" (c82a2637)
* password.change (00e299e9)
* topic.tools.load (5aa76cdf)
* #8154, move start/stop every iteration" (4abe5eb7)
* **deps:** update dependency nodebb-plugin-mentions to v2.8.0" (5c7d37c0)
##### Refactors
* make code climate happier? (0d112b36)
* shorter code (af790e3f)
* shorter code (e8f0da6e)
* change name to privileges to match other apis (2100a03c)
* making rendering of header and footer async functions (023942da)
* remove general menu from ACP (#8347) (a51fff8b)
* use getSortedSetMembers (7d484fc0)
* src/flags.js because codeclimate (cf00cda0)
* flags detail page (8d995d1e)
* move code (3b6d57e4)
* remove console.log (40b5cbab)
* shorter function (7e429884)
* match core field name pinned (478ed6c1)
* getUsersCSV to use batch lib (1efb238a)
* reorganized socket.io admin modules (e1c6c3b2)
##### Reverts
* bad changelog (a761e31f)
#### 1.13.3 (2020-05-08)
##### Chores
* incrementing version number - v1.13.3 (ee583e80)
* bump persona (d2bd746c)
* incrementing version number - v1.13.2 (beafd613)
* **deps:**
* update dependency coveralls to v3.1.0 (5ed4a108)
* pin dependency @apidevtools/swagger-parser to 9.0.1 (51eccef5)
* update dependency husky to v4.2.5 (30a25983)
* update dependency husky to v4.2.4 (0a650118)
* update dependency lint-staged to v10.1.3 (a9e68639)
* update dependency nyc to v15.0.1 (#8231) (a3789e28)
* update dependency lint-staged to v10.1.2 (#8235) (e1919c90)
* update dependency lint-staged to v10.1.1 (944a6f58)
* update dependency lint-staged to v10.1.0 (30bd233b)
* update dependency eslint-config-airbnb-base to v14.1.0 (811c3aee)
* update dependency jsdom to v16.2.2 (c5a7242d)
* update dependency eslint-plugin-import to v2.20.2 (b92c1600)
* update dependency lint-staged to v10.0.10 (0ad4b556)
* update dependency coveralls to v3.0.11 (14458087)
* update dependency smtp-server to v3.6.0 (22681945)
* update dependency mocha to v7.1.1 (#8215) (c5356541)
* update dependency grunt to v1.1.0 (#8214) (b0864e7c)
* update dependency husky to v4.2.3 (#8162) (776fe9d2)
* update dependency lint-staged to v10.0.8 (#8180) (13d8f6f1)
* update dependency eslint-plugin-import to v2.20.1 (#8081) (4cdb3131)
* update dependency jsdom to v16.2.1 (#8165) (fbd95a50)
* update dependency husky to v4.2.2 (#8160) (f4ed35c9)
* update dependency jsdom to v16 (#8114) (1037de02)
##### Documentation Changes
* updated changelog (146388aa)
##### New Features
* allow activating additional plugins for testing via config.json (a969c5ce)
* move plugin tests to separate file (3a23ddab)
* remove node14 for now (a72e4429)
* reduce infinite scroll area (3fcbd691)
* manifest.json improvements from #8126 (#8264) (6e5ebb61)
* show error if json is invalid (15345627)
* moved component specs into separate files (cd506557)
* added UserObject, UserObjectFull, Breadcrumb, Pagination component (64d79fe5)
* added some summary and descriptions (ae3e90d6)
* add some descriptions (442c018e)
* common schema (eade13f9)
* openapi component (1af5507a)
* add page query param to docs (9987813f)
* tag route doc (bbddaadf)
* local redoc view on development mode only (1136a369)
* added auto-generated, slimmed-down openapi 3.0 file for read api (7b155dab)
* add parent cids to body class (23571224)
* add 2 hooks for modifying privileges (d080c7b0)
* add user ip to admin/dev/info (5e91a67e)
* change option name (cba5b23e)
* add no-build to ./nodebb setup (476f6717)
* add awaitable socket.emit (4083a6e3)
* settings sorted list (#8170) (3c9689a5)
* guard against accidental ommision (79737c53)
* **openapi:**
* merging openapi-test branch into master (8387178b)
* move all commonprops out for commonprops component (65c78de6)
* added template to commonprops (2425f453)
##### Bug Fixes
* #8302, send string to writeFileSync (d09bd2cf)
* winston showing json object (7d081843)
* sortable topics even if only 1 pinned topic (6765de3d)
* #8298, use class name added by jQueryUI instead (dd2bc189)
* topic search shortcut for macs (f2c725c6)
* #8297, uids.length is different than topics.length (0431d75f)
* #8297 guest handles shown in category.tpl (fcb81cb8)
* only add to set if numRecentReplies>0 (16a98eaf)
* #8293, don't show error if there are no self messages (be305410)
* failing tests @julianlam (ecd622fd)
* #3321, run plugin tests for installed plugins (a6bb9f43)
* remove deprecated mocha.opts (3d0db963)
* spec (84383d39)
* #8290, if there are no filters go to ?reset=1 (9839346e)
* #8283, update gdpr link again (2d076344)
* add missing await (4f1128fd)
* #8287, dont readd user after deletion (9d153fd3)
* missing await (4d6b2ec3)
* #8286, rescind notif when its resolved/rejected (0391856d)
* #8284, parse ToS on register (0ca84bd9)
* #8283, point to official site (17d664e0)
* jquery xhtml violations (275e837b)
* #8274 Don't escape HTML in manage users (#8275) (4855f1de)
* crash in topic controller (0c7c70ed)
* crash when res.locals.linkTags is undefined (7cab2b0f)
* #8272 user link in digest email (e80b8101)
* tag of /api/unread/total (9ffdab02)
* response hook logic (5a1c6ee7)
* remove upload picture test (avatars) (6edf02d4)
* remove tests related to group covers, as route is gone (442fe65f)
* #8269, return array of topics from hook (4eafe0f0)
* remove dead picture upload code #8260 (ef52461f)
* path.resolve to logs file (5bcaf715)
* only trigger infinitescroll on scroll end (ba6d3fd3)
* wrong data returned in available.groups (c7ea84a2)
* no focus on find user modal (1b425ef1)
* accidental fp precision on flag and acp dash graphs (bcbf98aa)
* #8232, unresolvable session mismatch on register cancel (f2f6fbf1)
* pin jquery to 3.4.1, #8252 (e440d617)
* #8249, don't send move notifications for deleted posts/topics (d77036db)
* missing descriptions for common properties (7b31fb34)
* some definitions in read API spec (03739b6f)
* tagged all routes in read api spec (455d42bc)
* override ACAO header for read API spec file (240d9091)
* throw error if topic does not exist (59cf0e80)
* hookname (e93578b8)
* #8230, add hook getUserDataByUserSlug (0d1b5a7f)
* ignore case for group details route (15d6975e)
* lint (740e598a)
* lint (8e23dec8)
* #8221, fix parent selection (08031730)
* invite properly (071506eb)
* admins not seeing invite button (8f4b99a4)
* #8217, add missing lang key (0b5fac75)
* #8206 first message in chat has false `newSet` (93acd139)
* #8203, fix user invites refreshing page (2f9c7c62)
* #8202, filter non-existing users in search by uid (f07f4f8e)
* notification bodyShort truncated if there is a comma in topic title (266061c3)
* hsts max-age missing translation (b67af70d)
* call next (80f1bcad)
* try travis fix again (05bee629)
* try fixing psql on travis (bc9e92a1)
* dont let regular users see other users watched categories (cf6eadb9)
* also fix updating bookmark if sorting is newest_to_oldest (6e5de39b)
* #8188, fix bookmark if sorting is newest_to_oldest (32ada7c4)
* duplicate ID + label (ac241fb8)
* #8184 global mods unable to revoke other user sessions (f0db240a)
* return null if field does not exist (e72a29b3)
* #8179, limit length of location/website/fullname, check grouptitle (14e78667)
* tag key (32636755)
* #8175 (bc93b567)
* #8168 re-allowing slashes in homePageRoute (667608a0)
* tweak to session validation in addHeaders (eddbd868)
* only call clearCookie for logged in users (630f5d5b)
* #6422, update deleted/restored messages (06703408)
* #8163, prevent account deletion (4d0636f8)
* register (5a0c7c14)
* #8157, update recent tid when post is moved (e7495440)
* tests (b73aa84d)
* move start/stop every iteration (dd3893b1)
* #8154, move start/stop every iteration (300c04ce)
* #8154, respect stop (690bb69d)
* #8156 dont allow loading members from hidden groups (f23bc347)
* #8155, don't validate name on update if groupName didn't change (03a02e5d)
* return correct number of suggested topics (236e1e68)
* #8151, don't crash if taskbar doesn't have element (2e794801)
* logic for determining dailyStats hour vars (398f0120)
* fix daily analytics being one day off (9ecdb92f)
* remove debug line (0b9ad416)
* no decimal places for category analytics (14655f87)
* #8142, broken site if no server-side session (#8148) (d6e3f3f0)
* #8144 pluginHooks in maintenance mode middleware (0885ec68)
* **deps:**
* #8298 bump persona (158d9231)
* update dependency nodebb-plugin-composer-default to v6.3.25 (89d17647)
* update dependency jquery to v3.5.1 [security] (#8281) (a69f0b29)
* update dependency nodebb-rewards-essentials to v0.1.3 (#8289) (919034a7)
* update dependency mongodb to v3.5.7 (#8279) (25d509c4)
* actually, swagger-parser is a dev dependency (d09c6ae0)
* missing @apidevtools/swagger-parser (f1720735)
* update dependency nodebb-theme-persona to v10.1.37 (#8258) (b0c30ceb)
* update dependency archiver to v4 (28777f67)
* update dependency mongodb to v3.5.6 (#8256) (49236067)
* bump dependencies (#8239) (e68156e1)
* update dependency jsesc to v3.0.1 (#8243) (92b55ef5)
* update dependency jsesc to v3 (bb70cebb)
* update dependency pg to v8 (#8227) (ac98775f)
* update dependency validator to v13 (f497ee62)
* update dependency sharp to v0.25.2 (#8220) (dd660c87)
* bump markdown (ee6cb412)
* update dependency mongodb to v3.5.5 (#8205) (5535c50c)
* update dependency sitemap to v6 (#8198) (2052f14c)
* update dependency nodebb-plugin-composer-default to v6.3.23 (6d98d5a1)
* update dependency sharp to v0.25.1 (#8199) (21e91c91)
* update dependency nodebb-plugin-composer-default to v6.3.22 (#8193) (e01f05e3)
* update dependency nodebb-theme-slick to v1.2.29 (#8177) (9daa21ff)
* update dependency nodebb-theme-vanilla to v11.1.16 (#8178) (7d6a983b)
* update dependency nodebb-theme-persona to v10.1.35 (#8176) (3acc24b0)
* update dependency sharp to v0.24.1 (#8164) (7cc63f7d)
* update dependency mongodb to v3.5.3 (#8161) (4b907137)
* update dependency nodebb-widget-essentials to v4.1.0 (#8159) (a5f3c2a2)
* update dependency request to v2.88.2 (#8158) (7fde180a)
* update dependency redis to v3 (#8152) (ef964b11)
* update dependency rimraf to v3.0.2 (#8153) (d8efc6b6)
* **openapi:**
* v14 test fix (23a0b8c5)
* remove account and group upload routes (d342a28c)
* more fleshing out (058a15db)
* fleshed out admin routes (bae88e08)
* added some descriptions (ab4bd7e1)
* added PostsObject component (2395d2be)
* finished moving all category objects out (23dd2727)
* changed some descriptions (c939f8c6)
* added CategoryObject component (55d0a9ff)
* removed repeated breadcrumb blocks in favour of $ref (646fac1e)
* remove all repeated pagination blocks in favour of (ac579f9d)
* removed warning for category mods route (1cf62095)
* normalising the file for programmatic updates (3a5c6e07)
##### Other Changes
* #8298 (2e57d8ac)
* post.updatePostVoteCount (b25b51bd)
* //github.com/NodeBB/NodeBB (5e140454)
* categories.updateRecentTid (6c59683b)
* categories.updateRecentTid (51933c1f)
* router.page, dep. filter variant (0053e779)
* flags as well (5ebcdb18)
* crash when res.locals.linkTags is undefined" (fe03effe)
* //github.com/NodeBB/NodeBB (87a6ff0d)
* cnpm and pnpm (#8222) (e6a1741c)
* //github.com/NodeBB/NodeBB (7ae76477)
* openapi component" (683e5851)
* override ACAO header for read API spec file" (c82a2637)
* password.change (00e299e9)
* topic.tools.load (5aa76cdf)
* #8154, move start/stop every iteration" (4abe5eb7)
##### Refactors
* match core field name pinned (478ed6c1)
* getUsersCSV to use batch lib (1efb238a)
* reorganized socket.io admin modules (e1c6c3b2)
#### 1.13.2 (2020-02-05)
##### Chores

View File

@@ -1,95 +1,31 @@
'use strict';
var async = require('async');
var fork = require('child_process').fork;
var env = process.env;
const path = require('path');
const nconf = require('nconf');
nconf.argv().env({
separator: '__',
});
const winston = require('winston');
const fork = require('child_process').fork;
const env = process.env;
var worker;
var updateWorker;
var initWorker;
var incomplete = [];
var running = 0;
env.NODE_ENV = env.NODE_ENV || 'development';
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
const prestart = require('./src/prestart');
prestart.loadConfig(configFile);
var nconf = require('nconf');
nconf.file({
file: 'config.json',
});
nconf.defaults({
base_dir: __dirname,
views_dir: './build/public/templates',
});
var winston = require('winston');
winston.configure({
transports: [
new winston.transports.Console({
handleExceptions: true,
}),
],
});
var db = require('./src/database');
module.exports = function (grunt) {
var args = [];
var initArgs = ['--build'];
if (!grunt.option('verbose')) {
args.push('--log-level=info');
initArgs.push('--log-level=info');
}
function update(action, filepath, target) {
var updateArgs = args.slice();
var compiling;
var time = Date.now();
if (target === 'lessUpdated_Client') {
compiling = 'clientCSS';
} else if (target === 'lessUpdated_Admin') {
compiling = 'acpCSS';
} else if (target === 'clientUpdated') {
compiling = 'js';
} else if (target === 'templatesUpdated') {
compiling = 'tpl';
} else if (target === 'langUpdated') {
compiling = 'lang';
} else if (target === 'serverUpdated') {
// Do nothing, just restart
}
if (compiling && !incomplete.includes(compiling)) {
incomplete.push(compiling);
}
updateArgs.push('--build');
updateArgs.push(incomplete.join(','));
worker.kill();
if (updateWorker) {
updateWorker.kill('SIGKILL');
}
updateWorker = fork('app.js', updateArgs, { env: env });
running += 1;
updateWorker.on('exit', function () {
running -= 1;
if (running === 0) {
worker = fork('app.js', args, {
env: env,
});
worker.on('message', function () {
if (incomplete.length) {
incomplete = [];
if (grunt.option('verbose')) {
grunt.log.writeln('NodeBB restarted in ' + (Date.now() - time) + ' ms');
}
}
});
}
});
nconf.set('log-level', 'info');
}
prestart.setupWinston();
grunt.initConfig({
watch: {},
@@ -99,148 +35,169 @@ module.exports = function (grunt) {
grunt.registerTask('default', ['watch']);
grunt.registerTask('init', function () {
grunt.registerTask('init', async function () {
var done = this.async();
async.waterfall([
function (next) {
db.init(next);
},
function (next) {
db.getSortedSetRange('plugins:active', 0, -1, next);
},
function (plugins, next) {
addBaseThemes(plugins, next);
},
function (plugins, next) {
if (!plugins.includes('nodebb-plugin-composer-default')) {
plugins.push('nodebb-plugin-composer-default');
}
let plugins = [];
if (!process.argv.includes('--core')) {
await db.init();
plugins = await db.getSortedSetRange('plugins:active', 0, -1);
addBaseThemes(plugins);
if (!plugins.includes('nodebb-plugin-composer-default')) {
plugins.push('nodebb-plugin-composer-default');
}
if (!plugins.includes('nodebb-theme-persona')) {
plugins.push('nodebb-theme-persona');
}
}
if (process.argv.includes('--core')) {
plugins = [];
}
const styleUpdated_Client = plugins.map(p => 'node_modules/' + p + '/*.less')
.concat(plugins.map(p => 'node_modules/' + p + '/*.css'))
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static|less)/**/*.less'))
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static)/**/*.css'));
const lessUpdated_Client = plugins.map(p => 'node_modules/' + p + '/**/*.less');
const lessUpdated_Admin = plugins.map(p => 'node_modules/' + p + '/**/*.less');
const clientUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.js');
const templatesUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.tpl');
const langUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.json');
const styleUpdated_Admin = plugins.map(p => 'node_modules/' + p + '/*.less')
.concat(plugins.map(p => 'node_modules/' + p + '/*.css'))
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static|less)/**/*.less'))
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static)/**/*.css'));
grunt.config(['watch'], {
lessUpdated_Client: {
files: [
'public/less/*.less',
'!public/less/admin/**/*.less',
...lessUpdated_Client,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
lessUpdated_Admin: {
files: [
'public/less/admin/**/*.less',
...lessUpdated_Admin,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
clientUpdated: {
files: [
'public/src/**/*.js',
...clientUpdated,
'!node_modules/nodebb-*/node_modules/**',
'node_modules/benchpressjs/build/benchpress.js',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
serverUpdated: {
files: ['*.js', 'install/*.js', 'src/**/*.js', '!src/upgrades/**'],
options: {
interval: 1000,
},
},
templatesUpdated: {
files: [
'src/views/**/*.tpl',
...templatesUpdated,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
langUpdated: {
files: [
'public/language/en-GB/*.json',
'public/language/en-GB/**/*.json',
...langUpdated,
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
'!node_modules/nodebb-*/plugin.json',
'!node_modules/nodebb-*/package.json',
'!node_modules/nodebb-*/theme.json',
],
options: {
interval: 1000,
},
},
});
next();
const clientUpdated = plugins.map(p => 'node_modules/' + p + '/+(public|static)/**/*.js');
const serverUpdated = plugins.map(p => 'node_modules/' + p + '/*.js')
.concat(plugins.map(p => 'node_modules/' + p + '/+(lib|src)/**/*.js'));
const templatesUpdated = plugins.map(p => 'node_modules/' + p + '/+(public|static|templates)/**/*.tpl');
const langUpdated = plugins.map(p => 'node_modules/' + p + '/+(public|static|languages)/**/*.json');
grunt.config(['watch'], {
styleUpdated_Client: {
files: [
'public/less/**/*.less',
...styleUpdated_Client,
],
options: {
interval: 1000,
},
},
], done);
styleUpdated_Admin: {
files: [
'public/less/**/*.less',
...styleUpdated_Admin,
],
options: {
interval: 1000,
},
},
clientUpdated: {
files: [
'public/src/**/*.js',
...clientUpdated,
'node_modules/benchpressjs/build/benchpress.js',
],
options: {
interval: 1000,
},
},
serverUpdated: {
files: [
'app.js',
'install/*.js',
'src/**/*.js',
'public/src/modules/translator.js',
'public/src/modules/helpers.js',
'public/src/utils.js',
serverUpdated,
'!src/upgrades/**',
],
options: {
interval: 1000,
},
},
templatesUpdated: {
files: [
'src/views/**/*.tpl',
...templatesUpdated,
],
options: {
interval: 1000,
},
},
langUpdated: {
files: [
'public/language/en-GB/*.json',
'public/language/en-GB/**/*.json',
...langUpdated,
],
options: {
interval: 1000,
},
},
});
const build = require('./src/meta/build');
if (!grunt.option('skip')) {
await build.build(true);
}
run();
done();
});
grunt.task.run('init');
env.NODE_ENV = 'development';
if (grunt.option('skip')) {
function run() {
if (worker) {
worker.kill();
}
worker = fork('app.js', args, {
env: env,
});
} else {
initWorker = fork('app.js', initArgs, {
env: env,
});
initWorker.on('exit', function () {
worker = fork('app.js', args, {
env: env,
});
});
}
grunt.event.on('watch', update);
grunt.task.run('init');
grunt.event.removeAllListeners('watch');
grunt.event.on('watch', function update(action, filepath, target) {
var compiling;
if (target === 'styleUpdated_Client') {
compiling = 'clientCSS';
} else if (target === 'styleUpdated_Admin') {
compiling = 'acpCSS';
} else if (target === 'clientUpdated') {
compiling = 'js';
} else if (target === 'templatesUpdated') {
compiling = 'tpl';
} else if (target === 'langUpdated') {
compiling = 'lang';
} else if (target === 'serverUpdated') {
// empty require cache
const paths = ['./src/meta/build.js', './src/meta/index.js'];
paths.forEach(p => delete require.cache[require.resolve(p)]);
return run();
}
require('./src/meta/build').build([compiling], function (err) {
if (err) {
winston.error(err.stack);
}
if (worker) {
worker.send({ compiling: compiling });
}
});
});
};
function addBaseThemes(plugins, callback) {
const themeId = plugins.find(p => p.startsWith('nodebb-theme-'));
function addBaseThemes(plugins) {
let themeId = plugins.find(p => p.includes('nodebb-theme-'));
if (!themeId) {
return setImmediate(callback, null, plugins);
return plugins;
}
function getBaseRecursive(themeId) {
let baseTheme;
do {
try {
const baseTheme = require(themeId + '/theme').baseTheme;
if (baseTheme) {
plugins.push(baseTheme);
getBaseRecursive(baseTheme);
}
baseTheme = require(themeId + '/theme').baseTheme;
} catch (err) {
console.log(err);
}
}
getBaseRecursive(themeId);
callback(null, plugins);
if (baseTheme) {
plugins.push(baseTheme);
themeId = baseTheme;
}
} while (baseTheme);
return plugins;
}

View File

@@ -48,7 +48,7 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 8 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* A version of Node.js at least 10 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* Redis, version 2.8.9 or greater **or** MongoDB, version 2.6 or greater
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)

3
app.js
View File

@@ -31,10 +31,11 @@ const path = require('path');
const file = require('./src/file');
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
global.env = process.env.NODE_ENV || 'production';
// Alternate configuration file support
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
const configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database'));

View File

@@ -32,9 +32,8 @@
"registrationType": "normal",
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
"allowFileUploads": 0,
"privateUploads": 0,
"allowedFileExtensions": "png,jpg,bmp",
"allowedFileExtensions": "png,jpg,bmp,txt",
"allowUserHomePage": 1,
"allowMultipleBadges": 0,
"maximumFileSize": 2048,
@@ -71,6 +70,8 @@
"reputation:disabled": 0,
"downvote:disabled": 0,
"disableSignatures": 0,
"downvotesPerDay": 10,
"downvotesPerUserPerDay": 3,
"min:rep:downvote": 0,
"min:rep:flag": 0,
"min:rep:profile-picture": 0,
@@ -78,12 +79,15 @@
"min:rep:website": 0,
"min:rep:aboutme": 0,
"min:rep:signature": 0,
"flags:limitPerTarget": 0,
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-reply": "notification",
"notificationType_post-edit": "notification",
"notificationType_follow": "notification",
"notificationType_new-chat": "notification",
"notificationType_group-invite": "notification",
"notificationType_group-request-membership": "notification",
"notificationType_mention": "notification",
"notificationType_new-register": "notification",
"notificationType_post-queue": "notification",
@@ -111,6 +115,7 @@
"hideFullname": 0,
"hideEmail": 0,
"allowGuestHandles": 0,
"recentMaxTopics": 200,
"disableRecentCategoryFilter": 0,
"maximumRelatedTopics": 0,
"disableEmailSubscriptions": 0,

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.13.3",
"version": "1.14.3-beta.8",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -11,15 +11,15 @@
"main": "app.js",
"scripts": {
"start": "node loader.js",
"lint": "eslint --cache ./nodebb .",
"lint": "npx eslint --cache ./nodebb .",
"pretest": "npm run lint",
"test": "nyc --reporter=html --reporter=text-summary mocha",
"test": "npx nyc --reporter=html --reporter=text-summary npx mocha",
"coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
"pre-commit": "npx lint-staged",
"commit-msg": "npx commitlint -E HUSKY_GIT_PARAMS"
}
},
"lint-staged": {
@@ -30,26 +30,26 @@
},
"dependencies": {
"ace-builds": "^1.4.9",
"archiver": "^4.0.0",
"archiver": "^5.0.0",
"async": "^3.2.0",
"autoprefixer": "^9.7.6",
"bcryptjs": "2.4.3",
"benchpressjs": "^2.0.2",
"body-parser": "^1.19.0",
"bootstrap": "^3.4.1",
"bootswatch": "git://github.com/thomaspark/bootswatch.git#c41a8f066feb8950c6f9c6bcf5a3c37d1085404e",
"bootswatch": "thomaspark/bootswatch#v3.4.1+1",
"chart.js": "^2.9.3",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^5.0.0",
"commander": "^6.0.0",
"compression": "^1.7.4",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-mongo": "3.2.0",
"connect-multiparty": "^2.2.0",
"connect-pg-simple": "^6.1.0",
"connect-redis": "4.0.4",
"connect-redis": "5.0.0",
"cookie-parser": "^1.4.5",
"cron": "^1.8.2",
"cropperjs": "^1.5.6",
@@ -65,40 +65,41 @@
"ipaddr.js": "^1.9.1",
"jquery": "3.5.1",
"jsesc": "3.0.1",
"json-2-csv": "^3.6.2",
"json2csv": "5.0.1",
"jsonwebtoken": "^8.5.1",
"less": "^3.11.1",
"lodash": "^4.17.15",
"logrotate-stream": "^0.2.6",
"lru-cache": "5.1.1",
"lru-cache": "6.0.0",
"material-design-lite": "^1.3.0",
"mime": "^2.4.4",
"mkdirp": "^1.0.4",
"mongodb": "3.5.7",
"mongodb": "3.5.9",
"morgan": "^1.10.0",
"mousetrap": "^1.6.5",
"@nodebb/mubsub": "^1.6.0",
"@nodebb/socket.io-adapter-mongo": "3.0.1",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.3.25",
"nodebb-plugin-dbsearch": "4.0.7",
"nodebb-plugin-composer-default": "6.3.53",
"nodebb-plugin-dbsearch": "4.1.2",
"nodebb-plugin-emoji": "^3.3.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.11.2",
"nodebb-plugin-mentions": "2.7.4",
"nodebb-plugin-mentions": "2.9.3",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.6.7",
"nodebb-plugin-spam-be-gone": "0.7.2",
"nodebb-rewards-essentials": "0.1.3",
"nodebb-theme-lavender": "5.0.11",
"nodebb-theme-persona": "10.1.39",
"nodebb-theme-persona": "10.2.2",
"nodebb-theme-slick": "1.2.29",
"nodebb-theme-vanilla": "11.1.16",
"nodebb-widget-essentials": "4.1.0",
"nodebb-theme-vanilla": "11.2.1",
"nodebb-widget-essentials": "4.1.1",
"nodemailer": "^6.4.6",
"passport": "^0.4.1",
"passport-local": "1.0.0",
"pg": "^8.0.2",
"pg-cursor": "^2.1.9",
"postcss": "7.0.27",
"postcss": "7.0.32",
"postcss-clean": "1.1.0",
"promise-polyfill": "^8.1.3",
"prompt": "^1.0.0",
@@ -110,14 +111,13 @@
"sanitize-html": "^1.23.0",
"semver": "^7.2.1",
"serve-favicon": "^2.5.0",
"sharp": "0.25.2",
"sharp": "0.25.4",
"sitemap": "^6.1.0",
"socket.io": "2.3.0",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-adapter-mongo": "^2.0.5",
"socket.io-adapter-postgres": "^1.2.1",
"socket.io-client": "2.3.0",
"socket.io-redis": "5.2.0",
"socket.io-redis": "5.3.0",
"socketio-wildcard": "2.0.0",
"spdx-license-list": "^6.1.0",
"spider-detector": "2.0.0",
@@ -125,35 +125,35 @@
"textcomplete.contenteditable": "^0.1.1",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "13.0.0",
"winston": "3.2.1",
"validator": "13.1.1",
"winston": "3.3.3",
"xml": "^1.0.1",
"xregexp": "^4.3.0",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "9.0.1",
"@commitlint/cli": "8.3.5",
"@commitlint/config-angular": "8.3.4",
"@apidevtools/swagger-parser": "10.0.1",
"@commitlint/cli": "9.1.1",
"@commitlint/config-angular": "9.1.1",
"coveralls": "3.1.0",
"eslint": "6.8.0",
"eslint": "7.5.0",
"eslint-config-airbnb-base": "14.1.0",
"eslint-plugin-import": "2.20.2",
"grunt": "1.1.0",
"eslint-plugin-import": "2.21.1",
"grunt": "1.2.1",
"grunt-contrib-watch": "1.1.0",
"husky": "4.2.5",
"jsdom": "16.2.2",
"lint-staged": "10.2.0",
"mocha": "7.1.2",
"jsdom": "16.3.0",
"lint-staged": "10.2.11",
"mocha": "8.0.1",
"mocha-lcov-reporter": "1.3.0",
"nyc": "15.0.1",
"smtp-server": "3.6.0"
"nyc": "15.1.0",
"smtp-server": "3.7.0"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=8"
"node": ">=10"
},
"maintainers": [
{

View File

@@ -81,7 +81,7 @@ web.install = function (port) {
async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) {
if (err) {
winston.error(err);
winston.error(err.stack);
}
setupRoutes();
launchExpress(port);
@@ -223,14 +223,17 @@ function launch(req, res) {
}
function compileLess(callback) {
fs.readFile(path.join(__dirname, '../public/less/install.less'), function (err, style) {
var installSrc = path.join(__dirname, '../public/less/install.less');
fs.readFile(installSrc, function (err, style) {
if (err) {
return winston.error('Unable to read LESS install file: ', err);
return winston.error('Unable to read LESS install file: ', err.stack);
}
less.render(style.toString(), function (err, css) {
less.render(style.toString(), {
filename: path.resolve(installSrc),
}, function (err, css) {
if (err) {
return winston.error('Unable to compile LESS: ', err);
return winston.error('Unable to compile LESS: ', err.stack);
}
fs.writeFile(path.join(__dirname, '../public/installer.css'), css.css, callback);

View File

@@ -87,22 +87,22 @@ Loader.addWorkerEvents = function (worker) {
worker.on('message', function (message) {
if (message && typeof message === 'object' && message.action) {
switch (message.action) {
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
break;
case 'pubsub':
workers.forEach(function (w) {
w.send(message);
});
break;
case 'socket.io':
workers.forEach(function (w) {
if (w !== worker) {
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
break;
case 'pubsub':
workers.forEach(function (w) {
w.send(message);
}
});
break;
});
break;
case 'socket.io':
workers.forEach(function (w) {
if (w !== worker) {
w.send(message);
}
});
break;
}
}
});

View File

@@ -21,6 +21,7 @@
"es6": false
},
"rules": {
"block-scoped-var": "off",
"no-dupe-class-members": "off",
"no-var": "off",
"object-shorthand": "off",

View File

@@ -1,13 +1,13 @@
<html>
<head>
<title>Excessive Load Warning</title>
<link href='https://fonts.googleapis.com/css?family=Ubuntu:400,500,700' rel='stylesheet' type='text/css'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
body {
background: #00A9EA;
color: white;
font-family: 'Ubuntu', sans-serif;
/* see public/less/admin/vars.less for documentation on system font family */
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
text-align: center;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;

View File

@@ -1,3 +0,0 @@
/*
The following stylesheet is only included on pages that can execute javascript
*/

View File

@@ -2,6 +2,7 @@
"events": "أحداث",
"no-events": "لا توجد أحداث",
"control-panel": "لوحة تحكم الأحداث",
"delete-events": "Delete Events",
"filters": "Filters",
"filters-apply": "Apply Filters",
"filter-type": "Event Type",

View File

@@ -0,0 +1,79 @@
{
"forum-traffic": "Forum Traffic",
"page-views": "مشاهدات الصفحات",
"unique-visitors": "زائرين فريدين",
"new-users": "New Users",
"posts": "مشاركات",
"topics": "مواضيع",
"page-views-seven": "آخر 7 ايام",
"page-views-thirty": "آخر 30 يوماً",
"page-views-last-day": "آخر 24 ساعة",
"page-views-custom": "مدة زمنية مخصصة",
"page-views-custom-start": "بداية المدة",
"page-views-custom-end": "نهاية المده",
"page-views-custom-help": "أدخل نطاقا زمنيا لمرات مشاهدة الصفحات التي ترغب في عرضها. إذا لم يظهر منتقي التاريخ، فإن التنسيق المقبول هو <code>YYYY-MM-DD</code>",
"page-views-custom-error": "الرجاء إدخال نطاق تاريخ صالح بالتنسيق <code>YYYY-MM-DD</code>",
"stats.yesterday": "Yesterday",
"stats.today": "Today",
"stats.last-week": "Last Week",
"stats.this-week": "This Week",
"stats.last-month": "Last Month",
"stats.this-month": "This Month",
"stats.all": "كل الوقت",
"updates": "تحديثات",
"running-version": "المنتدى يعمل حاليا على <strong>NodeBB الإصدار<span id=\"version\">%1</span></strong>.",
"keep-updated": "تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
"up-to-date": "<p>المنتدى <strong>يعمل على أحدث إصدار</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available": "<p>A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-upgrade-available": "<p>This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-warning": "<p>هذه نسخة <strong>ماقبل الإصدار</strong> من NodeBB. قد تحدث أخطاء غير مقصودة. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
"latest-lookup-failed": "<p>Failed to look up latest available version of NodeBB</p>",
"notices": "إشعارات",
"restart-not-required": "إعادة التشغيل غير مطلوب",
"restart-required": "إعادة التشغيل مطلوبة",
"search-plugin-installed": "إضافة البحث منصبة",
"search-plugin-not-installed": "إضافة البحث غير منصبة",
"search-plugin-tooltip": "نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث",
"control-panel": "التحكم بالنظام",
"rebuild-and-restart": "Rebuild &amp; Restart",
"restart": "Restart",
"restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.",
"restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.",
"maintenance-mode": "وضع الصيانة",
"maintenance-mode-title": "انقر هنا لإعداد وضع الصيانة لـNodeBB",
"realtime-chart-updates": "التحديث الفوري للرسم البياني",
"active-users": "المستخدمين النشطين",
"active-users.users": "الأعضاء",
"active-users.guests": "الزوار",
"active-users.total": "المجموع",
"active-users.connections": "Connections",
"anonymous-registered-users": "المجهولين مقابل المستخدمين المسجلين",
"anonymous": "مجهول",
"registered": "مسجل",
"user-presence": "تواجد المستخدمين",
"on-categories": "في قائمة الأقسام",
"reading-posts": "قراءة المشاركات",
"browsing-topics": "تصفح المواضيع",
"recent": "الأخيرة",
"unread": "غير مقروء",
"high-presence-topics": "مواضيع ذات حضور قوي",
"graphs.page-views": "مشاهدات الصفحة",
"graphs.page-views-registered": "Page Views Registered",
"graphs.page-views-guest": "Page Views Guest",
"graphs.page-views-bot": "Page Views Bot",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.anonymous-users": "مستخدمين مجهولين",
"last-restarted-by": "Last restarted by",
"no-users-browsing": "No users browsing"
}

View File

@@ -3,6 +3,7 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"primary": "primary / run jobs",
"pid": "pid",
"nodejs": "nodejs",
"online": "online",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "# of Recent Replies",
"ext-link": "External Link",
"is-section": "Treat this category as a section",
"tag-whitelist": "Tag Whitelist",
"upload-image": "Upload Image",
"delete-image": "Remove",
"category-image": "Category Image",
@@ -26,6 +27,8 @@
"enable": "Enable",
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"view-category": "View category",
"select-category": "Select Category",
"set-parent-category": "Set Parent Category",
@@ -75,7 +78,9 @@
"alert.user-search": "Search for a user here...",
"alert.find-group": "Find a Group",
"alert.group-search": "Search for a group here...",
"alert.not-enough-whitelisted-tags": "Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"collapse-all": "Collapse All",
"expand-all": "Expand All",
"disable-on-create": "Disable on create"
"disable-on-create": "Disable on create",
"no-matches": "No matches"
}

View File

@@ -9,7 +9,7 @@
"default": "System default",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
@@ -18,4 +18,4 @@
"manual-run": "Manual digest run:",
"no-delivery-data": "No delivery data found"
}
}

View File

@@ -8,6 +8,8 @@
"hidden": "Hidden",
"private": "Private",
"edit": "Edit",
"delete": "Delete",
"download-csv": "Download CSV",
"search-placeholder": "Search",
"create": "Create Group",
"description-placeholder": "A short description about your group",

View File

@@ -1,8 +1,10 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"admin": "Admin",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"edit-privileges": "Edit Privileges",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
@@ -31,5 +33,10 @@
"downvote-posts": "Downvote Posts",
"delete-topics": "Delete Topics",
"purge": "Purge",
"moderate": "Moderate"
"moderate": "Moderate",
"admin-dashboard": "Dashboard",
"admin-categories": "Categories",
"admin-privileges": "Privileges",
"admin-users": "Users",
"admin-settings": "Settings"
}

View File

@@ -3,13 +3,13 @@
"bg-color": "Background Colour",
"text-color": "Text Colour",
"create-modify": "Create & Modify Tags",
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
"description": "Select tags by clicking or dragging, use <code>CTRL</code> to select multiple tags.",
"create": "Create Tag",
"modify": "Modify Tags",
"rename": "Rename Tags",
"delete": "Delete Selected Tags",
"search": "Search for tags...",
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
"settings": "Tags Settings",
"name": "Tag Name",
"alerts.editing": "Editing tag(s)",

View File

@@ -12,8 +12,9 @@
"unban": "Unban User(s)",
"reset-lockout": "Reset Lockout",
"reset-flags": "Reset Flags",
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"delete": "Delete <strong>User(s)</strong>",
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
@@ -93,9 +94,11 @@
"alerts.validate-email-success": "Emails validated",
"alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.",
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.delete-success": "User(s) Deleted!",
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.delete-content-success": "User(s) Content Deleted!",
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.create": "Create User",
"alerts.button-create": "Create",
"alerts.button-cancel": "Cancel",
@@ -105,5 +108,5 @@
"alerts.prompt-email": "Emails: ",
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)"
}

View File

@@ -1,11 +1,6 @@
{
"dashboard": "Dashboard",
"section-general": "عام",
"general/dashboard": "اللوحة الرئيسية",
"general/homepage": "الصفحة الرئيسية",
"general/navigation": "التصفح",
"general/languages": "اللغات",
"general/sounds": "الأصوات",
"general/social": "شبكات التواصل",
"section-manage": "إدارة",
"manage/categories": "الأقسام",
@@ -22,17 +17,22 @@
"section-settings": "إعدادات",
"settings/general": "عامة",
"settings/reputation": "السمعة",
"settings/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "Reputation & Flags",
"settings/email": "البريد الإلكتروني",
"settings/user": "الأعضاء",
"settings/group": "المجموعات",
"settings/user": "Users",
"settings/group": "Groups",
"settings/guest": "الزوار",
"settings/uploads": "الرفع",
"settings/post": "المشاركة",
"settings/chat": "الدردشة",
"settings/languages": "Languages",
"settings/post": "Posts",
"settings/chat": "Chats",
"settings/pagination": "ترقيم الصفحات",
"settings/tags": "الكلمات المفتاحية",
"settings/notifications": "التنبيهات",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",
"settings/web-crawler": "Web Crawler",
"settings/sockets": "Sockets",

View File

@@ -20,10 +20,15 @@
"hsts.preload": "Allow preloading of HSTS header",
"hsts.help": "If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Traffic Management",
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.help": "NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable": "Enable Traffic Management",
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay"
}

View File

@@ -1,41 +1,41 @@
{
"site-settings": "Site Settings",
"title": "Site Title",
"title.short": "Short Title",
"title.short-placeholder": "If no short title is specified, the site title will be used",
"title.url": "URL",
"site-settings": "اعدادات الموقع",
"title": "عنوان الموقع",
"title.short": "عنوان قصير",
"title.short-placeholder": "ان لم تقم بكتابة عنوان مختصر, سيتم استخدام عنوان الموقع الكلي",
"title.url": "الرابط",
"title.url-placeholder": "The URL of the site title",
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"title.name": "Your Community Name",
"title.name": "اسم المنتدي",
"title.show-in-header": "Show Site Title in Header",
"browser-title": "Browser Title",
"browser-title": "عنوان المتصفح",
"browser-title-help": "If no browser title is specified, the site title will be used",
"title-layout": "Title Layout",
"title-layout-help": "Define how the browser title will be structured ie. &#123;pageTitle&#125; | &#123;browserTitle&#125;",
"description.placeholder": "A short description about your community",
"description": "Site Description",
"keywords": "Site Keywords",
"description": "وصف الموقع",
"keywords": "الكلمات الدليله للموقع",
"keywords-placeholder": "Keywords describing your community, comma-separated",
"logo": "Site Logo",
"logo.image": "Image",
"logo": "شعار الموقع",
"logo.image": "صورة",
"logo.image-placeholder": "Path to a logo to display on forum header",
"logo.upload": "Upload",
"logo.url": "URL",
"logo.upload": "رفع",
"logo.url": "الرابط",
"logo.url-placeholder": "The URL of the site logo",
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"logo.alt-text": "Alt Text",
"logo.alt-text": "نص بديل",
"log.alt-text-placeholder": "Alternative text for accessibility",
"favicon": "Favicon",
"favicon.upload": "Upload",
"favicon": "صورة المفضله",
"favicon.upload": "رفع",
"touch-icon": "Homescreen/Touch Icon",
"touch-icon.upload": "Upload",
"touch-icon.upload": "رفع",
"touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"outgoing-links": "Outgoing Links",
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
"search-default-sort-by": "Search default sort by",
"search-default-sort-by": "الترتيب الافتراضي للبحث",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
"site-colors": "Site Color Metadata",
"theme-color": "Theme Color",
"background-color": "Background Color",
"theme-color": "لون الثيم",
"background-color": "لون الخلفية",
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
}

View File

@@ -0,0 +1,6 @@
{
"language-settings": "اعدادات اللغة",
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
}

View File

@@ -2,6 +2,5 @@
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)",
"notification-alert-timeout": "Notification Alert Timeout"
"welcome-notification-uid": "Welcome Notification User (UID)"
}

View File

@@ -42,6 +42,7 @@
"unread.cutoff": "Unread cutoff days",
"unread.min-track-last": "Minimum posts in topic before tracking last read",
"recent": "Recent Settings",
"recent.max-topics": "Maximum topics on /recent",
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
"signature": "Signature Settings",
"signature.disable": "Disable signatures",

View File

@@ -5,10 +5,16 @@
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile"
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile",
"flags": "Flag Settings",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0"
}

View File

@@ -0,0 +1,9 @@
{
"notifications": "التنبيهات",
"chat-messages": "Chat Messages",
"play-sound": "Play",
"incoming-message": "Incoming Message",
"outgoing-message": "Outgoing Message",
"upload-new-sound": "Upload New Sound",
"saved": "Settings Saved"
}

View File

@@ -1,10 +1,10 @@
{
"tag": "Tag Settings",
"link-to-manage": "Manage Tags",
"min-per-topic": "Minimum Tags per Topic",
"max-per-topic": "Maximum Tags per Topic",
"min-length": "Minimum Tag Length",
"max-length": "Maximum Tag Length",
"goto-manage": "Click here to visit the tag management page.",
"related-topics": "Related Topics",
"max-related-topics": "Maximum related topics to display (if supported by theme)"
}

View File

@@ -138,8 +138,13 @@
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"already-flagged": "لقد بلغت عن هذه المشاركة من قبل.",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"self-vote": "You cannot vote on your own post",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",

View File

@@ -1,56 +1,61 @@
{
"state": "State",
"reporter": "Reporter",
"reported-at": "Reported At",
"description": "Description",
"state": "الحالة",
"reports": "Reports",
"first-reported": "First Reported",
"no-flags": "Hooray! No flags found.",
"assignee": "Assignee",
"update": "Update",
"updated": "Updated",
"assignee": "المحال إليه",
"update": "تحديث",
"updated": "تم التحديث",
"target-purged": "The content this flag referred to has been purged and is no longer available.",
"graph-label": "Daily Flags",
"quick-filters": "Quick Filters",
"filter-active": "There are one or more filters active in this list of flags",
"filter-reset": "Remove Filters",
"filters": "Filter Options",
"filter-reset": "ازالة الفلاتر",
"filters": "خيارات الفلتر",
"filter-reporterId": "Reporter UID",
"filter-targetUid": "Flagged UID",
"filter-type": "Flag Type",
"filter-type-all": "All Content",
"filter-type-post": "Post",
"filter-type-user": "User",
"filter-state": "State",
"filter-type": "عنوان العلامة",
"filter-type-all": "كل المحتوي",
"filter-type-post": "مشاركة",
"filter-type-user": "مستخدم",
"filter-state": "الحالة",
"filter-assignee": "Assignee UID",
"filter-cid": "Category",
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
"apply-filters": "Apply Filters",
"more-filters": "More Filters",
"quick-links": "Quick Links",
"quick-actions": "اجراءات سريعه",
"flagged-user": "Flagged User",
"view-profile": "View Profile",
"start-new-chat": "Start New Chat",
"view-profile": "مشاهدة الملف الشخصي",
"start-new-chat": "بدء محادثه جديده",
"go-to-target": "View Flag Target",
"assign-to-me": "Assign To Me",
"delete-post": "حذف المشاركة",
"purge-post": "Purge Post",
"restore-post": "استرجاع المشاركة",
"user-view": "View Profile",
"user-edit": "Edit Profile",
"user-view": "مشاهدة الملف الشخصي",
"user-edit": "تعديل الملف الشخصي",
"notes": "Flag Notes",
"add-note": "Add Note",
"add-note": "اضافة ملاحظة",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"note-added": "Note Added",
"note-deleted": "Note Deleted",
"history": "Flag History",
"back": "Back to Flags List",
"history": "Account &amp; Flag History",
"no-history": "No flag history.",
"state-all": "All states",
"state-open": "New/Open",
"state-wip": "Work in Progress",
"state-resolved": "Resolved",
"state-rejected": "Rejected",
"state-resolved": "تم حلها",
"state-rejected": "تم رفضها",
"no-assignee": "Not Assigned",
"note-added": "Note Added",
"modal-title": "Report Inappropriate Content",
"modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.",

View File

@@ -30,6 +30,7 @@
"header.unread": "غير مقروء",
"header.tags": "وسم",
"header.popular": "الأكثر شهرة",
"header.top": "Top",
"header.users": "المستخدمين",
"header.groups": "المجموعات",
"header.chats": "المحادثات",
@@ -53,6 +54,7 @@
"posts": "المشاركات",
"best": "الأفضل",
"votes": "Votes",
"voters": "Voters",
"upvoters": "الموافقين",
"upvoted": "مصوت بالموجب",
"downvoters": "مصوتين بالسالب",

View File

@@ -1,6 +1,7 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 يكتب رسالة...",
@@ -58,6 +59,7 @@
"composer.upload-file": "Upload File",
"composer.zen_mode": "Zen Mode",
"composer.select_category": "Select a category",
"composer.textarea.placeholder": "Enter your post content here, drag and drop images",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",

View File

@@ -35,6 +35,7 @@
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
"user_edited_post": "<strong>%1</strong> has edited a post in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
@@ -42,6 +43,9 @@
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
"flag_assigned_to_you": "تم تخصيص العلامة 1% لك",
"post_awaiting_review": "Post awaiting review",
"profile-exported": "<strong>%1</strong> profile exported, click to download",
"posts-exported": "<strong>%1</strong> posts exported, click to download",
"uploads-exported": "<strong>%1</strong> uploads exported, click to download",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
@@ -53,6 +57,7 @@
"notificationType_upvote": "عندما يوافقك احدهم على منشورك",
"notificationType_new-topic": "When someone you follow posts a topic",
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
"notificationType_post-edit": "When a post is edited in a topic you are watching",
"notificationType_follow": "When someone starts following you",
"notificationType_new-chat": "When you receive a chat message",
"notificationType_group-invite": "When you receive a group invite",

View File

@@ -3,5 +3,6 @@
"tags": "الكلمات الدلالية",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "أدخل الكلمات الدلالية...",
"no_tags": "لا يوجد كلمات دلالية بعد."
"no_tags": "لا يوجد كلمات دلالية بعد.",
"select_tags": "Select Tags"
}

View File

@@ -36,8 +36,9 @@
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag_title": "إشعار بمشاركة مخلة.",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"flag_post": "Flag this post",
"flag_user": "Flag this user",
"merged_message": "This topic has been merged into <a href=\"%1\">%2</a>",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
@@ -99,7 +100,11 @@
"fork_pid_count": "1% مشاركة محددة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"merge_topics_instruction": "Click the topics you want to merge",
"merge_topics_instruction": "Click the topics you want to merge or search for them",
"merge-topic-list-title": "List of topics to be merged",
"merge-options": "Merge options",
"merge-select-main-topic": "Select the main topic",
"merge-new-title-for-topic": "New title for topic",
"move_posts_instruction": "Click the posts you want to move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
@@ -134,6 +139,9 @@
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
"diffs.current-revision": "current revision",
"diffs.original-revision": "original revision",
"diffs.restore": "Restore this revision",
"diffs.restore-description": "A new revision will be appended to this post's edit history.",
"diffs.post-restored": "Post successfully restored to earlier revision",
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier"
}

View File

@@ -8,13 +8,20 @@
"email": "البريد الإلكتروني",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
"account_info": "معلومات الحساب",
"admin_actions_label": "Administrative Actions",
"ban_account": "حظر الحساب",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "إزالة حظر الحساب",
"delete_account": "حذف الحساب",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm": "هل انت متأكد من رغبتك بحذف هذا الحساب؟ <br /> <strong>هذا الإجراء لا رجعة فيه ولن تتمكن من استرداد أي بيانات</strong><br /><br />",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
"delete_all": "Delete <strong>Account</strong> and <strong>Content</strong>",
"delete_account_confirm": "Are you sure you want to anonymize your posts and delete your account?<br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm": "Are you sure you want to delete this account while leaving its contents behind?<br /><strong>This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account</strong><br /><br />",
"delete_account_content_confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"delete_all_confirm": "Are you sure you want to delete this account and all of its content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"account-deleted": "تم حذف الحساب",
"account-content-deleted": "Account content deleted",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "الموقع",
@@ -144,6 +151,7 @@
"info.ban-history": "سجل الحظر الأحدث",
"info.no-ban-history": "هذا المستخدم لم يتم حظره مطلقا",
"info.banned-until": "محظور حتى %1",
"info.banned-expiry": "Expiry",
"info.banned-permanently": "محظور بشكل دائم",
"info.banned-reason-label": "سبب",
"info.banned-no-reason": "لم يتم إعطاء سبب.",
@@ -170,7 +178,10 @@
"consent.right_to_erasure_description": "At any time, you are able to revoke your consent to data collection and/or processing by deleting your account. Your individual profile can be deleted, although your posted content will remain. If you wish to delete both your account <strong>and</strong> your content, please contact the administrative team for this website.",
"consent.right_to_data_portability": "You have the Right to Data Portability",
"consent.right_to_data_portability_description": "You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.",
"consent.export_profile": "Export Profile (.csv)",
"consent.export_profile": "Export Profile (.json)",
"consent.export-profile-success": "Exporting profile, you will get a notification when it is complete.",
"consent.export_uploads": "Export Uploaded Content (.zip)",
"consent.export_posts": "Export Posts (.csv)"
"consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.",
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete."
}

View File

@@ -2,6 +2,7 @@
"events": "Събития",
"no-events": "Няма събития",
"control-panel": "Контролен панел за събитията",
"delete-events": "Изтриване на събитията",
"filters": "Филтри",
"filters-apply": "Прилагане на филтрите",
"filter-type": "Вид събитие",

View File

@@ -0,0 +1,79 @@
{
"forum-traffic": "Трафик на форума",
"page-views": "Преглеждания на страниците",
"unique-visitors": "Уникални посетители",
"new-users": "Нови потребители",
"posts": "Публикации",
"topics": "Теми",
"page-views-seven": "Последните 7 дни",
"page-views-thirty": "Последните 30 дни",
"page-views-last-day": "Последните 24 часа",
"page-views-custom": "Интервал по избор",
"page-views-custom-start": "Начална дата",
"page-views-custom-end": "Крайна дата",
"page-views-custom-help": "Въведете интервал от дати, за които искате да видите преглежданията на страниците. Ако не се появи календар за избор, можете да въведете датите във формат: <code>ГГГГ-ММ-ДД</code>",
"page-views-custom-error": "Моля, въведете правилен интервал от дати във формата: <code>ГГГГ-ММ-ДД</code>",
"stats.yesterday": "Вчера",
"stats.today": "Днес",
"stats.last-week": "Миналата седмица",
"stats.this-week": "Тази седмица",
"stats.last-month": "Миналия месец",
"stats.this-month": "Този месец",
"stats.all": "От началото",
"updates": "Обновления",
"running-version": "Вие използвате <strong>NodeBB версия <span id=\"version\">%1</span></strong>.",
"keep-updated": "Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.",
"up-to-date": "<p>Вие използвате <strong>най-новата версия</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available": "<p>Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-upgrade-available": "<p>Това е остаряла предварителна версия на NodeBB. Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-warning": "<p>Това е версия за <strong>предварителен преглед</strong> на NodeBB. Възможно е да има неочаквани неизправности. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development": "<span>Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.</span>",
"latest-lookup-failed": "<p>Не може да бъде извършена проверка за последната налична версия на NodeBB</p>",
"notices": "Забележки",
"restart-not-required": "Не се изисква рестартиране",
"restart-required": "Изисква се рестартиране",
"search-plugin-installed": "Добавката за търсене е инсталирана",
"search-plugin-not-installed": "Добавката за търсене не е инсталирана",
"search-plugin-tooltip": "Инсталирайте добавка за търсене от страницата с добавките, за да включите функционалността за търсене",
"control-panel": "Системен контрол",
"rebuild-and-restart": "Повторно изграждане и рестартиране",
"restart": "Рестартиране",
"restart-warning": "Повторното изграждане и рестартирането на NodeBB ще прекъснат всички връзки за няколко секунди.",
"restart-disabled": "Възможностите за повторно изграждане и рестартиране на NodeBB са изключени, тъй като изглежда, че NodeBB не се изпълнява чрез подходящия демон.",
"maintenance-mode": "Режим на профилактика",
"maintenance-mode-title": "Щракнете тук, за да зададете режим на профилактика на NodeBB",
"realtime-chart-updates": "Актуализации на таблиците в реално време",
"active-users": "Дейни потребители",
"active-users.users": "Потребители",
"active-users.guests": "Гости",
"active-users.total": "Общо",
"active-users.connections": "Връзки",
"anonymous-registered-users": "Анонимни към регистрирани потребители",
"anonymous": "Анонимни",
"registered": "Регистрирани",
"user-presence": "Присъствие на потребителите ",
"on-categories": "В списъка с категории",
"reading-posts": "Четящи публикации",
"browsing-topics": "Разглеждащи теми",
"recent": "Скорошни",
"unread": "Непрочетени",
"high-presence-topics": "Теми с най-голяма присъственост",
"graphs.page-views": "Преглеждания на страниците",
"graphs.page-views-registered": "Преглеждания на страниците от регистрирани потребители",
"graphs.page-views-guest": "Преглеждания на страниците от гости",
"graphs.page-views-bot": "Преглеждания на страниците от ботове",
"graphs.unique-visitors": "Уникални посетители",
"graphs.registered-users": "Регистрирани потребители",
"graphs.anonymous-users": "Анонимни потребители",
"last-restarted-by": "Последно рестартиране от",
"no-users-browsing": "Няма разглеждащи потребители"
}

View File

@@ -3,6 +3,7 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
"host": "сървър",
"primary": "основен / изпълнение на задачите",
"pid": "ид. на процеса",
"nodejs": "nodejs",
"online": "на линия",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "Брой на скорошните отговори",
"ext-link": "Външна връзка",
"is-section": "Използване на тази категория като раздел",
"tag-whitelist": "Списък от разрешени етикети",
"upload-image": "Качване на изображение",
"delete-image": "Премахване",
"category-image": "Изображение на категорията",
@@ -26,6 +27,8 @@
"enable": "Включване",
"disable": "Изключване",
"edit": "Редактиране",
"analytics": "Analytics",
"view-category": "View category",
"select-category": "Изберете категория",
"set-parent-category": "Задайте базова категория",
@@ -75,7 +78,9 @@
"alert.user-search": "Потърсете потребител тук…",
"alert.find-group": "Търсене на група",
"alert.group-search": "Потърсете група тук…",
"alert.not-enough-whitelisted-tags": "Разрешените етикети са по-малко от минимума. Трябва да създадете още разрешени етикети!",
"collapse-all": "Свиване на всички",
"expand-all": "Разгъване на всички",
"disable-on-create": "Изключване при създаване"
"disable-on-create": "Изключване при създаване",
"no-matches": "Няма съвпадения"
}

View File

@@ -18,4 +18,4 @@
"manual-run": "Ръчно разпращане на резюмето:",
"no-delivery-data": "Няма данни за доставката"
}
}

View File

@@ -8,6 +8,8 @@
"hidden": "Скрита",
"private": "Частна",
"edit": "Редактиране",
"delete": "Изтриване",
"download-csv": "Сваляне във формат „CSV“",
"search-placeholder": "Търсене",
"create": "Създаване на група",
"description-placeholder": "Кратко описание на групата",

View File

@@ -1,8 +1,10 @@
{
"global": "Глобални",
"global.no-users": "Няма глобални правомощия за отделни потребители.",
"admin": "Администратор",
"group-privileges": "Правомощия за групите",
"user-privileges": "Правомощия за потребителите",
"edit-privileges": "Редактиране на правомощията",
"chat": "Разговор",
"upload-images": "Качване на изображения",
"upload-files": "Качване на файлове",
@@ -31,5 +33,10 @@
"downvote-posts": "Отрицателно гласуване за публикации",
"delete-topics": "Изтриване на теми",
"purge": "Изчистване",
"moderate": "Модериране"
"moderate": "Модериране",
"admin-dashboard": "Табло",
"admin-categories": "Категории",
"admin-privileges": "Правомощия",
"admin-users": "Потребители",
"admin-settings": "Настройки"
}

View File

@@ -3,13 +3,13 @@
"bg-color": "Цвят на фона",
"text-color": "Цвят на текста",
"create-modify": "Създаване и редактиране на етикети",
"description": "Изберете етикетите чрез щракване или влачене. Използвайте „Shift“, за да изберете няколко етикета.",
"description": "Изберете етикетите чрез щракване или влачене. Използвайте <code>CTRL</code>, за да изберете няколко етикета.",
"create": "Създаване на етикет",
"modify": "Редактиране на етикети",
"rename": "Преименуване на етикети",
"delete": "Изтриване на избраните етикети",
"search": "Търсене на етикети…",
"settings": "Натиснете <a href=\"%1\">тук</a>, за да отворите страницата с настройки на етикета.",
"settings": "Настройки за етикетите",
"name": "Име на етикета",
"alerts.editing": "Редактиране на етикет(и)",

View File

@@ -12,8 +12,9 @@
"unban": "Деблокиране на потребителя/ите",
"reset-lockout": "Нулиране на заключването",
"reset-flags": "Анулиране на докладите",
"delete": "Изтриване на потребителя/ите",
"purge": "Изтриване на потребителя/ите и съдържанието",
"delete": "Изтриване на <strong>потребителя/ите</strong>",
"delete-content": "Изтриване на <strong>съдържанието</strong> на потребителя/ите",
"purge": "Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
"download-csv": "Сваляне във формат „CSV“",
"manage-groups": "Управление на групите",
"add-group": "Добавяне на група",
@@ -93,9 +94,11 @@
"alerts.validate-email-success": "Е-пощите са проверени",
"alerts.validate-force-password-reset-success": "Паролата на потребителя (или паролите на потребителите) беше подновена и сесията му беше прекратена.",
"alerts.password-reset-confirm": "Искате ли да изпратите е-писмо/а за възстановяване на паролата на този/тези потребител(и)?",
"alerts.confirm-delete": "<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.",
"alerts.confirm-delete": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите</strong>?</p> <p>Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.</p>",
"alerts.delete-success": "Потребителят/ите е/са изтрит(и)!",
"alerts.confirm-purge": "<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!",
"alerts.confirm-delete-content": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>съдържанието</strong> на този потребител или тези потребители?</p> <p>Това действие е необратимо! Профилите на потребителите ще останат, но всички техни публикации и теми ще бъдат изтрити.</p>",
"alerts.delete-content-success": "Съдържанието на потребителя/ите е изтрито!",
"alerts.confirm-purge": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите и неговото/тяхното съдържание</strong>?</p> <p>Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!</p>",
"alerts.create": "Създаване на потребител",
"alerts.button-create": "Създаване",
"alerts.button-cancel": "Отказ",
@@ -105,5 +108,5 @@
"alerts.prompt-email": "Е-пощи: ",
"alerts.email-sent-to": "Беше изпратено е-писмо за потвърждение до %1",
"alerts.x-users-found": "Намерени потребители: %1! Търсенето отне %2 милисекунди."
"alerts.x-users-found": "Намерени потребители: %1 (%2 секунди)"
}

View File

@@ -1,11 +1,6 @@
{
"dashboard": "Табло",
"section-general": "Общи",
"general/dashboard": "Табло",
"general/homepage": "Начало",
"general/navigation": "Навигация",
"general/languages": "Езици",
"general/sounds": "Звуци",
"general/social": "Обществени",
"section-manage": "Управление",
"manage/categories": "Категории",
@@ -22,17 +17,22 @@
"section-settings": "Настройки",
"settings/general": "Общи",
"settings/reputation": "Репутация",
"settings/homepage": "Начална страница",
"settings/navigation": "Навигация",
"settings/reputation": "Репутация и доклади",
"settings/email": "Е-поща",
"settings/user": "Потребител",
"settings/group": "Група",
"settings/user": "Потребители",
"settings/group": "Групи",
"settings/guest": "Гости",
"settings/uploads": "Качвания",
"settings/post": "Публикация",
"settings/chat": "Разговор",
"settings/languages": "Езици",
"settings/post": "Публикации",
"settings/chat": "Разговори",
"settings/pagination": "Странициране",
"settings/tags": "Етикети",
"settings/notifications": "Известия",
"settings/sounds": "Звуци",
"settings/social": "Обществени",
"settings/cookies": "Бисквитки",
"settings/web-crawler": "Обхождач на уеб страници",
"settings/sockets": "Сокети",

View File

@@ -20,10 +20,15 @@
"hsts.preload": "Позволяване на предварителното зареждане на заглавката на HSTS",
"hsts.help": "Ако това е включено, за този уеб ще бъде настроена заглавка за HSTS. Можете да изберете дали да включите поддомейните и дали за заредите предварително флаговете в заглавката си. Ако не знаете какво да направите, най-добре не избирайте нищо. <a href=\"%1\">Още информация<i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Управление на трафика",
"traffic.help": "NodeBB има вграден модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
"traffic.help": "NodeBB използва модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
"traffic.enable": "Включване на управлението на трафика",
"traffic.event-lag": "Граница на забавяне в цикъла на събитията (в милисекунди)",
"traffic.event-lag-help": "Намаляването на тази стойност ще намали времето за изчакване при зареждане на страници, но също така ще предизвика по-често показване на съобщението „прекомерно натоварване“ на повече потребители. (Нужно е рестартиране.)",
"traffic.lag-check-interval": "Интервал на проверка (в милисекунди)",
"traffic.lag-check-interval-help": "Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)"
"traffic.lag-check-interval-help": "Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)",
"sockets.settings": "Настройки за WebSocket",
"sockets.max-attempts": "Максимален брой опити за повторно свързване",
"sockets.default-placeholder": "По подразбиране: %1",
"sockets.delay": "Забавяне при повторно свързване"
}

View File

@@ -0,0 +1,8 @@
{
"home-page": "Начална страница",
"description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
"home-page-route": "Път на началната страница",
"custom-route": "Персонализиран път",
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)"
}

View File

@@ -0,0 +1,6 @@
{
"language-settings": "Езикови настройки",
"description": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
"default-language": "Език по подразбиране",
"auto-detect": "Автоматично разпознаване на езика за гостите"
}

View File

@@ -0,0 +1,23 @@
{
"icon": "Иконка:",
"change-icon": "промяна",
"route": "Маршрут:",
"tooltip": "Подсказка:",
"text": "Текст:",
"text-class": "Текстов клас: <small>незадължително</small>",
"class": "Клас: <small>незадължително</small>",
"id": "Идентификатор: <small>незадължително</small>",
"properties": "Свойства:",
"groups": "Групи:",
"open-new-window": "Отваряне в нов прозорец",
"btn.delete": "Изтриване",
"btn.disable": "Изключване",
"btn.enable": "Включване",
"available-menu-items": "Налични елементи за менюто",
"custom-route": "Персонализиран маршрут",
"core": "ядро",
"plugin": "добавка"
}

View File

@@ -2,6 +2,5 @@
"notifications": "Известия",
"welcome-notification": "Приветствено известие",
"welcome-notification-link": "Връзка за приветственото известие",
"welcome-notification-uid": "Потр. ид. за приветственото известие",
"notification-alert-timeout": "Време за изчакване преди премахване на уведомяването за известие"
"welcome-notification-uid": "Потр. ид. за приветственото известие"
}

View File

@@ -42,6 +42,7 @@
"unread.cutoff": "Възраст на публикациите, след която те не се показват в непрочетените (в брой дни)",
"unread.min-track-last": "Минимален брой публикации в темата, след което да започва следене на последно прочетената",
"recent": "Настройки за скорошните",
"recent.max-topics": "Максимален брой теми в скорошните",
"recent.categoryFilter.disable": "Изключване на филтрирането на темите в пренебрегваните категории на страницата /recent",
"signature": "Настройки за подписите",
"signature.disable": "Забраняване на подписите",

View File

@@ -5,10 +5,16 @@
"votes-are-public": "Всички гласувания са публични",
"thresholds": "Ограничения на дейността",
"min-rep-downvote": "Минимална репутация, необходима за отрицателно гласуване за публикации",
"downvotes-per-day": "Отрицателни гласувания за ден (задайте 0 за неограничен брой)",
"downvotes-per-user-per-day": "Отрицателни гласувания за потребител за ден (задайте 0 за неограничен брой)",
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
"min-rep-website": "Минимална репутация, необходима за добавяне на полето „Уебсайт“ към профила на потребителя",
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
"min-rep-signature": "Минимална репутация, необходима за добавяне на полето „Подпис“ към профила на потребителя",
"min-rep-profile-picture": "Минимална репутация, необходима за добавяне на профилна снимка към профила на потребителя",
"min-rep-cover-picture": "Минимална репутация, необходима за добавяне на снимка на корицата към профила на потребителя"
"min-rep-cover-picture": "Минимална репутация, необходима за добавяне на снимка на корицата към профила на потребителя",
"flags": "Настройки за докладите",
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
"flags.limit-per-target-placeholder": "По подразбиране: 0"
}

View File

@@ -0,0 +1,5 @@
{
"post-sharing": "Споделяне на публикации",
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации.",
"save-success": "Мрежите за споделяне на публикации са запазени успешно!"
}

View File

@@ -0,0 +1,9 @@
{
"notifications": "Известия",
"chat-messages": "Съобщения в разговори",
"play-sound": "Пускане",
"incoming-message": "Входящо съобщение",
"outgoing-message": "Изходящо съобщение",
"upload-new-sound": "Качване на нов звук",
"saved": "Настройките са запазени"
}

View File

@@ -1,10 +1,10 @@
{
"tag": "Настройки за етикетите",
"link-to-manage": "Управление на етикетите",
"min-per-topic": "Минимален брой етикети за тема",
"max-per-topic": "Максимален брой етикети за тема",
"min-length": "Минимална дължина на етикетите",
"max-length": "Максимална дължина на етикетите",
"goto-manage": "Щракнете тук, за да отворите страницата за управление на етикетите.",
"related-topics": "Свързани теми",
"max-related-topics": "Максимален брой свързани теми, които да бъдат показвани (ако това се поддържа от темата)"
}

View File

@@ -138,8 +138,13 @@
"not-enough-reputation-min-rep-signature": "Нямате достатъчно репутация, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture": "Нямате достатъчно репутация, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture": "Нямате достатъчно репутация, за да добавите снимка на корицата",
"already-flagged": "Вече сте докладвали тази публикация",
"post-already-flagged": "Вече сте докладвали тази публикация",
"user-already-flagged": "Вече сте докладвали този потребител",
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
"self-vote": "Не можете да гласувате за собствената си публикация",
"too-many-downvotes-today": "Можете да гласувате отрицателно не повече от %1 пъти на ден",
"too-many-downvotes-today-user": "Можете да гласувате отрицателно за потребител не повече от %1 пъти на ден",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error": "Грешка при регистрацията",
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра",

View File

@@ -1,8 +1,7 @@
{
"state": "Състояние",
"reporter": "Докладвал",
"reported-at": "Докладвано на",
"description": "Описание",
"reports": "Доклади",
"first-reported": "Първо докладване",
"no-flags": "Ура! Няма намерени доклади.",
"assignee": "Назначен",
"update": "Обновяване",
@@ -26,12 +25,17 @@
"filter-quick-mine": "Назначени на мен",
"filter-cid-all": "Всички категории",
"apply-filters": "Прилагане на филтрите",
"more-filters": "Още филтри",
"quick-links": "Бързи връзки",
"quick-actions": "Бързи действия",
"flagged-user": "Докладван потребител",
"view-profile": "Преглед на профила",
"start-new-chat": "Започване на нов разговор",
"go-to-target": "Преглед на целта на доклада",
"assign-to-me": "Назначаване на мен",
"delete-post": "Изтриване на публикацията",
"purge-post": "Изчистване на публикацията",
"restore-post": "Възстановяване на публикацията",
"user-view": "Преглед на профила",
"user-edit": "Редактиране на профила",
@@ -39,9 +43,11 @@
"notes": "Бележки към доклада",
"add-note": "Добавяне на бележка",
"no-notes": "Няма споделени бележки.",
"delete-note-confirm": "Наистина ли искате да изтриете тази бележка към доклада?",
"note-added": "Бележката е добавена",
"note-deleted": "Бележката е изтрита",
"history": "История на доклада",
"back": "Обратно към списъка с доклади",
"history": "Акаунт и история на докладванията",
"no-history": "Няма история на доклада.",
"state-all": "Всички състояния",
@@ -50,7 +56,6 @@
"state-resolved": "Разрешен",
"state-rejected": "Отхвърлен",
"no-assignee": "Без назначение",
"note-added": "Бележката е добавена",
"modal-title": "Докладване на неуместно съдържание",
"modal-body": "Моля, посочете причината за докладването на %1 %2 за преглед. Или използвайте някой от бутоните за бързо докладване, ако са приложими.",

View File

@@ -30,6 +30,7 @@
"header.unread": "Непрочетени",
"header.tags": "Етикети",
"header.popular": "Популярни",
"header.top": "Най-харесвани",
"header.users": "Потребители",
"header.groups": "Групи",
"header.chats": "Разговори",
@@ -53,6 +54,7 @@
"posts": "Публ.",
"best": "Най-добри",
"votes": "Гласове",
"voters": "Гласували",
"upvoters": "Гласували положително",
"upvoted": "С положителни гласове",
"downvoters": "Гласували отрицателно",

View File

@@ -1,6 +1,7 @@
{
"chat.chatting_with": "Разговор с",
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане",
"chat.scroll-up-alert": "В момента разглеждате по-стари съобщения. Щракнете тук, за да се прехвърлите към най-новото съобщение.",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи разговори.",
"chat.user_typing": "%1 пише...",
@@ -58,6 +59,7 @@
"composer.upload-file": "Качване на файл",
"composer.zen_mode": "Режим Дзен",
"composer.select_category": "Изберете категория",
"composer.textarea.placeholder": "Въведете съдържанието на публикацията си тук. Можете също да влачите и пускате снимки.",
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",

View File

@@ -35,6 +35,7 @@
"user_posted_to_dual": "<strong>%1</strong> и <strong>%2</strong> публикуваха отговори на: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> и %2 други публикуваха отговори на: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
"user_edited_post": "<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_multiple": "<strong>%1</strong> и %2 започнаха да Ви следват.",
@@ -42,6 +43,9 @@
"new_register_multiple": "Има <strong>%1</strong> заявки за регистрация, които очакват да бъдат прегледани.",
"flag_assigned_to_you": "<strong>Докладът %1</strong> беше назначен на Вас",
"post_awaiting_review": "Публикацията чака да бъде прегледана",
"profile-exported": "Профилът на <strong>%1</strong> е изнесен, щракнете за сваляне",
"posts-exported": "Публикациите на <strong>%1</strong> са изнесени, щракнете за сваляне",
"uploads-exported": "Качванията на <strong>%1</strong> са изнесени, щракнете за сваляне",
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
@@ -53,6 +57,7 @@
"notificationType_upvote": "Когато някой гласува положително за Ваша публикация",
"notificationType_new-topic": "Когато някой, когото следвате, публикува тема",
"notificationType_new-reply": "Когато бъде публикуван нов отговор в тема, която следвате",
"notificationType_post-edit": "Когато бъде редактирана публикация в тема, която следите",
"notificationType_follow": "Когато някой започне да Ви следва",
"notificationType_new-chat": "Когато получите съобщение в разговор",
"notificationType_group-invite": "Когато получите покана за група",

View File

@@ -3,5 +3,6 @@
"tags": "Етикети",
"enter_tags_here": "Тук въведете етикети, всеки между %1 и %2 знака.",
"enter_tags_here_short": "Въведете етикети...",
"no_tags": "Все още няма етикети."
"no_tags": "Все още няма етикети.",
"select_tags": "Изберете етикети"
}

View File

@@ -36,8 +36,9 @@
"ban-ip": "Блокиране на IP адреса",
"view-history": "История на редакциите",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag_title": "Докладване на тази публикация до модератор",
"merged_message": "Тази тема беше слята в <a href=\"/topic/%1\">%2</a>",
"flag_post": "Докладване на тази публикация",
"flag_user": "Докладване на този потребител",
"merged_message": "Тази тема беше слята в <a href=\"%1\">%2</a>",
"deleted_message": "Темата е изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
"not_following_topic.message": "Ще виждате тази тема в списъка с непрочетени теми, но няма да получавате известия, когато хората публикуват нещо в нея.",
@@ -99,7 +100,11 @@
"fork_pid_count": "Избрани публикации: %1",
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
"merge_topics_instruction": "Натиснете темите, които искате да слеете",
"merge_topics_instruction": "Щракнете върху темите, които искате да слеете, или ги потърсете",
"merge-topic-list-title": "Списък от темите, които ще бъдат слети",
"merge-options": "Настройки за сливането",
"merge-select-main-topic": "Изберете основната тема",
"merge-new-title-for-topic": "Ново заглавие за темата",
"move_posts_instruction": "Натиснете публикациите, които искате да преместите",
"change_owner_instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
@@ -130,10 +135,13 @@
"stale.reply_anyway": "Отговаряне в тази тема въпреки това",
"link_back": "Отговор: [%1](%2)",
"diffs.title": "История на редакциите",
"diffs.description": "Тази публикация има <strong>%1</strong> варианта. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> варианта.",
"diffs.description": "Тази публикация има <strong>%1</strong> версии. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> версии.",
"diffs.current-revision": "текуща версия",
"diffs.original-revision": "оригинална версия",
"diffs.restore": "Възстановяване на тази версия",
"diffs.restore-description": "Към историята на редакциите на тази публикация ще бъде добавена нова версия.",
"diffs.post-restored": "Публикацията е възстановена успешно до по-ранна версия",
"timeago_later": "%1 по-късно",
"timeago_earlier": "%1 по-рано"
}

View File

@@ -8,13 +8,20 @@
"email": "Е-поща",
"confirm_email": "Потвърдете е-пощата",
"account_info": "Информация за акаунта",
"admin_actions_label": "Административни действия",
"ban_account": "Блокиране на акаунта",
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
"unban_account": "Деблокиране на акаунта",
"delete_account": "Изтриване на акаунта",
"delete_account_confirm": "Наистина ли искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />",
"delete_account_as_admin": "Изтриване на <strong>акаунта</strong>",
"delete_content": "Изтриване на <strong>съдържанието</strong> на акаунта",
"delete_all": "Изтриване на <strong>акаунта</strong> и <strong>съдържанието</strong>",
"delete_account_confirm": "Наистина ли искате да направите публикациите си анонимни и да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт, но да оставите съдържанието му?<br /><strong>Това действие е необратимо. Публикациите ще бъдат превърнати в анонимни и вече няма да можете да възстановите връзката между публикациите и изтрития акаунт</strong><br /><br />",
"delete_account_content_confirm": "Наистина ли искате да изтриете съдържанието (публикации/теми/качвания) на този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
"delete_all_confirm": "Наистина ли искате да изтриете този акаунт и цялото му съдържание (публикации/теми/качвания)? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
"account-deleted": "Акаунтът е изтрит",
"account-content-deleted": "Съдържанието на акаунта е изтрито",
"fullname": "Пълно име",
"website": "Уеб сайт",
"location": "Местоположение",
@@ -144,6 +151,7 @@
"info.ban-history": "Скорошна история на блокиранията",
"info.no-ban-history": "Този потребител никога не е бил блокиран",
"info.banned-until": "Блокиран до %1",
"info.banned-expiry": "Давност",
"info.banned-permanently": "Блокиран за постоянно",
"info.banned-reason-label": "Причина",
"info.banned-no-reason": "Няма посочена причина.",
@@ -170,7 +178,10 @@
"consent.right_to_erasure_description": "Във всеки един момент можете да оттеглите съгласието си за събиране и/или обработка на данни, като изтриете акаунта си. Вашият профил може да бъде изтрит, но публикуваното от Вас съдържание ще остане. Ако искате да изтриете както акаунта, така <strong>и</strong> съдържанието, публикувано от Вас, моля, свържете се с администрационния екип на уеб сайта.",
"consent.right_to_data_portability": "Имате право на пренос на данни",
"consent.right_to_data_portability_description": "Можете да изискате от нас всички събрани за Вас и акаунта Ви данни в машинен формат. Можете да направите това като натиснете съответния бутон по-долу.",
"consent.export_profile": "Изнасяне на профила (.csv)",
"consent.export_profile": "Изнасяне на профила (.json)",
"consent.export-profile-success": "Изнасяне на профила… Ще получите известие, когато е готово.",
"consent.export_uploads": "Изнасяне на каченото съдържание (.zip)",
"consent.export_posts": "Изнасяне на публикациите (.csv)"
"consent.export-uploads-success": "Изнасяне на каченото съдържание… Ще получите известие, когато е готово.",
"consent.export_posts": "Изнасяне на публикациите (.csv)",
"consent.export-posts-success": "Изнасяне на публикациите… Ще получите известие, когато е готово."
}

View File

@@ -2,6 +2,7 @@
"events": "Events",
"no-events": "There are no events",
"control-panel": "Events Control Panel",
"delete-events": "Delete Events",
"filters": "Filters",
"filters-apply": "Apply Filters",
"filter-type": "Event Type",

View File

@@ -3,6 +3,7 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"primary": "primary / run jobs",
"pid": "pid",
"nodejs": "nodejs",
"online": "online",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "# of Recent Replies",
"ext-link": "External Link",
"is-section": "Treat this category as a section",
"tag-whitelist": "Tag Whitelist",
"upload-image": "Upload Image",
"delete-image": "Remove",
"category-image": "Category Image",
@@ -26,6 +27,8 @@
"enable": "Enable",
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"view-category": "View category",
"select-category": "Select Category",
"set-parent-category": "Set Parent Category",
@@ -75,7 +78,9 @@
"alert.user-search": "Search for a user here...",
"alert.find-group": "Find a Group",
"alert.group-search": "Search for a group here...",
"alert.not-enough-whitelisted-tags": "Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"collapse-all": "Collapse All",
"expand-all": "Expand All",
"disable-on-create": "Disable on create"
"disable-on-create": "Disable on create",
"no-matches": "No matches"
}

View File

@@ -9,7 +9,7 @@
"default": "System default",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
@@ -18,4 +18,4 @@
"manual-run": "Manual digest run:",
"no-delivery-data": "No delivery data found"
}
}

View File

@@ -8,6 +8,8 @@
"hidden": "Hidden",
"private": "Private",
"edit": "Edit",
"delete": "Delete",
"download-csv": "Download CSV",
"search-placeholder": "Search",
"create": "Create Group",
"description-placeholder": "A short description about your group",

View File

@@ -1,8 +1,10 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"admin": "Admin",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"edit-privileges": "Edit Privileges",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
@@ -31,5 +33,10 @@
"downvote-posts": "Downvote Posts",
"delete-topics": "Delete Topics",
"purge": "Purge",
"moderate": "Moderate"
"moderate": "Moderate",
"admin-dashboard": "Dashboard",
"admin-categories": "Categories",
"admin-privileges": "Privileges",
"admin-users": "Users",
"admin-settings": "Settings"
}

View File

@@ -3,13 +3,13 @@
"bg-color": "Background Colour",
"text-color": "Text Colour",
"create-modify": "Create & Modify Tags",
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
"description": "Select tags by clicking or dragging, use <code>CTRL</code> to select multiple tags.",
"create": "Create Tag",
"modify": "Modify Tags",
"rename": "Rename Tags",
"delete": "Delete Selected Tags",
"search": "Search for tags...",
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
"settings": "Tags Settings",
"name": "Tag Name",
"alerts.editing": "Editing tag(s)",

View File

@@ -12,8 +12,9 @@
"unban": "Unban User(s)",
"reset-lockout": "Reset Lockout",
"reset-flags": "Reset Flags",
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"delete": "Delete <strong>User(s)</strong>",
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
@@ -93,9 +94,11 @@
"alerts.validate-email-success": "Emails validated",
"alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.",
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.delete-success": "User(s) Deleted!",
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.delete-content-success": "User(s) Content Deleted!",
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.create": "Create User",
"alerts.button-create": "Create",
"alerts.button-cancel": "Cancel",
@@ -105,5 +108,5 @@
"alerts.prompt-email": "Emails: ",
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)"
}

View File

@@ -1,11 +1,6 @@
{
"dashboard": "Dashboard",
"section-general": "General",
"general/dashboard": "Dashboard",
"general/homepage": "Home Page",
"general/navigation": "Navigation",
"general/languages": "Languages",
"general/sounds": "Sounds",
"general/social": "Social",
"section-manage": "Manage",
"manage/categories": "Categories",
@@ -22,17 +17,22 @@
"section-settings": "Settings",
"settings/general": "General",
"settings/reputation": "Reputation",
"settings/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "Reputation & Flags",
"settings/email": "Email",
"settings/user": "User",
"settings/group": "Group",
"settings/user": "Users",
"settings/group": "Groups",
"settings/guest": "Guests",
"settings/uploads": "Uploads",
"settings/post": "Post",
"settings/chat": "Chat",
"settings/languages": "Languages",
"settings/post": "Posts",
"settings/chat": "Chats",
"settings/pagination": "Pagination",
"settings/tags": "Tags",
"settings/notifications": "Notifications",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",
"settings/web-crawler": "Web Crawler",
"settings/sockets": "Sockets",

View File

@@ -20,10 +20,15 @@
"hsts.preload": "Allow preloading of HSTS header",
"hsts.help": "If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Traffic Management",
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.help": "NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable": "Enable Traffic Management",
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay"
}

View File

@@ -0,0 +1,8 @@
{
"home-page": "Home Page",
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
"home-page-route": "Home Page Route",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")"
}

View File

@@ -0,0 +1,23 @@
{
"icon": "Icon:",
"change-icon": "change",
"route": "Route:",
"tooltip": "Tooltip:",
"text": "Text:",
"text-class": "Text Class: <small>optional</small>",
"class": "Class: <small>optional</small>",
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"open-new-window": "Open in a new window",
"btn.delete": "Delete",
"btn.disable": "Disable",
"btn.enable": "Enable",
"available-menu-items": "Available Menu Items",
"custom-route": "Custom Route",
"core": "core",
"plugin": "plugin"
}

View File

@@ -2,6 +2,5 @@
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)",
"notification-alert-timeout": "Notification Alert Timeout"
"welcome-notification-uid": "Welcome Notification User (UID)"
}

View File

@@ -42,6 +42,7 @@
"unread.cutoff": "Unread cutoff days",
"unread.min-track-last": "Minimum posts in topic before tracking last read",
"recent": "Recent Settings",
"recent.max-topics": "Maximum topics on /recent",
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
"signature": "Signature Settings",
"signature.disable": "Disable signatures",

View File

@@ -5,10 +5,16 @@
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile"
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile",
"flags": "Flag Settings",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0"
}

View File

@@ -0,0 +1,5 @@
{
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts.",
"save-success": "Successfully saved Post Sharing Networks!"
}

View File

@@ -1,10 +1,10 @@
{
"tag": "Tag Settings",
"link-to-manage": "Manage Tags",
"min-per-topic": "Minimum Tags per Topic",
"max-per-topic": "Maximum Tags per Topic",
"min-length": "Minimum Tag Length",
"max-length": "Maximum Tag Length",
"goto-manage": "Click here to visit the tag management page.",
"related-topics": "Related Topics",
"max-related-topics": "Maximum related topics to display (if supported by theme)"
}

View File

@@ -138,8 +138,13 @@
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"already-flagged": "You have already flagged this post",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"self-vote": "You cannot vote on your own post",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
"registration-error": "নিবন্ধন এরর!",
"parse-error": "Something went wrong while parsing server response",

View File

@@ -1,8 +1,7 @@
{
"state": "State",
"reporter": "Reporter",
"reported-at": "Reported At",
"description": "Description",
"reports": "Reports",
"first-reported": "First Reported",
"no-flags": "Hooray! No flags found.",
"assignee": "Assignee",
"update": "Update",
@@ -26,12 +25,17 @@
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
"apply-filters": "Apply Filters",
"more-filters": "More Filters",
"quick-links": "Quick Links",
"quick-actions": "Quick Actions",
"flagged-user": "Flagged User",
"view-profile": "View Profile",
"start-new-chat": "Start New Chat",
"go-to-target": "View Flag Target",
"assign-to-me": "Assign To Me",
"delete-post": "Delete Post",
"purge-post": "Purge Post",
"restore-post": "Restore Post",
"user-view": "View Profile",
"user-edit": "Edit Profile",
@@ -39,9 +43,11 @@
"notes": "Flag Notes",
"add-note": "Add Note",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"note-added": "Note Added",
"note-deleted": "Note Deleted",
"history": "Flag History",
"back": "Back to Flags List",
"history": "Account &amp; Flag History",
"no-history": "No flag history.",
"state-all": "All states",
@@ -50,7 +56,6 @@
"state-resolved": "Resolved",
"state-rejected": "Rejected",
"no-assignee": "Not Assigned",
"note-added": "Note Added",
"modal-title": "Report Inappropriate Content",
"modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.",

View File

@@ -30,6 +30,7 @@
"header.unread": "অপঠিত",
"header.tags": "ট্যাগ",
"header.popular": "জনপ্রিয়",
"header.top": "Top",
"header.users": "ব্যবহারকারীগণ",
"header.groups": "Groups",
"header.chats": "কথোপকথন",
@@ -53,6 +54,7 @@
"posts": "পোস্টগুলি",
"best": "Best",
"votes": "Votes",
"voters": "Voters",
"upvoters": "Upvoters",
"upvoted": "Upvoted",
"downvoters": "Downvoters",

View File

@@ -1,6 +1,7 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "এখানে আপনার বার্তা লিখুন। পাঠানোর জন্য Enter চাপুন",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "প্রেরন করুন",
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
"chat.user_typing": "%1 লিখছেন",
@@ -58,6 +59,7 @@
"composer.upload-file": "Upload File",
"composer.zen_mode": "Zen Mode",
"composer.select_category": "Select a category",
"composer.textarea.placeholder": "Enter your post content here, drag and drop images",
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",

View File

@@ -35,6 +35,7 @@
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_edited_post": "<strong>%1</strong> has edited a post in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
@@ -42,6 +43,9 @@
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
"flag_assigned_to_you": "<strong>Flag %1</strong> has been assigned to you",
"post_awaiting_review": "Post awaiting review",
"profile-exported": "<strong>%1</strong> profile exported, click to download",
"posts-exported": "<strong>%1</strong> posts exported, click to download",
"uploads-exported": "<strong>%1</strong> uploads exported, click to download",
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",
@@ -53,6 +57,7 @@
"notificationType_upvote": "When someone upvotes your post",
"notificationType_new-topic": "When someone you follow posts a topic",
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
"notificationType_post-edit": "When a post is edited in a topic you are watching",
"notificationType_follow": "When someone starts following you",
"notificationType_new-chat": "When you receive a chat message",
"notificationType_group-invite": "When you receive a group invite",

View File

@@ -3,5 +3,6 @@
"tags": "ট্যাগসমূহ",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "ট্যাগ বসান",
"no_tags": "এখন পর্যন্ত কোন ট্যাগ নেই"
"no_tags": "এখন পর্যন্ত কোন ট্যাগ নেই",
"select_tags": "Select Tags"
}

View File

@@ -36,8 +36,9 @@
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"flag_post": "Flag this post",
"flag_user": "Flag this user",
"merged_message": "This topic has been merged into <a href=\"%1\">%2</a>",
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
@@ -99,7 +100,11 @@
"fork_pid_count": "%1 post(s) selected",
"fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"merge_topics_instruction": "Click the topics you want to merge",
"merge_topics_instruction": "Click the topics you want to merge or search for them",
"merge-topic-list-title": "List of topics to be merged",
"merge-options": "Merge options",
"merge-select-main-topic": "Select the main topic",
"merge-new-title-for-topic": "New title for topic",
"move_posts_instruction": "Click the posts you want to move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
@@ -134,6 +139,9 @@
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
"diffs.current-revision": "current revision",
"diffs.original-revision": "original revision",
"diffs.restore": "Restore this revision",
"diffs.restore-description": "A new revision will be appended to this post's edit history.",
"diffs.post-restored": "Post successfully restored to earlier revision",
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier"
}

View File

@@ -8,13 +8,20 @@
"email": "ইমেইল",
"confirm_email": "ইমেইল নিশ্চিত করুন",
"account_info": "Account Info",
"admin_actions_label": "Administrative Actions",
"ban_account": "একাউন্ট নিষিদ্ধ করুন",
"ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?",
"unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন",
"delete_account": "একাউন্ট মুছে ফেলুন",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
"delete_all": "Delete <strong>Account</strong> and <strong>Content</strong>",
"delete_account_confirm": "Are you sure you want to anonymize your posts and delete your account?<br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm": "Are you sure you want to delete this account while leaving its contents behind?<br /><strong>This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account</strong><br /><br />",
"delete_account_content_confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"delete_all_confirm": "Are you sure you want to delete this account and all of its content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"account-deleted": "একাউন্ট মুছে ফেলা হয়েছে",
"account-content-deleted": "Account content deleted",
"fullname": "পুর্ণ নাম",
"website": "ওয়েবসাইট",
"location": "স্থান",
@@ -144,6 +151,7 @@
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-expiry": "Expiry",
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",
@@ -170,7 +178,10 @@
"consent.right_to_erasure_description": "At any time, you are able to revoke your consent to data collection and/or processing by deleting your account. Your individual profile can be deleted, although your posted content will remain. If you wish to delete both your account <strong>and</strong> your content, please contact the administrative team for this website.",
"consent.right_to_data_portability": "You have the Right to Data Portability",
"consent.right_to_data_portability_description": "You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.",
"consent.export_profile": "Export Profile (.csv)",
"consent.export_profile": "Export Profile (.json)",
"consent.export-profile-success": "Exporting profile, you will get a notification when it is complete.",
"consent.export_uploads": "Export Uploaded Content (.zip)",
"consent.export_posts": "Export Posts (.csv)"
"consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.",
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete."
}

Some files were not shown because too many files have changed in this diff Show More