Compare commits

...

668 Commits

Author SHA1 Message Date
Misty (Bot)
1c0eb70046 chore: incrementing version number - v1.14.0 2020-07-02 01:28:05 +00:00
Misty (Bot)
28302c55dc Merge commit 'fe908cc022ff3b2e2a08f4f14dfbe9e00ce56ddd' into v1.14.x 2020-07-02 01:28:05 +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
Misty (Bot)
e0d285032d chore: incrementing version number - v1.14.0-12 2020-06-24 20:37:03 +00:00
Misty (Bot)
6bb0241daf Merge commit 'bffb830d8754344f7bf8cc819e7985cd3318d49b' into v1.14.x 2020-06-24 20:37:03 +00: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
Misty (Bot)
a2c62f2e11 chore: incrementing version number - v1.14.0-11 2020-06-24 14:36:52 +00:00
Misty (Bot)
f01ac65c5a Merge commit '8482a54a68396333e0b14a792a8c96720a97b59c' into v1.14.x 2020-06-24 14:36:51 +00: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
Misty (Bot)
c07cca574f chore: incrementing version number - v1.14.0-10 2020-06-23 19:02:45 +00:00
Misty (Bot)
226620140c Merge commit '4f6b6c56319372572cbac19d7a3bc9e3ac3a5417' into v1.14.x 2020-06-23 19:02:45 +00:00
Misty (Bot)
2ee196b4da chore: incrementing version number - v1.14.0-9 2020-06-23 16:38:25 +00:00
Misty (Bot)
b3c4db621a Merge commit 'd50f7c7dfa23dd27060ddf52cbf3712f0724842a' into v1.14.x 2020-06-23 16:38:25 +00: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
Misty (Bot)
592b880b1c chore: incrementing version number - v1.14.0-8 2020-06-16 20:29:58 +00:00
Misty (Bot)
553dbd73ba Merge commit 'b459592a4ece4400ae6c4d1ae0378557b6f39fdb' into v1.14.x 2020-06-16 20:29:58 +00: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
Misty (Bot)
6721d4151e chore: incrementing version number - v1.14.0-7 2020-06-15 23:54:33 +00:00
Misty (Bot)
64c0e1433b Merge commit '5a367ecbb4a46b576f85590f24a9cf4ffea41bcd' into v1.14.x 2020-06-15 23:54:33 +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
Misty (Bot)
d142e7c86a chore: incrementing version number - v1.14.0-6 2020-06-15 13:22:29 +00:00
Misty (Bot)
5acf5acb3a Merge commit '7ed1a0140aba3a1f80fe242fa5ae2e360cef009d' into v1.14.x 2020-06-15 13:22:28 +00: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
Misty (Bot)
830c59eb4f chore: incrementing version number - v1.14.0-5 2020-06-11 00:32:05 +00:00
Misty (Bot)
60ba66c0a3 Merge commit '6349fa03e172ce710a5aeabd753953d7f33a53e0' into v1.14.x 2020-06-11 00:32:05 +00: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
Misty (Bot)
470835e6f7 chore: incrementing version number - v1.14.0-4 2020-06-09 15:41:59 +00:00
Misty (Bot)
7b4d726c5d Merge commit 'cf0f8f64a933ac7576f201ad8ab2c1795766646f' into v1.14.x 2020-06-09 15:41:59 +00: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
Misty (Bot)
a49b774800 chore: incrementing version number - v1.14.0-3 2020-06-08 19:23:09 +00:00
Misty (Bot)
0569c27c88 Merge commit 'd92032dad1bd9b47de33b6377efb67b9b4d7d49d' into v1.14.x 2020-06-08 19:23:09 +00: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
Misty (Bot)
4e1c26becb chore: incrementing version number - v1.14.0-2 2020-06-04 18:25:35 +00:00
Misty (Bot)
5aea87ade2 Merge commit 'c1d8b9bb5a9697c8d86ac518456ab1ae6fe45234' into v1.14.x 2020-06-04 18:25:34 +00: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
Misty (Bot)
d93eba9f3b chore: incrementing version number - v1.14.0-1 2020-06-03 17:40:15 +00:00
Misty (Bot)
626def8b31 Merge commit 'f6ad9605c609607c45397cb43ad97e11dd4ab93b' into v1.14.x 2020-06-03 17:40:14 +00: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
Misty (Bot)
a10b5eade8 chore: incrementing version number - v1.14.0-0 2020-05-28 13:21:44 +00: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
Misty (Bot)
ee583e80d1 chore: incrementing version number - v1.13.3 2020-05-08 14:53:25 +00:00
Barış Soner Uşaklı
d09bd2cfdf fix: #8302, send string to writeFileSync 2020-05-08 09:26:33 -04:00
Barış Soner Uşaklı
7d08184372 fix: winston showing json object 2020-05-07 12:48:39 -04:00
Misty (Bot)
64c3310aa4 Latest translations and fallbacks 2020-05-07 09:30:50 +00:00
Julian Lam
6765de3db3 fix: sortable topics even if only 1 pinned topic 2020-05-06 15:42:45 -04:00
Julian Lam
dd2bc18927 fix: #8298, use class name added by jQueryUI instead
This reverts commit 2e57d8ac31.
2020-05-06 15:26:55 -04:00
Julian Lam
158d923196 fix(deps): #8298 bump persona 2020-05-06 15:21:24 -04:00
Julian Lam
2e57d8ac31 fix: discoverability of topic reordering, re: #8298 2020-05-06 15:18:00 -04:00
Barış Soner Uşaklı
a969c5cec9 feat: allow activating additional plugins for testing via config.json 2020-05-06 13:57:03 -04:00
Julian Lam
f2c725c658 fix: topic search shortcut for macs 2020-05-06 12:55:54 -04:00
Misty (Bot)
6567e47494 Latest translations and fallbacks 2020-05-06 09:29:39 +00:00
Barış Soner Uşaklı
0431d75f0d fix: #8297, uids.length is different than topics.length 2020-05-05 21:32:07 -04:00
Julian Lam
fcb81cb8ca fix: #8297 guest handles shown in category.tpl 2020-05-05 20:42:02 -04:00
Renovate Bot
89d1764715 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.25 2020-05-05 15:32:03 -04:00
Barış Soner Uşaklı
16a98eaf50 fix: only add to set if numRecentReplies>0 2020-05-05 14:12:46 -04:00
Barış Soner Uşaklı
b25b51bd97 feat: add action:post.updatePostVoteCount 2020-05-05 13:09:17 -04:00
Barış Soner Uşaklı
5e1404542c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-05-05 09:43:10 -04:00
Barış Soner Uşaklı
be305410fb fix: #8293, don't show error if there are no self messages 2020-05-05 09:42:29 -04:00
renovate[bot]
a69f0b29af fix(deps): update dependency jquery to v3.5.1 [security] (#8281)
* fix(deps): update dependency jquery to v3.5.0 [security]

* fix(deps): bump jquery

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Julian Lam <julian@nodebb.org>
2020-05-05 09:05:52 -04:00
Barış Soner Uşaklı
6c59683b16 refactor: change to action:categories.updateRecentTid 2020-05-04 21:17:05 -04:00
Barış Soner Uşaklı
ecd622fdf5 fix: failing tests @julianlam 2020-05-04 15:02:04 -04:00
Barış Soner Uşaklı
3a23ddaba5 feat: move plugin tests to separate file 2020-05-04 14:23:45 -04:00
Barış Soner Uşaklı
a72e44290b feat: remove node14 for now 2020-05-04 13:19:23 -04:00
Barış Soner Uşaklı
51933c1fcb feat: add filter:categories.updateRecentTid 2020-05-04 13:09:34 -04:00
Barış Soner Uşaklı
478ed6c16f refactor: match core field name pinned 2020-05-04 12:37:42 -04:00
Julian Lam
0053e779e8 feat: response:router.page, dep. filter variant 2020-05-04 09:52:36 -04:00
Barış Soner Uşaklı
a6bb9f4364 fix: #3321, run plugin tests for installed plugins 2020-05-03 22:59:03 -04:00
Barış Soner Uşaklı
3d0db9630f fix: remove deprecated mocha.opts 2020-05-03 22:55:50 -04:00
Barış Soner Uşaklı
84383d3995 fix: spec 2020-05-03 22:00:25 -04:00
Barış Soner Uşaklı
9839346ec3 fix: #8290, if there are no filters go to ?reset=1
dont count ?page=1 as a filter
2020-05-03 14:48:15 -04:00
Misty (Bot)
2cf0a9b62d Latest translations and fallbacks 2020-05-03 09:27:35 +00:00
Barış Soner Uşaklı
5ebcdb1806 fix: #8287, fix users:flags as well 2020-05-02 15:34:58 -04:00
renovate[bot]
919034a7db fix(deps): update dependency nodebb-rewards-essentials to v0.1.3 (#8289)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-02 14:03:30 -04:00
Barış Soner Uşaklı
2d07634494 fix: #8283, update gdpr link again 2020-05-02 13:47:49 -04:00
Barış Soner Uşaklı
4f1128fd2b fix: add missing await 2020-05-02 13:34:19 -04:00
Barış Soner Uşaklı
9d153fd388 fix: #8287, dont readd user after deletion
don't add user uid back to users:* sorted sets if they are deleted
upgrade script to fix users:* sorted sets
2020-05-02 13:27:16 -04:00
Barış Soner Uşaklı
4d6b2ec3ce fix: missing await 2020-05-01 23:54:17 -04:00
Barış Soner Uşaklı
0391856d7d fix: #8286, rescind notif when its resolved/rejected 2020-05-01 13:32:20 -04:00
Misty (Bot)
c0e441d3b2 Latest translations and fallbacks 2020-05-01 09:28:46 +00:00
Barış Soner Uşaklı
3fcbd69149 feat: reduce infinite scroll area 2020-04-30 19:22:38 -04:00
Barış Soner Uşaklı
0ca84bd9f4 fix: #8284, parse ToS on register
rewrite intersitials to async/await
2020-04-30 15:13:14 -04:00
Barış Soner Uşaklı
17d664e098 fix: #8283, point to official site 2020-04-30 13:22:16 -04:00
psychobunny
275e837bcf fix: jquery xhtml violations 2020-04-29 20:46:00 -04:00
renovate[bot]
25d509c42c fix(deps): update dependency mongodb to v3.5.7 (#8279)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-29 12:59:21 -04:00
Opliko
4855f1deca fix:#8274 Don't escape HTML in manage users (#8275)
Perhaps the HTML for managing groups should ba actually rendered as HTML to serve its function. fixes #8274
2020-04-28 20:32:15 -04:00
Barış Soner Uşaklı
0c7c70edaf fix: crash in topic controller 2020-04-28 17:27:31 -04:00
psychobunny
fe03effe7d Revert "fix: crash when res.locals.linkTags is undefined"
This reverts commit 7cab2b0fea.
2020-04-28 17:27:06 -04:00
Andrew Rodrigues
7cab2b0fea fix: crash when res.locals.linkTags is undefined 2020-04-28 15:49:06 -04:00
renovate[bot]
98b70c6b8e Update dependency nodebb-plugin-composer-default to v6.3.24 (#8276)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-28 12:10:27 -04:00
Renovate Bot
9f9267ce54 Update dependency lint-staged to v10.2.0 2020-04-28 10:42:33 -04:00
Renovate Bot
39a861f182 Update dependency mocha to v7.1.2 2020-04-26 16:11:01 -04:00
Misty (Bot)
75aaba3f4e Latest translations and fallbacks 2020-04-25 09:27:49 +00:00
Barış Soner Uşaklı
87a6ff0dce Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-04-24 22:02:23 -04:00
Barış Soner Uşaklı
e80b81010c fix: #8272 user link in digest email 2020-04-24 22:02:10 -04:00
Renovate Bot
5ed4a1087c chore(deps): update dependency coveralls to v3.1.0 2020-04-24 21:55:49 -04:00
Julian Lam
23a0b8c54c fix(openapi): v14 test fix 2020-04-24 17:45:40 -04:00
Julian Lam
a1b050e28d feat: let's start testing node v14 👿 2020-04-24 17:11:00 -04:00
Barış Soner Uşaklı
9ffdab02d0 fix: tag of /api/unread/total 2020-04-24 12:37:21 -04:00
Julian Lam
5a1c6ee7ed fix: response hook logic
After some more thought, a response hook should be checking for
whether headers are sent, and executing (or not executing) the
default logic in that case.

Before, we were relying on hooks to call data.next() to continue
execution, but it makes more sense to have the listener either
send a response or not, and handle the behaviour afterwards.
2020-04-24 11:51:33 -04:00
Julian Lam
ccc6118d30 Testing suite integration for openapi spec (#8263)
* feat: testing suite integration for openapi spec

The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.

* fix(openapi): removed debug stuff from tests

* fix(openapi): fixed some tests

* fix(openapi): added additional check to tests, test fixes

* fix(openapi): better tests, fixed spec errors

* fix(openapi): bad conditional in test

* fix: oops

* fix(openapi): more tests fixing

* fix(openapi): more tests

* fix(openapi): fix some more tests

* fix: verbose'd an info log

* fix: topic pagination route returns schema-optimized pagination block

* fix(openapi): more test/spec fixes

* fix(openapi): accidentally sending in authenticated jar for anon routes

* fix(openapi): more test/spec fixes

* fix(openapi): more spec fixes

* fix: timestampReadable Invalid Date

* fix(openapi): more tests... almost there

* fix(openapi): more tests fixing

* fix(openapi): finally all tests passing

* fix(openapi): added reverse test to compare response to spec

... and fixed all the tests that broke

* fix: remove tests related to group covers, as route is gone

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): object cache is not present for psql

* fix: tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2020-04-23 21:50:08 -04:00
Julian Lam
6edf02d4a5 fix: remove upload picture test (avatars) 2020-04-23 19:57:41 -04:00
Julian Lam
442fe65f5a fix: remove tests related to group covers, as route is gone 2020-04-23 19:47:39 -04:00
Barış Soner Uşaklı
4eafe0f057 fix: #8269, return array of topics from hook 2020-04-23 11:32:24 -04:00
Misty (Bot)
267567a086 Latest translations and fallbacks 2020-04-21 09:34:14 +00:00
Misty (Bot)
c1429fbbf1 Latest translations and fallbacks 2020-04-20 09:30:00 +00:00
Opliko
47e7e9572c Add loading=lazy tag to avatars
There is no reason why avatars should be a blocking reasorce, and browsers are now adding support for lazy loading of images (and iframes). According to [caniuse.com](https://caniuse.com/#feat=loading-lazy-attr) 62% of users use a browser that supports this attribute.

So there doesn't seem to be any downside to just adding this attribute here. It won't affect browsers that don't support it and might speed up page loads on browsers that do.
2020-04-19 13:33:23 -04:00
Opliko
6e5ebb6184 feat: manifest.json improvements from #8126 (#8264)
* feat: manifest.json improvements from #8126

* Fix short title placeholder

* use lowercase letters for hex colors
2020-04-19 13:32:49 -04:00
Renovate Bot
51eccef58b chore(deps): pin dependency @apidevtools/swagger-parser to 9.0.1 2020-04-19 10:16:07 -04:00
Julian Lam
d09c6ae0de fix(deps): actually, swagger-parser is a dev dependency 2020-04-19 10:12:55 -04:00
Julian Lam
f172073551 fix(deps): missing @apidevtools/swagger-parser 2020-04-19 10:12:04 -04:00
Barış Soner Uşaklı
153456278b feat: show error if json is invalid 2020-04-17 13:24:52 -04:00
Julian Lam
d342a28c16 fix(openapi): remove account and group upload routes
re: #8260
2020-04-17 10:10:13 -04:00
Julian Lam
ef52461fb6 fix: remove dead picture upload code #8260 2020-04-17 10:08:18 -04:00
Julian Lam
058a15dbb2 fix(openapi): more fleshing out 2020-04-16 22:46:27 -04:00
Julian Lam
bae88e089a fix(openapi): fleshed out admin routes 2020-04-16 21:57:04 -04:00
Julian Lam
5bcaf71501 fix: path.resolve to logs file 2020-04-16 20:46:03 -04:00
Julian Lam
8387178b25 feat(openapi): merging openapi-test branch into master 2020-04-16 20:39:15 -04:00
Barış Soner Uşaklı
ba6d3fd372 fix: only trigger infinitescroll on scroll end 2020-04-16 12:21:40 -04:00
Barış Soner Uşaklı
c7ea84a2ae fix: wrong data returned in available.groups 2020-04-15 22:40:32 -04:00
Julian Lam
ab4bd7e146 fix(openapi): added some descriptions 2020-04-15 14:44:05 -04:00
Misty (Bot)
d678793cd4 Latest translations and fallbacks 2020-04-15 09:40:29 +00:00
renovate[bot]
b0c30ceba0 fix(deps): update dependency nodebb-theme-persona to v10.1.37 (#8258)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-15 01:35:56 -04:00
Julian Lam
2395d2be2e fix(openapi): added PostsObject component 2020-04-14 20:58:17 -04:00
Renovate Bot
28777f676c fix(deps): update dependency archiver to v4 2020-04-14 16:59:02 -04:00
Julian Lam
803d083e0b Revert "Remove nodejs 12 from compatible list"
This reverts commit 14aed18449.
2020-04-14 13:50:16 -04:00
renovate[bot]
492360673d fix(deps): update dependency mongodb to v3.5.6 (#8256)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-14 11:24:24 -04:00
Julian Lam
1b425ef108 fix: no focus on find user modal 2020-04-14 10:18:20 -04:00
Julian Lam
bcbf98aa4c fix: accidental fp precision on flag and acp dash graphs 2020-04-14 10:16:02 -04:00
xinbenlv
14aed18449 Remove nodejs 12 from compatible list
https://community.nodebb.org/topic/14670/consider-add-to-documentation-node-version
2020-04-13 21:19:35 -04:00
Peter Jaszkowiak
e68156e1f2 fix(deps): bump dependencies (#8239)
* fix(deps): bump dependencies

* fix(deps): commander@5

* fix(deps): use @nodebb/mubsub
2020-04-13 15:50:20 -04:00
Julian Lam
f2f6fbf15a fix: #8232, unresolvable session mismatch on register cancel 2020-04-13 13:26:27 -04:00
Barış Soner Uşaklı
e440d617d4 fix: pin jquery to 3.4.1, #8252 2020-04-13 11:40:29 -04:00
Jonson Petard
e6a1741c2e Support package manager: cnpm and pnpm (#8222)
* feat: support pnpm, cnpm

* feat: store supportedPackageManager in default package.json

* feat: store supportedPackageManager in src/cli/package-install.js

Co-authored-by: a632079 <a632079@qq.com>
2020-04-13 09:59:52 -04:00
hb90dev
3ce885fff2 fixes sitemap base url issue when using with subfolder (#8247)
* fixes sitemap base url issue when using with subfolder

* fixes sitemap base url issue when using with subfolder

* uses directly relative path

* removes prefix variable
2020-04-13 09:57:24 -04:00
Barış Soner Uşaklı
d77036dbd1 fix: #8249, don't send move notifications for deleted posts/topics 2020-04-13 09:52:18 -04:00
Misty (Bot)
d387cc231e Latest translations and fallbacks 2020-04-10 09:29:03 +00:00
Renovate Bot
30a2598364 chore(deps): update dependency husky to v4.2.5 2020-04-09 18:49:39 -04:00
renovate[bot]
92b55ef580 fix(deps): update dependency jsesc to v3.0.1 (#8243)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-09 17:23:22 -04:00
Renovate Bot
0a65011833 chore(deps): update dependency husky to v4.2.4 2020-04-09 12:55:28 -04:00
Renovate Bot
a9e686397e chore(deps): update dependency lint-staged to v10.1.3 2020-04-09 10:30:27 -04:00
Julian Lam
23dd2727f2 fix(openapi): finished moving all category objects out 2020-04-08 22:15:49 -04:00
Julian Lam
c939f8c66d fix(openapi): changed some descriptions 2020-04-08 22:15:40 -04:00
Julian Lam
55d0a9ffea fix(openapi): added CategoryObject component 2020-04-08 22:06:22 -04:00
Julian Lam
646fac1e53 fix(openapi): removed repeated breadcrumb blocks in favour of $ref 2020-04-08 17:06:26 -04:00
Julian Lam
ac579f9dc2 fix(openapi): remove all repeated pagination blocks in favour of 2020-04-08 17:04:00 -04:00
Julian Lam
1cf62095dc fix(openapi): removed warning for category mods route 2020-04-08 16:42:18 -04:00
Julian Lam
3a5c6e07f9 fix(openapi): normalising the file for programmatic updates 2020-04-08 16:24:20 -04:00
Renovate Bot
bb70cebb2c fix(deps): update dependency jsesc to v3 2020-04-08 09:59:50 -04:00
Misty (Bot)
0252e149d9 Latest translations and fallbacks 2020-04-08 09:30:21 +00:00
Julian Lam
65c78de6fe feat(openapi): move all commonprops out for commonprops component 2020-04-07 17:13:15 -04:00
psychobunny
cd5065572c feat: moved component specs into separate files 2020-04-07 16:17:00 -04:00
Julian Lam
2425f4533f feat(openapi): added template to commonprops 2020-04-07 16:08:30 -04:00
Julian Lam
64d79fe5f6 feat: added UserObject, UserObjectFull, Breadcrumb, Pagination component 2020-04-07 15:32:22 -04:00
psychobunny
ae3e90d693 feat: added some summary and descriptions 2020-04-07 15:29:59 -04:00
Misty (Bot)
390dbb1bf3 Latest translations and fallbacks 2020-04-07 09:29:49 +00:00
Barış Soner Uşaklı
442c018ec0 feat: add some descriptions 2020-04-07 00:23:10 -04:00
Barış Soner Uşaklı
eade13f928 feat: common schema 2020-04-06 23:49:41 -04:00
Barış Soner Uşaklı
7ae7647704 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-04-06 23:44:04 -04:00
Barış Soner Uşaklı
683e58511b Revert "feat: openapi component"
This reverts commit 1af5507ac7.
2020-04-06 23:44:00 -04:00
Barış Soner Uşaklı
1af5507ac7 feat: openapi component 2020-04-06 23:40:08 -04:00
Julian Lam
32985eb12e Merge remote-tracking branch 'refs/remotes/origin/master' 2020-04-06 21:27:49 -04:00
Julian Lam
7b31fb34a7 fix: missing descriptions for common properties 2020-04-06 21:11:24 -04:00
Barış Soner Uşaklı
9987813f30 feat: add page query param to docs 2020-04-06 21:09:49 -04:00
Barış Soner Uşaklı
bbddaadf51 feat: tag route doc 2020-04-06 21:00:08 -04:00
Julian Lam
03739b6f83 fix: some definitions in read API spec 2020-04-06 10:28:32 -04:00
renovate[bot]
ac98775f23 fix(deps): update dependency pg to v8 (#8227)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-05 12:57:14 -04:00
renovate[bot]
a3789e28f8 chore(deps): update dependency nyc to v15.0.1 (#8231)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-05 12:55:44 -04:00
renovate[bot]
e1919c90d0 chore(deps): update dependency lint-staged to v10.1.2 (#8235)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-05 12:36:25 -04:00
Julian Lam
455d42bcfa fix: tagged all routes in read api spec 2020-04-03 15:30:50 -04:00
Julian Lam
1136a369f3 feat: local redoc view on development mode only 2020-04-03 14:10:13 -04:00
Julian Lam
c82a263788 Revert "fix: override ACAO header for read API spec file"
This reverts commit 240d90919b.
2020-04-03 12:41:52 -04:00
Julian Lam
240d90919b fix: override ACAO header for read API spec file 2020-04-03 12:31:19 -04:00
Julian Lam
7b155dab74 feat: added auto-generated, slimmed-down openapi 3.0 file for read api 2020-04-03 12:07:50 -04:00
Barış Soner Uşaklı
59cf0e80d2 fix: throw error if topic does not exist 2020-04-02 22:56:59 -04:00
Barış Soner Uşaklı
e93578b81d fix: hookname 2020-04-02 16:14:56 -04:00
Barış Soner Uşaklı
0d1b5a7fb1 fix: #8230, add hook getUserDataByUserSlug 2020-04-02 16:00:48 -04:00
psychobunny
15d6975e96 fix: ignore case for group details route 2020-04-02 12:45:01 -04:00
Barış Soner Uşaklı
740e598a5d fix: lint 2020-04-01 22:03:31 -04:00
Barış Soner Uşaklı
8e23dec84b fix: lint 2020-04-01 21:57:28 -04:00
Barış Soner Uşaklı
00e299e93e feat: closes #8229, add targetUid to action:password.change 2020-04-01 00:11:55 -04:00
Renovate Bot
944a6f5850 chore(deps): update dependency lint-staged to v10.1.1 2020-03-31 10:25:23 -04:00
Misty (Bot)
bb565b0a81 Latest translations and fallbacks 2020-03-31 09:30:44 +00:00
Renovate Bot
30bd233bfc chore(deps): update dependency lint-staged to v10.1.0 2020-03-30 09:49:06 -04:00
Renovate Bot
811c3aee09 chore(deps): update dependency eslint-config-airbnb-base to v14.1.0 2020-03-30 09:05:36 -04:00
Renovate Bot
c5a7242dbe chore(deps): update dependency jsdom to v16.2.2 2020-03-30 09:05:11 -04:00
Renovate Bot
b92c1600f5 chore(deps): update dependency eslint-plugin-import to v2.20.2 2020-03-30 09:03:20 -04:00
Renovate Bot
0ad4b55628 chore(deps): update dependency lint-staged to v10.0.10 2020-03-30 09:03:12 -04:00
Renovate Bot
f497ee6268 fix(deps): update dependency validator to v13 2020-03-30 09:02:58 -04:00
Renovate Bot
14458087ca chore(deps): update dependency coveralls to v3.0.11 2020-03-30 09:02:30 -04:00
Renovate Bot
22681945cf chore(deps): update dependency smtp-server to v3.6.0 2020-03-30 09:02:18 -04:00
Barış Soner Uşaklı
23571224b5 feat: add parent cids to body class 2020-03-26 12:04:04 -04:00
Misty (Bot)
aabddea2b7 Latest translations and fallbacks 2020-03-24 09:29:53 +00:00
Misty (Bot)
5e849c6b52 Latest translations and fallbacks 2020-03-23 09:29:16 +00:00
Barış Soner Uşaklı
080317300a fix: #8221, fix parent selection 2020-03-22 12:32:12 -04:00
Barış Soner Uşaklı
071506eb7d fix: invite properly 2020-03-20 22:18:14 -04:00
Barış Soner Uşaklı
8f4b99a41c fix: admins not seeing invite button 2020-03-20 22:14:13 -04:00
renovate[bot]
dd660c8778 fix(deps): update dependency sharp to v0.25.2 (#8220)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-20 17:37:37 -04:00
Misty (Bot)
68afd01f67 Latest translations and fallbacks 2020-03-20 09:29:31 +00:00
renovate[bot]
c535654142 chore(deps): update dependency mocha to v7.1.1 (#8215)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-19 10:18:57 -04:00
Barış Soner Uşaklı
0b5fac75b0 fix: #8217, add missing lang key 2020-03-19 10:03:46 -04:00
Misty (Bot)
fc06f90346 Latest translations and fallbacks 2020-03-19 09:30:33 +00:00
Julian Lam
ee6cb412bc fix(deps): bump markdown 2020-03-17 09:49:22 -04:00
renovate[bot]
5535c50c39 fix(deps): update dependency mongodb to v3.5.5 (#8205)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-16 23:18:40 -04:00
renovate[bot]
b0864e7c24 chore(deps): update dependency grunt to v1.1.0 (#8214)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-16 23:18:20 -04:00
Julian Lam
93acd13999 fix: #8206 first message in chat has false newSet 2020-03-16 21:15:04 -04:00
Julian Lam
5aa76cdf2f feat: pass in target element in action:topic.tools.load 2020-03-13 10:30:48 -04:00
Barış Soner Uşaklı
d080c7b04c feat: add 2 hooks for modifying privileges 2020-03-12 12:25:51 -04:00
renovate[bot]
776fe9d2ea chore(deps): update dependency husky to v4.2.3 (#8162)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2020-03-11 13:38:18 -04:00
renovate[bot]
13d8f6f117 chore(deps): update dependency lint-staged to v10.0.8 (#8180)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-11 13:07:09 -04:00
renovate[bot]
4cdb31318c chore(deps): update dependency eslint-plugin-import to v2.20.1 (#8081)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-11 12:35:57 -04:00
renovate[bot]
fbd95a504b chore(deps): update dependency jsdom to v16.2.1 (#8165)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-11 12:32:25 -04:00
renovate[bot]
2052f14c19 fix(deps): update dependency sitemap to v6 (#8198)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-11 12:26:22 -04:00
Barış Soner Uşaklı
2f9c7c626f fix: #8203, fix user invites refreshing page 2020-03-11 12:21:46 -04:00
Barış Soner Uşaklı
f07f4f8e1a fix: #8202, filter non-existing users in search by uid 2020-03-11 12:19:20 -04:00
psychobunny
266061c31a fix: notification bodyShort truncated if there is a comma in topic title 2020-03-10 11:26:08 -04:00
Misty (Bot)
af5c6b8824 Latest translations and fallbacks 2020-03-10 09:31:44 +00:00
Renovate Bot
6d98d5a100 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.23 2020-03-09 12:45:13 -04:00
renovate[bot]
2de9e5a7cf Update dependency postcss to v7.0.27 (#8166)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-07 21:26:25 -05:00
renovate[bot]
21e91c91fc fix(deps): update dependency sharp to v0.25.1 (#8199)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-03-07 21:26:10 -05:00
Misty (Bot)
d0075ed9a3 Latest translations and fallbacks 2020-03-06 09:29:55 +00:00
Julian Lam
1efb238a9a refactor: getUsersCSV to use batch lib 2020-03-05 17:51:34 -05:00
psychobunny
b67af70da4 fix: hsts max-age missing translation 2020-03-05 13:59:10 -05:00
Misty (Bot)
41572be879 Latest translations and fallbacks 2020-03-05 09:30:18 +00:00
psychobunny
e1c6c3b267 refactor: reorganized socket.io admin modules 2020-03-03 16:33:13 -05:00
Misty (Bot)
22ee2b8d06 Latest translations and fallbacks 2020-03-03 09:30:57 +00:00
Barış Soner Uşaklı
5e91a67e78 feat: add user ip to admin/dev/info 2020-03-02 11:18:15 -05:00
Misty (Bot)
07e7872622 Latest translations and fallbacks 2020-03-01 09:28:56 +00:00
renovate[bot]
e01f05e321 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.22 (#8193)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-28 23:07:53 -05:00
Barış Soner Uşaklı
cba5b23e23 feat: change option name 2020-02-28 22:02:46 -05:00
Barış Soner Uşaklı
80f1bcad20 fix: call next 2020-02-28 21:24:51 -05:00
Baris Usakli
476f6717c4 feat: add no-build to ./nodebb setup 2020-02-28 15:53:16 -05:00
Baris Usakli
05bee6291d fix: try travis fix again 2020-02-28 11:50:00 -05:00
Baris Usakli
bc9e92a11c fix: try fixing psql on travis 2020-02-28 11:29:28 -05:00
Baris Usakli
cf6eadb91a fix: dont let regular users see other users watched categories 2020-02-28 11:02:22 -05:00
Barış Soner Uşaklı
4083a6e39b feat: add awaitable socket.emit 2020-02-27 19:22:19 -05:00
Barış Soner Uşaklı
6e5de39ba0 fix: also fix updating bookmark if sorting is newest_to_oldest 2020-02-27 18:56:22 -05:00
Barış Soner Uşaklı
32ada7c4e7 fix: #8188, fix bookmark if sorting is newest_to_oldest 2020-02-27 17:21:36 -05:00
Andrew Rodrigues
ac241fb830 fix: duplicate ID + label 2020-02-27 11:32:19 -05:00
Misty (Bot)
53720354de Latest translations and fallbacks 2020-02-27 09:30:23 +00:00
Andrew Rodrigues
d2bd746c99 chore: bump persona 2020-02-26 18:04:45 -05:00
renovate[bot]
1e1467aa0d Update dependency mocha to v7.1.0 (#8183)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-26 12:29:43 -05:00
Julian Lam
f0db240a1d fix: #8184 global mods unable to revoke other user sessions 2020-02-26 12:26:52 -05:00
Misty (Bot)
7eb0053bd4 Latest translations and fallbacks 2020-02-26 09:30:45 +00:00
renovate[bot]
da111b7cc4 Update dependency mongodb to v3.5.4 (#8182)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-25 16:01:05 -05:00
Julian Lam
d38f7e7973 Update Dockerfile
... to run build step before starting
2020-02-25 09:40:47 -05:00
Misty (Bot)
c71e4de8a8 Latest translations and fallbacks 2020-02-25 09:32:00 +00:00
Barış Soner Uşaklı
e72a29b3fd fix: return null if field does not exist 2020-02-24 18:07:51 -05:00
Barış Soner Uşaklı
14e7866745 fix: #8179, limit length of location/website/fullname, check grouptitle 2020-02-24 16:58:51 -05:00
Misty (Bot)
307c72a58b Latest translations and fallbacks 2020-02-24 09:30:52 +00:00
Misty (Bot)
8f2029faed Latest translations and fallbacks 2020-02-23 09:30:04 +00:00
renovate[bot]
9daa21ffcf fix(deps): update dependency nodebb-theme-slick to v1.2.29 (#8177)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-22 23:07:40 -05:00
renovate[bot]
7d6a983be8 fix(deps): update dependency nodebb-theme-vanilla to v11.1.16 (#8178)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-22 22:35:44 -05:00
Barış Soner Uşaklı
326367556f fix: tag key 2020-02-22 21:16:51 -05:00
renovate[bot]
3acc24b0b6 fix(deps): update dependency nodebb-theme-persona to v10.1.35 (#8176)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-22 16:09:53 -05:00
Barış Soner Uşaklı
bc93b5676c fix: #8175 2020-02-22 16:01:04 -05:00
Opliko
41c20761e1 Remove deprecated mongo connection options, fixes #8079 (#8174)
fix #8079 
Unified Topology changes the concept of connecting and causes isConnected to always return true, making any reconnection options useless. Next major version of the driver will remove isConnected entirely.
So:
- reconnect tries
- reconnectInterval
- autoReconnect

Are deprecated and don't really do anything anymore (when unified topology is used at least) other than causing warnings at startup since the 3.4 version of the driver (the current version used by NodeBB is 3.5).

Reference: http://mongodb.github.io/node-mongodb-native/3.5/reference/unified-topology/
2020-02-21 20:15:07 -05:00
Andrew Rodrigues
3c9689a5ac feat: settings sorted list (#8170)
* feat: settings sorted list

see https://github.com/NodeBB/nodebb-plugin-quickstart/pull/9/files for sample
2020-02-21 12:18:09 -05:00
renovate[bot]
7cc63f7d2c fix(deps): update dependency sharp to v0.24.1 (#8164)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-21 08:06:05 -05:00
Julian Lam
667608a02c fix: #8168 re-allowing slashes in homePageRoute
Resolves regression introduced by b0f3e48ac2
2020-02-19 12:24:41 -05:00
Misty (Bot)
307f8716b7 Latest translations and fallbacks 2020-02-19 09:31:50 +00:00
Julian Lam
eddbd86837 fix: tweak to session validation in addHeaders 2020-02-18 16:08:23 -05:00
Barış Soner Uşaklı
630f5d5b85 fix: only call clearCookie for logged in users 2020-02-18 16:06:05 -05:00
Misty (Bot)
316913b9bb Latest translations and fallbacks 2020-02-16 09:29:39 +00:00
Misty (Bot)
f1d58989d8 Latest translations and fallbacks 2020-02-15 09:29:21 +00:00
Barış Soner Uşaklı
067034082f fix: #6422, update deleted/restored messages 2020-02-14 23:26:54 -05:00
Misty (Bot)
20fbab9723 Latest translations and fallbacks 2020-02-14 09:30:37 +00:00
Barış Soner Uşaklı
4d0636f847 fix: #8163, prevent account deletion 2020-02-13 11:31:20 -05:00
renovate[bot]
f4ed35c998 chore(deps): update dependency husky to v4.2.2 (#8160)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-12 11:25:44 -05:00
renovate[bot]
4b90713717 fix(deps): update dependency mongodb to v3.5.3 (#8161)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-12 11:25:29 -05:00
Barış Soner Uşaklı
5a0c7c1497 fix: register 2020-02-11 21:46:34 -05:00
renovate[bot]
a5f3c2a2c2 fix(deps): update dependency nodebb-widget-essentials to v4.1.0 (#8159)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-11 17:03:01 -05:00
Barış Soner Uşaklı
e74954407f fix: #8157, update recent tid when post is moved 2020-02-11 15:30:15 -05:00
renovate[bot]
7fde180a28 fix(deps): update dependency request to v2.88.2 (#8158)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-11 14:19:56 -05:00
Misty (Bot)
99a3ca7582 Latest translations and fallbacks 2020-02-11 09:30:48 +00:00
Barış Soner Uşaklı
b73aa84ddc fix: tests 2020-02-10 14:30:40 -05:00
Barış Soner Uşaklı
dd3893b134 fix: move start/stop every iteration 2020-02-10 13:49:04 -05:00
Barış Soner Uşaklı
4abe5eb7ff Revert "fix: #8154, move start/stop every iteration"
This reverts commit 300c04cef9.
2020-02-10 13:47:34 -05:00
Barış Soner Uşaklı
300c04cef9 fix: #8154, move start/stop every iteration 2020-02-10 13:47:15 -05:00
Barış Soner Uşaklı
690bb69d03 fix: #8154, respect stop 2020-02-10 13:21:01 -05:00
Barış Soner Uşaklı
f23bc347b1 fix: #8156 dont allow loading members from hidden groups 2020-02-10 13:20:10 -05:00
Barış Soner Uşaklı
03a02e5d1d fix: #8155, don't validate name on update if groupName didn't change 2020-02-10 13:16:45 -05:00
renovate[bot]
ef964b11a8 fix(deps): update dependency redis to v3 (#8152)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-09 11:14:09 -05:00
renovate[bot]
1037de0216 chore(deps): update dependency jsdom to v16 (#8114)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-09 11:14:00 -05:00
renovate[bot]
d8efc6b653 fix(deps): update dependency rimraf to v3.0.2 (#8153)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-09 11:10:35 -05:00
Baris Usakli
236e1e6859 fix: return correct number of suggested topics 2020-02-07 14:50:18 -05:00
Baris Usakli
2e79480179 fix: #8151, don't crash if taskbar doesn't have element 2020-02-07 12:04:37 -05:00
Julian Lam
398f0120b8 fix: logic for determining dailyStats hour vars
Reverts 9ecdb92f7c and fixes it
properly.
2020-02-07 11:35:45 -05:00
Julian Lam
9ecdb92f7c fix: fix daily analytics being one day off 2020-02-07 11:20:59 -05:00
Julian Lam
0b9ad416cb fix: remove debug line 2020-02-07 10:51:24 -05:00
Julian Lam
79737c53fd feat: guard against accidental ommision
...of analytics: prefix in get*StatsForSet methods
2020-02-07 10:28:40 -05:00
Julian Lam
14655f8745 fix: no decimal places for category analytics 2020-02-07 10:22:13 -05:00
Julian Lam
d6e3f3f058 fix: #8142, broken site if no server-side session (#8148)
* fix: #8142, broken site if no server-side session

During the `addHeader` middleware, a check is now done to see if
`req.session.meta` is present. This value is only present if the user
has a valid server-side session.  If it is missing, then it is probably
safe to assume that the server-side session was deleted (either
intentionally or accidentally). In that scenario, the client-side cookie
should be cleared.

Also, there was an issue where the sessionRefresh flag was never cleared
after a successful login, so that was fixed too.

* feat: exported method to get cookie config

* fix: don't clear cookie if cookie is being set

* fix: socket.io tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2020-02-06 15:52:37 -05:00
Julian Lam
0885ec6858 fix: #8144 pluginHooks in maintenance mode middleware 2020-02-06 15:43:14 -05:00
Julian Lam
146388aac8 docs: updated changelog 2020-02-05 16:51:00 -05:00
Misty (Bot)
beafd6139f chore: incrementing version number - v1.13.2 2020-02-05 16:04:20 -05:00
Barış Soner Uşaklı
a5ef6b53b8 fix: admin relogin 2020-02-03 11:04:20 -05:00
Barış Soner Uşaklı
c35a21d7f0 fix: #8135 2020-01-31 22:56:55 -05:00
Baris Usakli
1e50616c13 fix: handle mkdirp0.5->1.0x so it doesn't break upgrade 2020-01-31 15:05:50 -05:00
renovate[bot]
157832131d chore(deps): update dependency eslint to v6.8.0 (#8062)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-31 14:14:42 -05:00
renovate[bot]
d5b3d56296 Update dependency postcss to v7.0.26 (#8048)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-31 14:14:23 -05:00
renovate[bot]
976e26a958 chore(deps): update dependency nyc to v15 (#8094)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-31 14:13:54 -05:00
renovate[bot]
eb4a1a5772 chore(deps): update commitlint monorepo (#8100)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-31 14:13:41 -05:00
renovate[bot]
cdfbcbb9ce chore(deps): update dependency lint-staged to v10.0.7 (#8132)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-31 14:13:25 -05:00
Baris Usakli
87225a90c3 fix: #8134, upgrade mkdirp to 1.0.x 2020-01-31 14:10:00 -05:00
Misty (Bot)
5ed7fc0ffa Latest translations and fallbacks 2020-01-31 09:30:22 +00:00
renovate[bot]
16ab641dd1 fix(deps): update dependency connect-redis to v4.0.4 (#8143)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 11:20:48 -05:00
renovate[bot]
726ba71c57 fix(deps): update dependency rimraf to v3.0.1 (#8138)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 10:56:53 -05:00
renovate[bot]
f07b4bfa62 fix(deps): update dependency validator to v12.2.0 (#8136)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 09:10:14 -05:00
renovate[bot]
b370333c6a chore(deps): update dependency mocha to v7 (#8106)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 09:09:38 -05:00
Julian Lam
b959c24a2b Merge branch 'master' of github.com:NodeBB/NodeBB 2020-01-29 12:47:55 -05:00
Julian Lam
111ed802cf fix: onSuccessfulLogin not working
In scenarios where onSuccessfulLogin was not called in the SSO plugin,
core's calling of onSuccessfulLogin was prematurely returning, because
it was checking the wrong value.

This commit fixes the issue by checking a different value.
2020-01-29 12:47:48 -05:00
renovate[bot]
6d7131fbc5 fix(deps): update dependency nodebb-theme-persona to v10.1.34 (#8140)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-28 13:33:30 -05:00
Barış Soner Uşaklı
8c48f94b96 fix: #8139, dont allow restore if not deleted by self 2020-01-28 13:03:58 -05:00
Barış Soner Uşaklı
9969dd6335 fix: use view_deleted when filtering, closes #8137 2020-01-28 12:42:57 -05:00
Barış Soner Uşaklı
d927b763c1 fix: escape invalid rules 2020-01-26 22:18:07 -05:00
Barış Soner Uşaklı
66febb8071 feat: add test for isOnline 2020-01-26 21:51:05 -05:00
Barış Soner Uşaklı
3cca929a88 fix: add missing await 2020-01-26 21:35:04 -05:00
Barış Soner Uşaklı
df2c785127 feat: add test for change post owner 2020-01-24 15:24:01 -05:00
Barış Soner Uşaklı
0ae1eb4f6e fix: missing await in SocketPosts.changeOwner 2020-01-24 14:28:27 -05:00
Renovate Bot
dd440ce902 chore(deps): update dependency husky to v4 2020-01-24 13:34:09 -05:00
Andrew Rodrigues
027f3f2256 chore: bump themes 2020-01-24 06:58:11 -05:00
Barış Soner Uşaklı
23810cc64b fix: #8133, check if user is in room before removing 2020-01-23 22:40:14 -05:00
Barış Soner Uşaklı
30c503611c refactor: messaging 2020-01-23 22:19:15 -05:00
Barış Soner Uşaklı
cd1fa27a8b fix: add missing await 2020-01-23 22:19:00 -05:00
Barış Soner Uşaklı
ee4304b443 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-01-23 22:13:07 -05:00
Barış Soner Uşaklı
f799f017ab fix: missing await 2020-01-23 22:04:49 -05:00
Baris Usakli
418c174d56 fix: dont return flag data to client 2020-01-23 12:48:21 -05:00
Barış Soner Uşaklı
51236df4ed fix: check if user has read priv before flagging 2020-01-22 12:14:50 -05:00
Barış Soner Uşaklı
1f13ab8a19 fix: restrict getUsersInRoom to members 2020-01-22 11:46:26 -05:00
Andrew Rodrigues
236a173009 chore: bump vanilla 2020-01-21 16:37:32 -05:00
Andrew Rodrigues
82ace391cb chore: bump persona 2020-01-21 15:58:13 -05:00
Barış Soner Uşaklı
3077eb9428 fix: remove unused conditional, dont add dupe messages 2020-01-21 15:17:31 -05:00
Julian Lam
ecc579a29c fix: tests for messaging 2020-01-21 14:35:50 -05:00
Julian Lam
594cd7e176 fix: #8127 user join system message duplicated
- Now showing user-join message for chat owner in addition to the newly
  added user
- If a modal already exists for a room when createModal is called, don't
  return null, return the modal
2020-01-21 13:57:16 -05:00
Julian Lam
106c141ff5 fix: background-size in taskbar images 2020-01-21 13:57:15 -05:00
renovate[bot]
c510a2c4f2 fix(deps): update dependency nodebb-theme-persona to v10.1.31 (#8129)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-21 13:49:55 -05:00
renovate[bot]
0e49cfb98d fix(deps): update dependency mongodb to v3.5.2 (#8092)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-21 13:49:36 -05:00
Renovate Bot
66992a556c chore(deps): update dependency lint-staged to v10.0.1 2020-01-20 15:18:18 -05:00
Barış Soner Uşaklı
1b08f37612 fix: tests, was using hardcoded message id 2020-01-20 11:15:26 -05:00
Barış Soner Uşaklı
bfaba89557 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-01-20 10:59:22 -05:00
Julian Lam
8bb5e71ebe fix: typo in #8116 2020-01-20 10:21:27 -05:00
Julian Lam
3fac09b1ab fix: build step defaults to series instead of parallel
- The logic for the build step now defaults to series instead of
  parallel, unless more than 4 CPU cores are detected by the os
  library.
- The `--series` flag still exists, and will enforce build in
  series, as before.
2020-01-20 10:21:27 -05:00
Julian Lam
8e5a2276af feat: check flag values on save (assignee and state) (#8122)
* feat: add assignee checking when updating flag

Prior to this, it was possible to update the assignee to any value (or
any user. This commit adds checking to allow only admins, global
moderators, or in the case of flagged posts, moderators.

Also some prep work was added for value checking `state`.

* feat: value checking `state` on flag update

The state should be one of the constants defined earlier in the file.
2020-01-20 10:19:23 -05:00
Misty (Bot)
ddce77b343 Latest translations and fallbacks 2020-01-20 09:29:52 +00:00
Barış Soner Uşaklı
6a63c1a100 fix: escape system message, don't allow editing system messages 2020-01-19 22:20:43 -05:00
Barış Soner Uşaklı
c8fb7f9246 fix: escape register query param 2020-01-19 22:03:18 -05:00
Barış Soner Uşaklı
8c6a7954cf fix: delete upload 2020-01-19 14:57:06 -05:00
Renovate Bot
d74eecfbe8 chore(deps): update dependency lint-staged to v10 2020-01-19 14:23:07 -05:00
Barış Soner Uşaklı
153b1a0eaa fix: check uploadName 2020-01-19 11:56:13 -05:00
Misty (Bot)
1656738359 Latest translations and fallbacks 2020-01-19 09:29:07 +00:00
Barış Soner Uşaklı
01d1ae78c8 fix: #8120, bubble errors from static hooks 2020-01-17 13:30:57 -05:00
Barış Soner Uşaklı
b0f3e48ac2 fix: escape bootswatchSkin and homepageRoute 2020-01-17 11:48:00 -05:00
Barış Soner Uşaklı
3e52557689 fix: change owner missing await 2020-01-17 11:16:23 -05:00
yossizahn
09d55581d8 Fix: ACP > manage > group: save disableLeave (#8123)
* Fix: ACP > manage > group: save disableLeave

* Fix eslint comma-dangle
2020-01-17 09:38:23 -05:00
renovate[bot]
16e8f49655 fix(deps): update dependency sharp to v0.24.0 (#8121)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-16 15:59:37 -05:00
Barış Soner Uşaklı
e3952674ba fix: hsts always enabled 2020-01-15 19:32:14 -05:00
Barış Soner Uşaklı
b7a57996f7 fix: escape topic.thumb 2020-01-15 18:53:08 -05:00
renovate[bot]
ca10f8f073 fix(deps): update dependency nodebb-plugin-composer-default to v6.3.21 (#8119)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 12:07:25 -05:00
Baris Usakli
842916ea42 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-01-15 11:36:39 -05:00
Baris Usakli
4eb9652a2a fix: #8112, don't crash hook returns no data 2020-01-15 11:36:27 -05:00
Opliko
740de034fa #8115 - log post owner changes (#8117)
* log post owner changes

* log each post separately

* use map instad of a loop
2020-01-15 11:05:57 -05:00
Opliko
879acc85ae Add disable/enable category to category edit page (#8118) 2020-01-14 17:30:56 -05:00
Barış Soner Uşaklı
e06c1bfcd2 fix: escape config.userLang/acpLang, don't allow invalid language codes 2020-01-13 12:27:50 -05:00
renovate[bot]
df5e3a7394 fix(deps): update dependency nodebb-widget-essentials to v4.0.18 (#8111)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-09 20:22:10 -05:00
Barış Soner Uşaklı
61da8c29ac fix: group create/join/update name validation 2020-01-07 15:40:54 -05:00
Barış Soner Uşaklı
48f086279c fix: don't crash if groupData is missing 2020-01-07 10:39:35 -05:00
Barış Soner Uşaklı
5a8217de01 fix: #8105, fix export json on page load 2020-01-04 10:34:20 -05:00
arite
527745310d fix: #8103, fix advanced menu not displaying in ACP 2020-01-04 00:27:20 -05:00
Renovate Bot
5e6233969e Update dependency nodebb-theme-vanilla to v11.1.13 2020-01-03 16:42:49 -05:00
Renovate Bot
81c5ca15eb Update dependency nodebb-plugin-mentions to v2.7.4 2020-01-03 14:26:59 -05:00
Misty (Bot)
ac567bc10a Latest translations and fallbacks 2020-01-02 09:49:08 +00:00
Misty (Bot)
5410b5d6da Latest translations and fallbacks 2020-01-01 09:47:53 +00:00
Misty (Bot)
223225378e Latest translations and fallbacks 2019-12-31 09:49:04 +00:00
Barış Soner Uşaklı
10989cccaa fix: meta description missing if url doesn't have post index 2019-12-30 22:19:00 -05:00
Misty (Bot)
0aae421417 Latest translations and fallbacks 2019-12-30 09:48:38 +00:00
Misty (Bot)
fd056b58fb Latest translations and fallbacks 2019-12-29 09:48:18 +00:00
Misty (Bot)
bb1515ce56 Latest translations and fallbacks 2019-12-28 09:48:24 +00:00
Barış Soner Uşaklı
c1b1ee61f3 fix: create user modal instantly closing 2019-12-27 09:51:41 -05:00
Barış Soner Uşaklı
9d074731f4 fix: login with weak password 2019-12-26 20:17:54 -05:00
Misty (Bot)
b9679df784 Latest translations and fallbacks 2019-12-26 09:49:04 +00:00
Barış Soner Uşaklı
f6d7a24a67 fix: dont check password strength on login 2019-12-24 09:07:17 -05:00
Misty (Bot)
9a4a48bc45 Latest translations and fallbacks 2019-12-20 09:49:13 +00:00
Julian Lam
2edc6960d0 docs: updated changelog 2019-12-19 15:21:11 -05:00
Misty (Bot)
cc6758a0f1 chore: incrementing version number - v1.13.1 2019-12-19 15:17:41 -05:00
1742 changed files with 30523 additions and 9351 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

@@ -1,3 +1,4 @@
dist/
yarn.lock
npm-debug.log
node_modules/
@@ -66,3 +67,4 @@ test/files/normalise.jpg.png
test/files/normalise-resized.jpg
package-lock.json
/package.json
*.mongodb

4
.mocharc.yml Normal file
View File

@@ -0,0 +1,4 @@
reporter: dot
timeout: 25000
exit: true
bail: true

View File

@@ -14,7 +14,7 @@ before_script:
- "mongo mydb_test --eval 'db.createUser({user:\"travis\", pwd: \"test\", roles: []});'"
- sh -c "if [ '$DB' = 'mongodb' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"mongo\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":27017,\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
- sh -c "if [ '$DB' = 'redis' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567/forum\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"redis\\\",\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":6379,\\\"database\\\":1}\"; fi"
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database nodebb;' -U postgres; psql -c 'create database travis_ci_test;' -U postgres; node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"postgres\\\",\\\"postgres:host\\\":\\\"127.0.0.1\\\",\\\"postgres:port\\\":5432,\\\"postgres:password\\\":\\\"\\\",\\\"postgres:database\\\":\\\"nodebb\\\",\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":5432,\\\"username\\\":\\\"postgres\\\",\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database nodebb;' -U postgres; psql -c 'create database travis_ci_test;' -U postgres; node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"postgres\\\",\\\"postgres:host\\\":\\\"127.0.0.1\\\",\\\"postgres:port\\\":5433,\\\"postgres:password\\\":\\\"\\\",\\\"postgres:database\\\":\\\"nodebb\\\",\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":5433,\\\"username\\\":\\\"postgres\\\",\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
after_success:
- "npm run coveralls"
language: node_js
@@ -23,7 +23,7 @@ dist: xenial
env:
global:
- PGUSER=postgres
- PGPORT=5432
- PGPORT=5433
- CXX=g++-4.8
jobs:
- "DB=mongodb TEST_ENV=production"

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,403 @@
#### 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
* incrementing version number - v1.13.2 (71f4607d)
* bump themes (027f3f22)
* bump vanilla (236a1730)
* bump persona (82ace391)
* incrementing version number - v1.13.1 (cc6758a0)
* **deps:**
* update dependency eslint to v6.8.0 (#8062) (15783213)
* update dependency nyc to v15 (#8094) (976e26a9)
* update commitlint monorepo (#8100) (eb4a1a57)
* update dependency lint-staged to v10.0.7 (#8132) (cdfbcbb9)
* update dependency mocha to v7 (#8106) (b370333c)
* update dependency husky to v4 (dd440ce9)
* update dependency lint-staged to v10.0.1 (66992a55)
* update dependency lint-staged to v10 (d74eecfb)
##### Documentation Changes
* updated changelog (2edc6960)
##### New Features
* add test for isOnline (66febb80)
* add test for change post owner (df2c7851)
* check flag values on save (assignee and state) (#8122) (8e5a2276)
##### Bug Fixes
* admin relogin (a5ef6b53)
* #8135 (c35a21d7)
* handle mkdirp0.5->1.0x so it doesn't break upgrade (1e50616c)
* #8134, upgrade mkdirp to 1.0.x (87225a90)
* onSuccessfulLogin not working (111ed802)
* #8139, dont allow restore if not deleted by self (8c48f94b)
* use view_deleted when filtering, closes #8137 (9969dd63)
* escape invalid rules (d927b763)
* add missing await (3cca929a)
* missing await in SocketPosts.changeOwner (0ae1eb4f)
* #8133, check if user is in room before removing (23810cc6)
* add missing await (cd1fa27a)
* missing await (f799f017)
* dont return flag data to client (418c174d)
* check if user has read priv before flagging (51236df4)
* restrict getUsersInRoom to members (1f13ab8a)
* remove unused conditional, dont add dupe messages (3077eb94)
* tests for messaging (ecc579a2)
* #8127 user join system message duplicated (594cd7e1)
* background-size in taskbar images (106c141f)
* tests, was using hardcoded message id (1b08f376)
* typo in #8116 (8bb5e71e)
* build step defaults to series instead of parallel (3fac09b1)
* escape system message, don't allow editing system messages (6a63c1a1)
* escape register query param (c8fb7f92)
* delete upload (8c6a7954)
* check uploadName (153b1a0e)
* #8120, bubble errors from static hooks (01d1ae78)
* escape bootswatchSkin and homepageRoute (b0f3e48a)
* change owner missing await (3e525576)
* hsts always enabled (e3952674)
* escape topic.thumb (b7a57996)
* #8112, don't crash hook returns no data (4eb9652a)
* escape config.userLang/acpLang, don't allow invalid language codes (e06c1bfc)
* group create/join/update name validation (61da8c29)
* don't crash if groupData is missing (48f08627)
* #8105, fix export json on page load (5a8217de)
* #8103, fix advanced menu not displaying in ACP (52774531)
* meta description missing if url doesn't have post index (10989ccc)
* create user modal instantly closing (c1b1ee61)
* login with weak password (9d074731)
* dont check password strength on login (f6d7a24a)
* **deps:**
* update dependency connect-redis to v4.0.4 (#8143) (16ab641d)
* update dependency rimraf to v3.0.1 (#8138) (726ba71c)
* update dependency validator to v12.2.0 (#8136) (f07b4bfa)
* update dependency nodebb-theme-persona to v10.1.34 (#8140) (6d7131fb)
* update dependency nodebb-theme-persona to v10.1.31 (#8129) (c510a2c4)
* update dependency mongodb to v3.5.2 (#8092) (0e49cfb9)
* update dependency sharp to v0.24.0 (#8121) (16e8f496)
* update dependency nodebb-plugin-composer-default to v6.3.21 (#8119) (ca10f8f0)
* update dependency nodebb-widget-essentials to v4.0.18 (#8111) (df5e3a73)
##### Other Changes
* NodeBB/NodeBB (b959c24a)
* //github.com/NodeBB/NodeBB (ee4304b4)
* //github.com/NodeBB/NodeBB (bfaba895)
* save disableLeave (#8123) (09d55581)
* //github.com/NodeBB/NodeBB (842916ea)
##### Refactors
* messaging (30c50361)
#### 1.13.1 (2019-12-19)
##### Chores
* incrementing version number - v1.13.1 (d1e0672f)
* incrementing version number - v1.13.0 (c38b2d23)
* **deps:**
* update dependency husky to v3.1.0 (#8046) (c3418c26)
* update dependency coveralls to v3.0.9 (#8067) (0aeee144)
* update dependency eslint to v6.7.0 (32cfe96f)
* update dependency coveralls to v3.0.8 (#8054) (8ba26104)
##### Documentation Changes
* updated changelog (94499da3)
##### New Features
* better output for cli plugins list, closes #8075 (4fc69443)
* #5272, allow changing user groups from manage users page (05c9fe27)
* merge social authentication into plugins menu in ACP (f9a8ebfc)
* convert middleware.isAdmin to async/await (efd1e88b)
##### Bug Fixes
* #8085, fix cookie name (dec157d6)
* #8058, fix incorrect digest setting display in ACP (1b992d82)
* remove select version (6a17e32d)
* travis config (3ae98300)
* travis :dog: (3731dc4e)
* #8078, dont mark notifications read without a mergeId (a8df6d62)
* #8077, show continue chat on all profile pages (7af1c873)
* profile showing posts from deleted topics (2679f37d)
* #8073, configurable necroThreshold (4d669783)
* allow members to search as well (b323df2f)
* #8069, dont show hidden groups in search (c2cd7de8)
* missing await (33fd4a1c)
* #8064, break-word on post-queue (1bda92e3)
* #6711 (7ed002a1)
* #8061, don't crash if there is a network problem (de404102)
* #8059, properly mark topic unread when using mark unread for all (a688aaae)
* #8042, dont show errors after clearing form (3811e0a3)
* unhandled promise rejection error on reset error (51073772)
* #8050, fix redirect after registration (366ad5cd)
* make _csrf a secure cookie if the website is using https (#8045) (0efe27b1)
* #8034 (0a96c923)
* serialize (a2545204)
* show login fields if user has local password (1eca5b3d)
* use the correct attribute name for widgets (6c404b81)
* **deps:**
* update dependency semver to v7 (483d7535)
* update dependency nodebb-theme-vanilla to v11.1.12 (610ecf35)
* update dependency sharp to v0.23.4 (#8076) (eb18c182)
* update dependency nodebb-theme-persona to v10.1.30 (0514383a)
* update dependency nodebb-plugin-markdown to v8.11.0 (702ca164)
* update dependency connect-mongo to v3.2.0 (2aef7a5b)
* update dependency mongodb to v3.3.5 (#8065) (68118e43)
* update dependency nodebb-theme-persona to v10.1.29 (#8057) (34933091)
* update dependency sharp to v0.23.3 (#8044) (6fa88823)
* update dependency validator to v12.1.0 (#8055) (488ea394)
* update dependency nodebb-theme-slick to v1.2.28 (#8041) (b3511f71)
* update dependency nodebb-theme-vanilla to v11.1.11 (#8040) (d567c4ae)
* update dependency nodebb-theme-persona to v10.1.28 (#8039) (6c87bed5)
* update dependency nodebb-plugin-dbsearch to v4.0.7 (#8038) (1e2e16b4)
##### Refactors
* async/await middleware (a227cbe3)
* change to const/let (3454a24b)
* shorter returns (cec00795)
### 1.13.0 (2019-11-13)
##### Chores

View File

@@ -19,5 +19,4 @@ ENV NODE_ENV=production \
EXPOSE 4567
CMD ./nodebb start
CMD node ./nodebb build ; node ./nodebb start

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;
}

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,
@@ -81,9 +80,11 @@
"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",
@@ -109,7 +110,9 @@
"email:sendmail:rateLimit": 2,
"email:sendmail:rateDelta": 1000,
"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.0",
"version": "1.14.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,123 +29,125 @@
]
},
"dependencies": {
"ace-builds": "^1.2.9",
"archiver": "^3.0.0",
"async": "^3.0.1",
"autoprefixer": "^9.4.6",
"ace-builds": "^1.4.9",
"archiver": "^4.0.0",
"async": "^3.2.0",
"autoprefixer": "^9.7.6",
"bcryptjs": "2.4.3",
"benchpressjs": "^2.0.0",
"body-parser": "^1.18.2",
"bootstrap": "^3.4.0",
"benchpressjs": "^2.0.2",
"body-parser": "^1.19.0",
"bootstrap": "^3.4.1",
"bootswatch": "git://github.com/thomaspark/bootswatch.git#c41a8f066feb8950c6f9c6bcf5a3c37d1085404e",
"chart.js": "^2.7.1",
"chart.js": "^2.9.3",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.1",
"colors": "^1.1.2",
"commander": "^3.0.0",
"compression": "^1.7.1",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^5.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.1.0",
"connect-pg-simple": "^6.0.0",
"connect-redis": "4.0.3",
"cookie-parser": "^1.4.3",
"cron": "^1.3.0",
"cropperjs": "^1.2.2",
"csurf": "^1.9.0",
"connect-multiparty": "^2.2.0",
"connect-pg-simple": "^6.1.0",
"connect-redis": "4.0.4",
"cookie-parser": "^1.4.5",
"cron": "^1.8.2",
"cropperjs": "^1.5.6",
"csurf": "^1.11.0",
"daemon": "^1.1.0",
"diff": "^4.0.1",
"express": "^4.16.2",
"express-session": "^1.15.6",
"express-useragent": "^1.0.12",
"graceful-fs": "^4.1.11",
"helmet": "^3.11.0",
"html-to-text": "^5.0.0",
"ipaddr.js": "^1.5.4",
"jquery": "^3.2.1",
"jsesc": "2.5.2",
"json-2-csv": "^3.0.0",
"jsonwebtoken": "^8.4.0",
"less": "^3.10.3",
"diff": "^4.0.2",
"express": "^4.17.1",
"express-session": "^1.17.0",
"express-useragent": "^1.0.13",
"graceful-fs": "^4.2.3",
"helmet": "^3.22.0",
"html-to-text": "^5.1.1",
"ipaddr.js": "^1.9.1",
"jquery": "3.5.1",
"jsesc": "3.0.1",
"json2csv": "5.0.1",
"jsonwebtoken": "^8.5.1",
"less": "^3.11.1",
"lodash": "^4.17.15",
"logrotate-stream": "^0.2.5",
"logrotate-stream": "^0.2.6",
"lru-cache": "5.1.1",
"material-design-lite": "^1.3.0",
"mime": "^2.2.0",
"mkdirp": "^0.5.1",
"mongodb": "3.4.0",
"morgan": "^1.9.1",
"mousetrap": "^1.6.1",
"mubsub-nbb": "^1.5.1",
"mime": "^2.4.4",
"mkdirp": "^1.0.4",
"mongodb": "3.5.9",
"morgan": "^1.10.0",
"mousetrap": "^1.6.5",
"@nodebb/mubsub": "^1.6.0",
"@nodebb/socket.io-adapter-mongo": "3.0.0",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.3.20",
"nodebb-plugin-composer-default": "6.3.46",
"nodebb-plugin-dbsearch": "4.0.7",
"nodebb-plugin-emoji": "^3.0.0",
"nodebb-plugin-emoji": "^3.3.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.11.0",
"nodebb-plugin-mentions": "2.7.3",
"nodebb-plugin-markdown": "8.11.2",
"nodebb-plugin-mentions": "2.8.3",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.6.7",
"nodebb-rewards-essentials": "0.1.2",
"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.30",
"nodebb-theme-slick": "1.2.28",
"nodebb-theme-vanilla": "11.1.12",
"nodebb-widget-essentials": "4.0.17",
"nodemailer": "^6.0.0",
"passport": "^0.4.0",
"nodebb-theme-persona": "10.1.58",
"nodebb-theme-slick": "1.2.29",
"nodebb-theme-vanilla": "11.1.32",
"nodebb-widget-essentials": "4.1.0",
"nodemailer": "^6.4.6",
"passport": "^0.4.1",
"passport-local": "1.0.0",
"pg": "^7.4.0",
"pg-cursor": "^2.0.0",
"postcss": "7.0.21",
"pg": "^8.0.2",
"pg-cursor": "^2.1.9",
"postcss": "7.0.32",
"postcss-clean": "1.1.0",
"promise-polyfill": "^8.0.0",
"promise-polyfill": "^8.1.3",
"prompt": "^1.0.0",
"redis": "2.8.0",
"request": "2.88.0",
"rimraf": "3.0.0",
"redis": "3.0.2",
"request": "2.88.2",
"request-promise-native": "^1.0.8",
"rimraf": "3.0.2",
"rss": "^1.2.2",
"sanitize-html": "^1.16.3",
"semver": "^7.0.0",
"serve-favicon": "^2.4.5",
"sharp": "0.23.4",
"sitemap": "^5.0.0",
"sanitize-html": "^1.23.0",
"semver": "^7.2.1",
"serve-favicon": "^2.5.0",
"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.4",
"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.0.0",
"spdx-license-list": "^6.1.0",
"spider-detector": "2.0.0",
"textcomplete": "^0.17.1",
"textcomplete.contenteditable": "^0.1.1",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "12.1.0",
"winston": "3.2.1",
"validator": "13.1.1",
"winston": "3.3.3",
"xml": "^1.0.1",
"xregexp": "^4.1.1",
"xregexp": "^4.3.0",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@commitlint/cli": "8.2.0",
"@commitlint/config-angular": "8.2.0",
"coveralls": "3.0.9",
"eslint": "6.7.0",
"eslint-config-airbnb-base": "14.0.0",
"eslint-plugin-import": "2.18.2",
"grunt": "1.0.4",
"@apidevtools/swagger-parser": "9.0.1",
"@commitlint/cli": "9.0.1",
"@commitlint/config-angular": "9.0.1",
"coveralls": "3.1.0",
"eslint": "7.3.1",
"eslint-config-airbnb-base": "14.1.0",
"eslint-plugin-import": "2.21.1",
"grunt": "1.1.0",
"grunt-contrib-watch": "1.1.0",
"husky": "3.1.0",
"jsdom": "15.2.1",
"lint-staged": "9.4.2",
"mocha": "6.2.2",
"husky": "4.2.5",
"jsdom": "16.2.2",
"lint-staged": "10.2.11",
"mocha": "8.0.1",
"mocha-lcov-reporter": "1.3.0",
"nyc": "14.1.1",
"smtp-server": "3.5.0"
"nyc": "15.0.1",
"smtp-server": "3.7.0"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"

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);
@@ -225,12 +225,12 @@ function launch(req, res) {
function compileLess(callback) {
fs.readFile(path.join(__dirname, '../public/less/install.less'), 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) {
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;
}
}
});
@@ -231,7 +231,7 @@ fs.open(pathToConfig, 'r', function (err) {
cwd: process.cwd(),
});
fs.writeFileSync(pidFilePath, process.pid);
fs.writeFileSync(pidFilePath, String(process.pid));
}
async.series([

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

@@ -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

@@ -1,5 +1,6 @@
{
"you-are-on": "Info - You are on <strong>%1:%2</strong>",
"you-are-on": "You are on <strong>%1:%2</strong>",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"pid": "pid",

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",

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

@@ -1,6 +1,7 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"admin": "Admin",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"chat": "Chat",
@@ -31,5 +32,11 @@
"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,17 +3,16 @@
"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-multiple": "Editing multiple tags",
"alerts.editing-x": "Editing \"%1\" tag",
"alerts.editing": "Editing tag(s)",
"alerts.confirm-delete": "Do you want to delete the selected tags?",
"alerts.update-success": "Tag Updated!"
}

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",

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/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "السمعة",
"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

@@ -15,14 +15,20 @@
"headers.acah": "Access-Control-Allow-Headers",
"hsts": "Strict Transport Security",
"hsts.enabled": "Enabled HSTS (recommended)",
"hsts.maxAge": "HSTS Max Age",
"hsts.subdomains": "Include subdomains in HSTS header",
"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,35 +1,41 @@
{
"site-settings": "Site Settings",
"title": "Site Title",
"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",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page"
}
"search-default-sort-by": "الترتيب الافتراضي للبحث",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
"site-colors": "Site Color Metadata",
"theme-color": "لون الثيم",
"background-color": "لون الخلفية",
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
}

View File

@@ -3,6 +3,7 @@
"private-groups": "Private Groups",
"private-groups.help": "If enabled, joining of groups requires the approval of the group owner <em>(Default: enabled)</em>",
"private-groups.warning": "<strong>Beware!</strong> If this option is disabled and you have private groups, they automatically become public.",
"allow-multiple-badges": "Allow Multiple Badges",
"allow-multiple-badges-help": "This flag can be used to allow users to select multiple group badges, requires theme support.",
"max-name-length": "Maximum Group Name Length",
"max-title-length": "Maximum Group Title Length",

View File

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

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

@@ -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

@@ -9,7 +9,7 @@
"allow-login-with.email": "البريد الالكتروني فقط",
"account-settings": "إعدادت الحساب",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"disable-username-changes": "عدم السماح بتغيير اسم المستخدم",
"disable-email-changes": "عدم السماح بتغيير البريد الالكتروني",
"disable-password-changes": "عدم السماح بتغيير كلمة المرور",
@@ -76,4 +76,4 @@
"categoryWatchState.watching": "Watching",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
}
}

View File

@@ -1,54 +1,57 @@
{
"state": "State",
"reporter": "Reporter",
"reported-at": "Reported At",
"description": "Description",
"state": "الحالة",
"reporter": "المُبلغ",
"reported-at": "وقت التبليغ",
"description": "الوصف",
"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",
"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.",
"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",

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

@@ -12,6 +12,7 @@
"chat.recent-chats": "آخر الدردشات",
"chat.contacts": "الأصدقاء",
"chat.message-history": "تاريخ الرسائل",
"chat.message-deleted": "Message Deleted",
"chat.options": "Chat options",
"chat.pop-out": "افتح الدردشة في نافذة خاصة",
"chat.minimize": "Minimize",

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,7 +36,8 @@
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag_title": "إشعار بمشاركة مخلة.",
"flag_post": "Flag this post",
"flag_user": "Flag this user",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
@@ -99,11 +100,15 @@
"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": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "اﻹسم",
"composer.handle_placeholder": "Enter your name/handle here",
"composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ",
"composer.replying_to": "الرد على %1",
@@ -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

@@ -1,5 +1,6 @@
{
"you-are-on": "Информация — Вие сте на <strong>%1:%2</strong>",
"you-are-on": "Вие сте на <strong>%1:%2</strong>",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
"host": "сървър",
"pid": "ид. на процеса",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "Брой на скорошните отговори",
"ext-link": "Външна връзка",
"is-section": "Използване на тази категория като раздел",
"tag-whitelist": "Списък от разрешени етикети",
"upload-image": "Качване на изображение",
"delete-image": "Премахване",
"category-image": "Изображение на категорията",

View File

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

View File

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

View File

@@ -3,17 +3,16 @@
"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-multiple": "Редактиране на множество етикети",
"alerts.editing-x": "Редактиране на етикета „%1“",
"alerts.editing": "Редактиране на етикет(и)",
"alerts.confirm-delete": "Наистина ли искате да изтриете избраните етикети?",
"alerts.update-success": "Етикетът е променен!"
}

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": "Отказ",

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/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

@@ -15,14 +15,20 @@
"headers.acah": "Заглавки за разрешаване на управлението на достъпа",
"hsts": "Стриктна транспортна сигурност",
"hsts.enabled": "Включване на HSTS (препоръчително)",
"hsts.maxAge": "Максимална възраст на HSTS",
"hsts.subdomains": "Включване на поддомейните в заглавката на HSTS",
"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

@@ -1,6 +1,8 @@
{
"site-settings": "Настройки на уеб сайта",
"title": "Заглавие на уеб сайта",
"title.short": "Кратко заглавие",
"title.short-placeholder": "Ако не е посочено кратко заглавие, ще бъде използвано заглавието на уеб сайта",
"title.url": "Адрес",
"title.url-placeholder": "Адресът на заглавието на уеб сайта",
"title.url-help": "При щракване върху заглавието, потребителите ще бъдат изпратени на този адрес. Ако бъде оставено празно, потребителите ще бъдат изпращани на началната страница на форума.",
@@ -31,5 +33,9 @@
"outgoing-links": "Изходящи връзки",
"outgoing-links.warning-page": "Показване на предупредителна страница при щракване върху външни връзки",
"search-default-sort-by": "Подредба по подразбиране при търсене",
"outgoing-links.whitelist": "Домейни, за които да не се показва предупредителната страница"
}
"outgoing-links.whitelist": "Домейни, за които да не се показва предупредителната страница",
"site-colors": "Мета-данни за цвета на уеб сайта",
"theme-color": "Цвят на темата",
"background-color": "Фонов цвят",
"background-color-help": "Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение"
}

View File

@@ -3,6 +3,7 @@
"private-groups": "Частни групи",
"private-groups.help": "Ако е включено, присъединяването към групи ще изисква одобрение от собственик на групата. <em>(По подразбиране: включено)</em>",
"private-groups.warning": "<strong>Внимание!</strong> Ако това е изключено и имате частни групи, те автоматично ще станат публични.",
"allow-multiple-badges": "Позволяване на множество значки",
"allow-multiple-badges-help": "Това може да се използва, за да позволи на потребителите да избират множество значки за групите. Изисква поддържа на теми.",
"max-name-length": "Минимална дължина на името на група",
"max-title-length": "Максимална дължина на заглавието на група",

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

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

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

@@ -9,7 +9,7 @@
"allow-login-with.email": "Само е-поща",
"account-settings": "Настройки на акаунта",
"gdpr_enabled": "Включване на искането за съгласие с ОРЗД",
"gdpr_enabled_help": "Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
"gdpr_enabled_help": "Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
"disable-username-changes": "Забраняване на промяната на потребителското име",
"disable-email-changes": "Забраняване на промяната на е-пощата",
"disable-password-changes": "Забраняване на промяната на паролата",
@@ -76,4 +76,4 @@
"categoryWatchState.watching": "Да се следят",
"categoryWatchState.notwatching": "Да не се следят",
"categoryWatchState.ignoring": "Да се пренебрегват"
}
}

View File

@@ -27,11 +27,15 @@
"filter-cid-all": "Всички категории",
"apply-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": "Редактиране на профила",
@@ -40,8 +44,7 @@
"add-note": "Добавяне на бележка",
"no-notes": "Няма споделени бележки.",
"history": "История на доклада",
"back": "Обратно към списъка с доклади",
"history": "Акаунт и история на докладванията",
"no-history": "Няма история на доклада.",
"state-all": "Всички състояния",

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

@@ -12,6 +12,7 @@
"chat.recent-chats": "Скорошни разговори",
"chat.contacts": "Контакти",
"chat.message-history": "История на съобщенията",
"chat.message-deleted": "Съобщението е изтрито",
"chat.options": "Настройки на разговора",
"chat.pop-out": "Отделяне на разговора в прозорец",
"chat.minimize": "Намаляване",

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,7 +36,8 @@
"ban-ip": "Блокиране на IP адреса",
"view-history": "История на редакциите",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag_title": "Докладване на тази публикация до модератор",
"flag_post": "Докладване на тази публикация",
"flag_user": "Докладване на този потребител",
"merged_message": "Тази тема беше слята в <a href=\"/topic/%1\">%2</a>",
"deleted_message": "Темата е изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
@@ -99,11 +100,15 @@
"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": "Въведете заглавието на темата си тук...",
"composer.handle_placeholder": "Име",
"composer.handle_placeholder": "Въведете името тук",
"composer.discard": "Отхвърляне",
"composer.submit": "Публикуване",
"composer.replying_to": "Отговор на %1",
@@ -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

@@ -1,5 +1,6 @@
{
"you-are-on": "Info - You are on <strong>%1:%2</strong>",
"you-are-on": "You are on <strong>%1:%2</strong>",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"pid": "pid",

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",

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

@@ -1,6 +1,7 @@
{
"global": "Global",
"global.no-users": "No user-specific global privileges.",
"admin": "Admin",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"chat": "Chat",
@@ -31,5 +32,11 @@
"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,17 +3,16 @@
"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-multiple": "Editing multiple tags",
"alerts.editing-x": "Editing \"%1\" tag",
"alerts.editing": "Editing tag(s)",
"alerts.confirm-delete": "Do you want to delete the selected tags?",
"alerts.update-success": "Tag Updated!"
}

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",

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/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "Reputation",
"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

@@ -15,14 +15,20 @@
"headers.acah": "Access-Control-Allow-Headers",
"hsts": "Strict Transport Security",
"hsts.enabled": "Enabled HSTS (recommended)",
"hsts.maxAge": "HSTS Max Age",
"hsts.subdomains": "Include subdomains in HSTS header",
"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,6 +1,8 @@
{
"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",
"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.",
@@ -31,5 +33,9 @@
"outgoing-links": "Outgoing Links",
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
"search-default-sort-by": "Search default sort by",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page"
}
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
"site-colors": "Site Color Metadata",
"theme-color": "Theme Color",
"background-color": "Background Color",
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
}

View File

@@ -3,6 +3,7 @@
"private-groups": "Private Groups",
"private-groups.help": "If enabled, joining of groups requires the approval of the group owner <em>(Default: enabled)</em>",
"private-groups.warning": "<strong>Beware!</strong> If this option is disabled and you have private groups, they automatically become public.",
"allow-multiple-badges": "Allow Multiple Badges",
"allow-multiple-badges-help": "This flag can be used to allow users to select multiple group badges, requires theme support.",
"max-name-length": "Maximum Group Name Length",
"max-title-length": "Maximum Group Title Length",

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

@@ -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

@@ -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

@@ -9,7 +9,7 @@
"allow-login-with.email": "Email Only",
"account-settings": "Account Settings",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"disable-username-changes": "Disable username changes",
"disable-email-changes": "Disable email changes",
"disable-password-changes": "Disable password changes",
@@ -76,4 +76,4 @@
"categoryWatchState.watching": "Watching",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
}
}

View File

@@ -27,11 +27,15 @@
"filter-cid-all": "All categories",
"apply-filters": "Apply 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",
@@ -40,8 +44,7 @@
"add-note": "Add Note",
"no-notes": "No shared notes.",
"history": "Flag History",
"back": "Back to Flags List",
"history": "Account &amp; Flag History",
"no-history": "No flag history.",
"state-all": "All states",

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

@@ -12,6 +12,7 @@
"chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ",
"chat.contacts": "কন্টাক্টস",
"chat.message-history": "মেসেজ হিস্টোরী",
"chat.message-deleted": "Message Deleted",
"chat.options": "Chat options",
"chat.pop-out": "চ্যাট উইন্ডো আলাদা করুন",
"chat.minimize": "Minimize",

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,7 +36,8 @@
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
"flag_post": "Flag this post",
"flag_user": "Flag this user",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
@@ -99,11 +100,15 @@
"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": "আপনার টপিকের শিরোনাম দিন",
"composer.handle_placeholder": "Name",
"composer.handle_placeholder": "Enter your name/handle here",
"composer.discard": "বাতিল",
"composer.submit": "সাবমিট",
"composer.replying_to": "%1 এর উত্তরে:",
@@ -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."
}

View File

@@ -2,6 +2,7 @@
"events": "Události",
"no-events": "Žádné nové události",
"control-panel": "Ovládací panel událostí",
"delete-events": "Delete Events",
"filters": "Filtry",
"filters-apply": "Použít filtry",
"filter-type": "Typ události",

View File

@@ -0,0 +1,79 @@
{
"forum-traffic": "Provoz fóra",
"page-views": "Zobrazení stránky",
"unique-visitors": "Jedineční návštěvníci",
"new-users": "Nový uživatelé",
"posts": "Příspěvky",
"topics": "Témata",
"page-views-seven": "Posledních 7 dnů",
"page-views-thirty": "Posledních 30 dní",
"page-views-last-day": "Posledních 24 hodin",
"page-views-custom": "Dle rozsahu data",
"page-views-custom-start": "Začátek rozsahu",
"page-views-custom-end": "Konec rozsahu",
"page-views-custom-help": "Zadejte rozsah data zobrazení stránek, které chcete vidět. Není-li datum nastaveno, výchozí formát je <code>YYYY-MM-DD</code>",
"page-views-custom-error": "Zadejte správný rozsah ve formátu <code>YYYY-MM-DD</code>",
"stats.yesterday": "Včera",
"stats.today": "Dnes",
"stats.last-week": "Poslední týden",
"stats.this-week": "Tento víkend",
"stats.last-month": "Poslední měsíc",
"stats.this-month": "Tento měsíc",
"stats.all": "Všechny časy",
"updates": "Aktualizace",
"running-version": "Fungujete na <strong>NodeBB v<span id=\"version\">%1</span></strong>.",
"keep-updated": "Vždy udržujte NodeBB aktuální kvůli bezpečnostním záplatám a opravám.",
"up-to-date": "<p>Máte <strong>aktuální verzi</strong><i class=\"fa fa-check\"></i></p>",
"upgrade-available": "<p>Nová verze (v%1) byla zveřejněna. Zvažte <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">aktualizaci vašeho NodeBB</a>.</p>",
"prerelease-upgrade-available": "<p>Toto je zastaralá testovací verze NodeBB. Nová verze (v%1) byla zveřejněna. Zvažte <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">aktualizaci vaší verze NodeBB</a>.</p>",
"prerelease-warning": "<p>Toto je <strong>zkušební</strong> verze NodeBB. Mohou se vyskytnout různé chyby.<i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development": "<span>Fórum běží ve vývojářském režimu a může být potencionálně zranitelné . Kontaktujte správce systému.</span>",
"latest-lookup-failed": "<p>Náhled na poslední dostupnou verzi NodeBB</p>",
"notices": "Oznámení",
"restart-not-required": "Restart není potřeba",
"restart-required": "Je potřeba restartovat",
"search-plugin-installed": "Rozšíření pro hledání je nainstalováno",
"search-plugin-not-installed": "Rozšíření pro hledání není nainstalováno",
"search-plugin-tooltip": "Pro aktivování funkce vyhledávání, nainstalujte rozšíření pro hledání ze stránky rozšíření.",
"control-panel": "Ovládání systému",
"rebuild-and-restart": "Znovu sestavit a restartovat",
"restart": "Restartovat",
"restart-warning": "Znovu sestavení nebo restartování NodeBB odpojí všechna existující připojení na několik vteřin.",
"restart-disabled": "Znovu sestavení a restartování vašeho NodeBB bylo zakázáno, protože se nezdá, že byste byl/a připojena přes příslušného „daemona”.",
"maintenance-mode": "Režim údržby",
"maintenance-mode-title": "Pro nastavení režimu údržby NodeBB, klikněte zde",
"realtime-chart-updates": "Aktualizace grafů v reálném čase",
"active-users": "Aktivní uživatelé",
"active-users.users": "Uživatelé",
"active-users.guests": "Hosté",
"active-users.total": "Celkově",
"active-users.connections": "Připojení",
"anonymous-registered-users": "Anonymní × registrovaní uživatelé",
"anonymous": "Anonymní",
"registered": "Registrovaní",
"user-presence": "Výskyt uživatele",
"on-categories": "V seznamu kategorii",
"reading-posts": "Čtení příspěvku",
"browsing-topics": "Prohlížení témat",
"recent": "Poslední",
"unread": "Nepřečtené",
"high-presence-topics": "Témata s vysokou účastí",
"graphs.page-views": "Zobrazení stránky",
"graphs.page-views-registered": "Zobrazených stránek/registrovaní",
"graphs.page-views-guest": "Zobrazených stránek/hosté",
"graphs.page-views-bot": "Zobrazených stránek/bot",
"graphs.unique-visitors": "Jedineční návštěvníci",
"graphs.registered-users": "Registrovaní uživatelé",
"graphs.anonymous-users": "Anonymní uživatelé",
"last-restarted-by": "Poslední restart od",
"no-users-browsing": "Nikdo si nic neprohlíží"
}

View File

@@ -1,5 +1,6 @@
{
"you-are-on": "Informace jste na <strong>%1:%2</strong>",
"you-are-on": "You are on <strong>%1:%2</strong>",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 vazeb odpovědělo během %2ms.",
"host": "host",
"pid": "pid",

View File

@@ -11,6 +11,7 @@
"num-recent-replies": "# posledních odpovědí",
"ext-link": "Externí odkaz",
"is-section": "Zacházet s kategorii jako se sekcí",
"tag-whitelist": "Tag Whitelist",
"upload-image": "Nahrát obrázek",
"delete-image": "Vyjmout",
"category-image": "Obrázek kategorie",

View File

@@ -9,7 +9,7 @@
"default": "Výchozí systémové",
"default-help": "Výchozí systémové znamená, že uživatel nemůže přenastavit celkové nastavení pravidel na fóru pro odesílání přehledů, které je momentálně<strong>%1</strong>",
"resend": "Znovu odeslat přehled",
"resend-all-confirm": "Jste si jist/a, že chcete ručně spustit odeslání přehledu",
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
"resent-single": "Manuální znovu poslání přehledu bylo dokončeno",
"resent-day": "Znovu odeslat denní přehled",
"resent-week": "Znovu odeslat týdenní přehled",
@@ -18,4 +18,4 @@
"manual-run": "Spustit manuálně přehled:",
"no-delivery-data": "Žádná data odeslání nebyla nalezena"
}
}

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