Compare commits

...

465 Commits

Author SHA1 Message Date
Julian Lam
cc481f1234 fix: tests 2022-04-08 14:12:42 -04:00
Julian Lam
714c782e00 fix: remove secret as an installer question 2022-04-08 11:07:13 -04:00
Julian Lam
593be8cf8b chore: temporarily enable tests on webpack5 2022-04-08 11:02:45 -04:00
Julian Lam
508228c9e5 feat: remove \'secret\' from \'config.json\', in favour of having it stored in the database 2022-04-08 11:02:33 -04:00
Julian Lam
73d9d9ad03 fix: move handler for nconf sessionKey into defaults() 2022-04-08 10:21:05 -04:00
Julian Lam
829331c671 fix: typo in hook name 2022-03-30 16:59:04 -04:00
Julian Lam
0746689eec fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking] 2022-03-30 16:46:08 -04:00
Julian Lam
833fcadf43 Merge branch 'master' into webpack5 2022-03-23 16:37:21 -04:00
Julian Lam
b88bb3cfbb feat: allow client-side hook registration chaining 2022-03-23 16:35:59 -04:00
renovate[bot]
47399bfee4 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.8.1 (#10425)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-23 15:30:08 -04:00
Barış Soner Uşaklı
03fdb5bede fix: byCid removal, targetCid not stored in flagObj 2022-03-23 15:27:45 -04:00
Barış Soner Uşaklı
3b529b84b5 feat: add flags.purge 2022-03-23 15:10:10 -04:00
Misty (Bot)
adda7c3f3d Latest translations and fallbacks 2022-03-23 09:06:24 -04:00
Barış Soner Uşaklı
9abe22a04b refactor: remove some verbose logging 2022-03-22 18:29:37 -04:00
Misty (Bot)
afe478b799 Latest translations and fallbacks 2022-03-22 09:06:09 -04:00
Barış Soner Uşaklı
69772827fd Merge branch 'master' into webpack5 2022-03-21 20:34:55 -04:00
renovate[bot]
12cd1df256 fix(deps): update dependency sortablejs to v1.15.0 (#10418)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 20:34:13 -04:00
renovate[bot]
7e54249566 fix(deps): update dependency nodemailer to v6.7.3 (#10421)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 20:29:23 -04:00
Misty (Bot)
cf2011dff2 Latest translations and fallbacks 2022-03-21 09:05:58 -04:00
Misty (Bot)
d43596e7a8 Latest translations and fallbacks 2022-03-20 09:05:45 -04:00
renovate[bot]
eaa055179c fix(deps): update dependency yargs to v17.4.0 (#10416)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-19 22:10:10 -04:00
Misty (Bot)
fa14bbfec7 Latest translations and fallbacks 2022-03-19 09:05:57 -04:00
renovate[bot]
720a9dbad2 fix(deps): update dependency nodebb-theme-persona to v11.4.3 (#10414)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-19 00:30:46 -04:00
Barış Soner Uşaklı
374e7099f6 Merge branch 'master' into webpack5 2022-03-18 23:58:53 -04:00
renovate[bot]
0659413185 fix(deps): update dependency connect-redis to v6.1.3 (#10390)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 22:43:55 -04:00
Barış Soner Uşaklı
29b86b3276 refactor: :trollface: 2022-03-18 15:58:29 -04:00
Barış Soner Uşaklı
421ba6e1a2 feat: new admin events, closes #10405 2022-03-18 15:54:40 -04:00
Julian Lam
c10561a55b Merge remote-tracking branch 'origin/master' into webpack5 2022-03-18 15:04:32 -04:00
Barış Soner Uşaklı
55be42026c fix: upgrade script 2022-03-18 12:50:49 -04:00
Barış Soner Uşaklı
dab22d5fd0 perf: #10410, faster upgrade script 2022-03-18 12:40:13 -04:00
Julian Lam
38ca73c493 fix(security): explicitly declare cache-control header instead of using middleware
This commit reverts 1f6f389ff2
2022-03-18 11:56:16 -04:00
Misty (Bot)
2f2ed6c3ad Latest translations and fallbacks 2022-03-18 09:06:19 -04:00
Julian Lam
1f6f389ff2 fix(security): cache-control on all pages using setupPageRoute or setupApiRoute, and 404 controllers.
This commit also reverts e39cdd490b
2022-03-17 21:42:26 -04:00
Julian Lam
e39cdd490b fix(security): explicitly set cache-control 'private' on any page where a header is built 2022-03-17 16:24:03 -04:00
renovate[bot]
5f36ad3976 chore(deps): update dependency lint-staged to v12.3.7 (#10407)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-17 14:54:08 -04:00
Julian Lam
9a79fe930e Merge branch 'master' into webpack5 2022-03-17 13:40:08 -04:00
Julian Lam
2b9b2b4a25 fix: column counts for other privileges 2022-03-17 13:38:40 -04:00
Julian Lam
e9b2fabf83 fix: column counts for other privileges 2022-03-17 13:36:50 -04:00
Misty (Bot)
edb6209582 Latest translations and fallbacks 2022-03-17 09:06:06 -04:00
Julian Lam
309968bf13 feat: add Albanian localisation 🎉
/cc @zhivkoangelov
2022-03-16 22:00:07 -04:00
Barış Soner Uşaklı
3dc2acd739 refactor: generateTopicClass 2022-03-16 17:25:34 -04:00
Barış Soner Uşaklı
2b7684d839 Merge branch 'master' into webpack5 2022-03-16 17:25:20 -04:00
Barış Soner Uşaklı
37221d5179 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-03-16 17:24:30 -04:00
Barış Soner Uşaklı
f76c0e8952 refactor: shorter generateTopicClass 2022-03-16 17:24:25 -04:00
Misty (Bot)
05032ca2c0 chore: update changelog for v1.19.5 2022-03-16 17:05:48 -04:00
Misty (Bot)
48d6eb4f14 chore: incrementing version number - v1.19.5 2022-03-16 17:05:47 -04:00
Barış Soner Uşaklı
3935a86b83 fix: topic events if there is a blocked user in topic 2022-03-16 16:56:07 -04:00
Barış Soner Uşaklı
2808c952c5 fix: topic events disappearing if there are queued posts 2022-03-16 15:52:59 -04:00
Barış Soner Uşaklı
73898b7824 Merge branch 'master' into webpack5 2022-03-16 15:34:03 -04:00
dependabot[bot]
d33485f6ef chore(deps): bump less from 3.13.1 to 4.1.2 in /install (#9856)
Bumps [less](https://github.com/less/less.js) from 3.13.1 to 4.1.2.
- [Release notes](https://github.com/less/less.js/releases)
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/less/less.js/commits)

---
updated-dependencies:
- dependency-name: less
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-16 15:25:50 -04:00
renovate[bot]
bdbc168d70 fix(deps): update dependency postcss to v8.4.12 (#10396)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 15:16:33 -04:00
dependabot[bot]
90094935fe chore(deps): bump autoprefixer from 10.4.2 to 10.4.4 in /install (#10403)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.2 to 10.4.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.2...10.4.4)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-16 15:15:47 -04:00
Misty (Bot)
c5377380e3 Latest translations and fallbacks 2022-03-16 09:06:12 -04:00
Renovate Bot
0a4522a2f3 chore(deps): update dependency lint-staged to v12.3.6 2022-03-16 12:14:28 +00:00
Renovate Bot
0a97015d9f chore(deps): update commitlint monorepo to v16.2.3 2022-03-16 09:37:45 +00:00
Julian Lam
935704a83c feat: collect hook logs in order to reduce console noise, flush on ajaxify loadScript completion 2022-03-15 16:30:05 -04:00
Julian Lam
8a4614f147 Merge remote-tracking branch 'origin/master' into webpack5 2022-03-15 15:16:27 -04:00
Julian Lam
e578c60566 test: skip i18n tests if the github event is a pull request 2022-03-15 15:15:38 -04:00
Misty (Bot)
2f09c22c71 chore(i18n): fallback strings for new resources: nodebb.admin-manage-users 2022-03-15 13:58:07 -04:00
Julian Lam
bf2941aa2c Merge branch 'master' into webpack5 2022-03-15 13:57:25 -04:00
Julian Lam
cd687cff06 fix: #10393, move 'Create User' control to overflow menu 2022-03-15 13:57:09 -04:00
Julian Lam
c83987bd20 fix: don't append to history on refresh or ajaxify to same url 2022-03-15 10:43:11 -04:00
Julian Lam
76f877a886 Merge remote-tracking branch 'origin/master' into webpack5 2022-03-15 10:19:54 -04:00
dependabot[bot]
445e3d704d chore(deps): bump nodebb-plugin-spam-be-gone in /install (#10387)
Bumps [nodebb-plugin-spam-be-gone](https://github.com/akhoury/nodebb-plugin-spam-be-gone) from 0.7.14 to 0.8.0.
- [Release notes](https://github.com/akhoury/nodebb-plugin-spam-be-gone/releases)
- [Commits](https://github.com/akhoury/nodebb-plugin-spam-be-gone/compare/v0.7.14...v0.8.0)

---
updated-dependencies:
- dependency-name: nodebb-plugin-spam-be-gone
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 09:41:27 -04:00
renovate[bot]
b42138596b fix(deps): update dependency sharp to v0.30.3 (#10389)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-15 09:41:16 -04:00
dependabot[bot]
145621f7a5 chore(deps): bump connect-redis from 6.1.1 to 6.1.2 in /install (#10391)
Bumps [connect-redis](https://github.com/visionmedia/connect-redis) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/visionmedia/connect-redis/releases)
- [Commits](https://github.com/visionmedia/connect-redis/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: connect-redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 09:40:48 -04:00
Misty (Bot)
8c35fbcac2 Latest translations and fallbacks 2022-03-15 09:06:17 -04:00
Julian Lam
4b79dfd29d feat: add support for PATCH method in api module 2022-03-14 17:22:09 -04:00
Misty (Bot)
b10df78141 Latest translations and fallbacks 2022-03-14 09:32:22 -04:00
Misty (Bot)
60fa6c46a5 Latest translations and fallbacks 2022-03-12 04:05:44 -05:00
Barış Soner Uşaklı
24c1f879a5 test: fix middleware test 2022-03-11 23:50:28 -05:00
Barış Soner Uşaklı
6344c3b689 test: fix category tests 2022-03-11 23:45:01 -05:00
Barış Soner Uşaklı
7c946570d5 feat: on online users page override timeago cutoff to 24 hours 2022-03-11 23:42:46 -05:00
Barış Soner Uşaklı
df8ea4bad3 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-03-11 23:42:09 -05:00
Barış Soner Uşaklı
7d063d731e fix: global privs 2022-03-11 23:42:06 -05:00
Misty (Bot)
15508bac97 chore(i18n): fallback strings for new resources: nodebb.admin-manage-privileges, nodebb.admin-manage-users, nodebb.error, nodebb.user 2022-03-11 23:09:29 -05:00
Barış Soner Uşaklı
be6bbabd0e feat: ability to mute users
new mute privilege
2022-03-11 23:07:20 -05:00
Renovate Bot
feaf3068f8 chore(deps): update dependency eslint to v8.11.0 2022-03-12 03:22:45 +00:00
renovate[bot]
4ffbd78df5 chore(deps): update dependency mocha to v9.2.2 (#10383)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-11 19:46:23 -05:00
Julian Lam
cb113208bb fix: #10384 -- mixed up sizes for fallback touch icons 2022-03-11 16:24:19 -05:00
Barış Soner Uşaklı
c8e986d61c refactor: closes #10301 2022-03-11 15:33:28 -05:00
Barış Soner Uşaklı
fbae265458 refactor: closes #10301 2022-03-11 15:32:37 -05:00
Barış Soner Uşaklı
ca7c924dde test: use document.addEventListener 2022-03-11 14:36:56 -05:00
Barış Soner Uşaklı
6b3acfd798 change istaller to use build/public 2022-03-11 14:27:34 -05:00
Barış Soner Uşaklı
b75da2cc4e test: jquery ready 2022-03-11 14:09:47 -05:00
Barış Soner Uşaklı
bfe920eb45 Merge branch 'master' into webpack5 2022-03-11 14:09:33 -05:00
Barış Soner Uşaklı
ad55b55223 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-03-11 13:46:08 -05:00
Barış Soner Uşaklı
a551142593 test: fix one more test 2022-03-11 13:46:01 -05:00
Misty (Bot)
5274a6aad9 chore(i18n): fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.error 2022-03-11 13:36:03 -05:00
Barış Soner Uşaklı
3414a23bce feat: min:rep:upvote, and other limits similar to downvotes
closes #10380
2022-03-11 13:34:36 -05:00
Barış Soner Uşaklı
2056ac04e0 feat: post-queue hooks, closes #10381 2022-03-11 12:27:07 -05:00
Barış Soner Uşaklı
d55ae3bfd5 refactor: require server side utils 2022-03-10 19:57:11 -05:00
Barış Soner Uşaklı
33320b46b9 feat: allow app.require('bootbox'/'benchpressjs') 2022-03-10 19:38:41 -05:00
Barış Soner Uşaklı
8b30d47028 Merge branch 'webpack5' of https://github.com/NodeBB/NodeBB into webpack5 2022-03-10 18:58:41 -05:00
Julian Lam
767b2688b6 refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)
* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels

- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks

* docs: fix typo in comment

* test: spec changes
2022-03-10 17:08:03 -05:00
Julian Lam
ab62569547 refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)
* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels

- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks

* docs: fix typo in comment

* test: spec changes
2022-03-10 16:33:56 -05:00
Barış Soner Uşaklı
add1e4e5fa Merge branch 'master' into webpack5 2022-03-10 12:15:05 -05:00
Barış Soner Uşaklı
997ab7d416 fix: #10377, remove logging of env vars 2022-03-10 12:14:19 -05:00
Barış Soner Uşaklı
748f352a77 refactor: cleanup, require timeago locale earlier
remove translator.prepareDOM, it is in header.tpl html tag
2022-03-09 22:58:12 -05:00
Barış Soner Uşaklı
7c04a74d38 fix: get rid of extra timeago files 2022-03-09 22:04:19 -05:00
Misty (Bot)
0e6e49b258 chore: update changelog for v1.19.4 2022-03-09 15:51:43 -05:00
Misty (Bot)
67282057e7 chore: incrementing version number - v1.19.4 2022-03-09 15:51:42 -05:00
Barış Soner Uşaklı
644252c227 Merge branch 'master' into webpack5 2022-03-09 15:05:28 -05:00
Barış Soner Uşaklı
df46ab4874 feat: add hook filter:posts.getUserInfoForPosts 2022-03-09 15:05:11 -05:00
Julian Lam
83fd4311b2 chore: delay filter:email.send removal to v2.0.0 2022-03-08 22:35:00 -05:00
Julian Lam
93b80f170b refactor: show a louder deprecation notice, alert once for each hook, not per plugin per hook 2022-03-08 22:33:02 -05:00
Julian Lam
a3b4c668d5 fix: apply some DRY 2022-03-08 15:14:57 -05:00
Barış Soner Uşaklı
e9a86cb912 fix: optional params 2022-03-08 14:44:53 -05:00
Barış Soner Uşaklı
689f0e4b58 fix: optional params 2022-03-08 14:44:23 -05:00
Barış Soner Uşaklı
8a31abadd4 feat: add translateKeys 2022-03-08 14:39:01 -05:00
Barış Soner Uşaklı
06aa3adb77 Merge branch 'master' into webpack5 2022-03-08 14:38:53 -05:00
Barış Soner Uşaklı
e841d59a67 feat: add translateKeys 2022-03-08 11:40:12 -05:00
Barış Soner Uşaklı
70e613f814 fix: #10374, use quick search in setting 2022-03-08 09:17:31 -05:00
Barış Soner Uşaklı
2e2728bdaa Merge branch 'master' into webpack5 2022-03-07 18:44:58 -05:00
Barış Soner Uşaklı
e9421617dd Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-03-07 18:44:46 -05:00
Barış Soner Uşaklı
371b46581a fix: #10366, remove dupe /files
dont display duplicate thumb og:image items
2022-03-07 18:44:31 -05:00
dependabot[bot]
d7a4ae1f9c chore(deps): bump postcss from 8.4.7 to 8.4.8 in /install (#10372)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.7 to 8.4.8.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.7...8.4.8)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-07 18:22:18 -05:00
Barış Soner Uşaklı
43ab5cd7fe Merge branch 'master' into webpack5 2022-03-07 18:21:44 -05:00
Renovate Bot
bcb68ee9af fix(deps): update dependency nodebb-plugin-markdown to v9.0.10 2022-03-07 13:21:20 -05:00
Misty (Bot)
021f2c286c Latest translations and fallbacks 2022-03-07 04:05:58 -05:00
Renovate Bot
517ae926ff chore(deps): update dependency lint-staged to v12.3.5 2022-03-05 12:32:05 +00:00
Misty (Bot)
188f955d8b Latest translations and fallbacks 2022-03-05 04:05:33 -05:00
Misty (Bot)
a5fe8350e9 chore(i18n): fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.flags 2022-03-04 15:39:23 -05:00
gasoved
62187caa67 feat: post auto flagging on downvotes #10029 (#10367)
* feat: post auto flagging on downvotes

* fix: just get one admin
2022-03-04 15:38:16 -05:00
Barış Soner Uşaklı
9d85863daa Merge branch 'master' into webpack5 2022-03-04 13:30:57 -05:00
Barış Soner Uşaklı
56345777ce fix: always show self on /users?online 2022-03-04 13:28:54 -05:00
Barış Soner Uşaklı
9570d39b4c Merge branch 'master' into webpack5 2022-03-03 18:16:31 -05:00
Barış Soner Uşaklı
21cd1e612f fix: db call 2022-03-03 18:16:24 -05:00
Barış Soner Uşaklı
cc665fd614 fix: lastonline timestamps and display for guests 2022-03-03 18:16:05 -05:00
Barış Soner Uşaklı
e6d3233bff Merge branch 'master' into webpack5 2022-03-03 12:50:49 -05:00
renovate[bot]
4b730df974 fix(deps): update dependency mongodb to v4.4.1 (#10364)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 12:50:17 -05:00
Misty (Bot)
2cc3f0a19a Latest translations and fallbacks 2022-03-03 04:05:37 -05:00
renovate[bot]
4d590f6550 fix(deps): update dependency nodebb-theme-persona to v11.4.2 (#10361)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 18:34:24 -05:00
Barış Soner Uşaklı
4dbe116715 Merge branch 'master' into webpack5 2022-03-02 18:31:57 -05:00
renovate[bot]
c75714b7e3 fix(deps): update dependency body-parser to v1.19.2 (#10298)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 18:31:19 -05:00
Barış Soner Uşaklı
eac9cd03ca feat: closes #10324, show recently online users as well 2022-03-02 18:29:17 -05:00
renovate[bot]
1a6c2c5534 fix(deps): update dependency sharp to v0.30.2 (#10359)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 17:56:06 -05:00
Barış Soner Uşaklı
643efbee12 Merge branch 'master' into webpack5 2022-03-02 17:51:23 -05:00
Barış Soner Uşaklı
50ed3a324c test: possible fix random psql test failure 2022-03-02 17:51:07 -05:00
Julian Lam
8d7d048100 chore: bump prerelease version 2022-03-02 16:53:29 -05:00
Barış Soner Uşaklı
68a6e6b8bf Merge branch 'master' into webpack5 2022-03-02 15:28:50 -05:00
Barış Soner Uşaklı
7ee4e4e004 fix: #10357 2022-03-02 15:00:27 -05:00
Julian Lam
5479f36443 fix: #10358, bad uploads path 2022-03-02 11:41:15 -05:00
Barış Soner Uşaklı
37ef8366d0 fix: #10360, only take top level posts 2022-03-02 11:08:16 -05:00
Julian Lam
594c6f3ec3 Merge branch 'master' into webpack5 2022-03-01 14:30:56 -05:00
Julian Lam
fec907d99d fix: #10354, flag actions regression 2022-03-01 14:30:29 -05:00
Barış Soner Uşaklı
032fa84016 Merge branch 'master' into webpack5 2022-03-01 13:38:50 -05:00
renovate[bot]
3e5a0f0d68 fix(deps): update dependency nodebb-plugin-mentions to v3.0.7 (#10355)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 13:38:11 -05:00
Barış Soner Uşaklı
f2efd56e23 Merge branch 'master' into webpack5 2022-02-28 20:38:03 -05:00
Barış Soner Uşaklı
40230725c3 refactor: move header unread code to separate module 2022-02-28 20:37:55 -05:00
Barış Soner Uşaklı
4a1e761adb refactor: remove code that doesn't do anything 2022-02-28 20:36:47 -05:00
Barış Soner Uşaklı
1fc79792d9 lint: use relative path for now 2022-02-28 15:43:43 -05:00
Barış Soner Uşaklı
072d339410 refactor: cleanup
remove test page, remove dupe functions in utils.common
2022-02-28 15:38:46 -05:00
Barış Soner Uşaklı
bdb1f8dbbb Merge branch 'master' into webpack5 2022-02-28 12:11:33 -05:00
dependabot[bot]
81e7ca201e chore(deps): bump nodebb-plugin-spam-be-gone in /install
Bumps [nodebb-plugin-spam-be-gone](https://github.com/akhoury/nodebb-plugin-spam-be-gone) from 0.7.13 to 0.7.14.
- [Release notes](https://github.com/akhoury/nodebb-plugin-spam-be-gone/releases)
- [Commits](https://github.com/akhoury/nodebb-plugin-spam-be-gone/compare/v0.7.13...v0.7.14)

---
updated-dependencies:
- dependency-name: nodebb-plugin-spam-be-gone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 08:51:34 -05:00
Misty (Bot)
64a6ff370a Latest translations and fallbacks 2022-02-28 04:05:52 -05:00
Renovate Bot
e83c8be2bd chore(deps): update dependency eslint to v8.10.0 2022-02-26 03:38:02 +00:00
Barış Soner Uşaklı
30e5953507 Merge branch 'master' into webpack5 2022-02-25 18:42:57 -05:00
Barış Soner Uşaklı
0e12f82dd8 fix: dont overwrite asset_base_url if its set 2022-02-25 18:42:45 -05:00
Barış Soner Uşaklı
f89babdca9 test: add debug for random failing test 2022-02-25 17:59:47 -05:00
Barış Soner Uşaklı
73762df143 Merge branch 'master' into webpack5 2022-02-25 14:43:18 -05:00
Barış Soner Uşaklı
e0b1c374e4 feat: resolve paths for staticDirs as well 2022-02-25 14:43:10 -05:00
Barış Soner Uşaklı
691811de1d refactor: fix comments 2022-02-25 12:21:33 -05:00
Barış Soner Uşaklı
6cf1a721a7 Merge branch 'webpack5' of https://github.com/NodeBB/NodeBB into webpack5 2022-02-25 12:19:59 -05:00
Barış Soner Uşaklı
62d658d621 lint: ignore 2022-02-25 12:19:52 -05:00
Julian Lam
adf63f50e1 fix: more specific selector 2022-02-25 12:08:45 -05:00
Barış Soner Uşaklı
322bd599f9 test: fix filename 2022-02-25 12:04:44 -05:00
Barış Soner Uşaklı
9d33193cb7 refactor: use build/public for webpack 2022-02-25 11:50:43 -05:00
Julian Lam
7b1eba058f feat: deprecate /plugins shorthand route, closes #10343 2022-02-25 10:57:34 -05:00
Barış Soner Uşaklı
57a64b7809 refactor: add server side helpers.js 2022-02-25 09:59:33 -05:00
Barış Soner Uşaklı
eb8d07b3a6 Merge branch 'master' into webpack5 2022-02-25 09:57:48 -05:00
dependabot[bot]
52ee5ce8e1 chore(deps): bump postcss from 8.4.6 to 8.4.7 in /install
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.6 to 8.4.7.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.6...8.4.7)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-25 07:37:14 -05:00
dependabot[bot]
e44cbb2430 chore(deps): bump json2csv from 5.0.6 to 5.0.7 in /install
Bumps [json2csv](https://github.com/zemirco/json2csv) from 5.0.6 to 5.0.7.
- [Release notes](https://github.com/zemirco/json2csv/releases)
- [Changelog](https://github.com/zemirco/json2csv/blob/v5.0.7/CHANGELOG.md)
- [Commits](https://github.com/zemirco/json2csv/compare/v5.0.6...v5.0.7)

---
updated-dependencies:
- dependency-name: json2csv
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 09:24:09 -05:00
Misty (Bot)
3fc592d4c8 Latest translations and fallbacks 2022-02-24 04:06:02 -05:00
Barış Soner Uşaklı
36f8831315 refactor: disable cache on templates
loadTemplate is called once by benchpress and the result is cache internally
2022-02-23 18:58:34 -05:00
Julian Lam
522663d599 chore: tagging v2.0.0-beta.0 pre-release version 💥 :shipit: 🎉 🚀 2022-02-23 15:52:51 -05:00
Julian Lam
a61bbc8427 fix(deps): use webpack5 branch of 2factor plugin 2022-02-23 15:52:24 -05:00
Renovate Bot
f30c65a49d fix(deps): update dependency nodebb-plugin-2factor to v3.0.5 2022-02-23 13:02:28 -05:00
Renovate Bot
67e4df7817 chore(deps): update dependency smtp-server to v3.10.0 2022-02-23 15:16:47 +00:00
Barış Soner Uşaklı
315566db6f refactor: get rid of template500Function 2022-02-22 19:08:12 -05:00
Barış Soner Uşaklı
1523d0cc50 refactor: move hooks to top 2022-02-22 19:02:55 -05:00
Barış Soner Uşaklı
e190ff875a feat: add chunkFile name with contenthash 2022-02-22 16:37:40 -05:00
Barış Soner Uşaklı
54091c818c Merge branch 'master' into webpack5 2022-02-22 16:12:43 -05:00
renovate[bot]
b84e61d568 fix(deps): update dependency nodebb-theme-persona to v11.4.1 (#10337)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 16:05:03 -05:00
Julian Lam
1c8d1d231e fix(sorted-list): call loadItem hook on add/edit items as well as on item retrieval, refactor edit to call parse() 2022-02-22 13:26:30 -05:00
Julian Lam
914733e44b fix: allow calls to api module without a defined payload 2022-02-22 11:41:33 -05:00
Julian Lam
92d613e420 feat(sorted-list): add new client-side hook filter:settings.sorted-list.loadItem 2022-02-22 10:39:54 -05:00
Julian Lam
fb4f89f391 fix(sorted-list): only call .stripHTMLTags() on string values 2022-02-22 10:30:52 -05:00
Barış Soner Uşaklı
57468fb690 Merge branch 'master' into webpack5 2022-02-21 20:13:30 -05:00
Barış Soner Uşaklı
6b22d0e15f fix: #10334, use the correct env vars for web install 2022-02-21 20:12:45 -05:00
Barış Soner Uşaklı
b9cc5c0905 feat: webpack webinstaller 2022-02-21 19:04:19 -05:00
Barış Soner Uşaklı
66651d42fb Merge branch 'master' into webpack5 2022-02-21 18:22:04 -05:00
Misty (Bot)
496e9013d3 Latest translations and fallbacks 2022-02-21 04:05:55 -05:00
Barış Soner Uşaklı
48ab453a39 Merge branch 'master' into webpack5 2022-02-20 14:09:15 -05:00
renovate[bot]
244d88017f fix(deps): update dependency nodebb-theme-persona to v11.4.0 (#10325)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-20 13:45:23 -05:00
Barış Soner Uşaklı
10a5901e4a fix: persona test fail 2022-02-20 13:43:50 -05:00
Barış Soner Uşaklı
6c29b2a71f chore: use webpack branch 2022-02-20 11:48:13 -05:00
Barış Soner Uşaklı
4be5a723b5 chore: use github branch 2022-02-19 19:03:49 -05:00
Barış Soner Uşaklı
c14f72bbad refactor: go back to using app.require 2022-02-19 19:01:06 -05:00
Barış Soner Uşaklı
799acf83c4 refactor: rename function to app.require 2022-02-19 18:59:28 -05:00
Barış Soner Uşaklı
1dceb2b223 lint: fix 2022-02-19 18:13:45 -05:00
Barış Soner Uşaklı
a4c5dcce6c test: lint and test fixes 2022-02-19 18:07:08 -05:00
Barış Soner Uşaklı
eafd187941 Merge branch 'master' into webpack5 2022-02-19 12:58:18 -05:00
Barış Soner Uşaklı
0faae7343f refactor: cropper alias 2022-02-19 12:06:30 -05:00
Barış Soner Uşaklı
a7fc159353 fix: ace 2022-02-19 11:35:47 -05:00
Renovate Bot
00eebf10af chore(deps): update dependency mocha to v9.2.1 2022-02-19 12:55:29 +00:00
Barış Soner Uşaklı
0b813d601e fix: #10316, fix quoting regression 2022-02-18 19:01:32 -05:00
Barış Soner Uşaklı
3b8f35a51d get rid of conditional import in app.js 2022-02-18 18:57:39 -05:00
Barış Soner Uşaklı
ba792b2920 Merge branch 'master' into webpack5 2022-02-18 17:25:37 -05:00
Barış Soner Uşaklı
5694e62e59 fix: #10322 2022-02-18 17:22:14 -05:00
Barış Soner Uşaklı
6e6515fc47 Merge branch 'master' into webpack5 2022-02-18 17:18:20 -05:00
Barış Soner Uşaklı
29aaa9ee2d refactor: more cleanup
use everything from build/public folder
2022-02-18 17:18:13 -05:00
renovate[bot]
31cbff19ed fix(deps): update dependency nodebb-plugin-mentions to v3.0.6 (#10328)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 17:16:16 -05:00
renovate[bot]
1c1062e11b fix(deps): update dependency nodebb-plugin-dbsearch to v5.1.3 (#10330)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 16:49:56 -05:00
Julian Lam
1fa4134201 fix: #10329, select elements in sorted-list not showing proper values 2022-02-18 14:49:28 -05:00
Julian Lam
52836f3a7f fix: allow translation keys in label attributes 2022-02-18 14:49:28 -05:00
renovate[bot]
c17b9bd447 fix(deps): update dependency nodebb-plugin-markdown to v9.0.8 (#10327)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 14:42:13 -05:00
Barış Soner Uşaklı
45d5b5a586 refactor: dont need dist 2022-02-18 14:13:49 -05:00
dependabot[bot]
21913b5b19 chore(deps): bump prompt from 1.2.1 to 1.2.2 in /install
Bumps [prompt](https://github.com/flatiron/prompt) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/flatiron/prompt/releases)
- [Changelog](https://github.com/flatiron/prompt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flatiron/prompt/commits)

---
updated-dependencies:
- dependency-name: prompt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-18 11:32:12 -05:00
Barış Soner Uşaklı
6bfc53fc6f test: composer 2022-02-17 22:24:05 -05:00
Barış Soner Uşaklı
cb34728421 test: maybe fix build test 2022-02-17 22:10:33 -05:00
Julian Lam
66c45996e1 fix: point to proper ACP bundle 2022-02-17 21:55:29 -05:00
Julian Lam
2e55ddc07c fix: remove unnecessary line break 2022-02-17 21:55:18 -05:00
Julian Lam
fec28a7e9e fix: restore use of assets/nodebb.min.js, at least for now 2022-02-17 21:26:51 -05:00
Barış Soner Uşaklı
1803c29ec9 test: fix one more test
remove 500-embed.tpl
2022-02-17 20:36:49 -05:00
renovate[bot]
afd2993dfe fix(deps): update dependency mongodb to v4.4.0 (#10319)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 19:27:49 -05:00
renovate[bot]
04900291db fix(deps): update dependency nodebb-plugin-emoji to v3.5.17 (#10314)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 19:26:31 -05:00
Julian Lam
9dccd439f9 fix: move webpack modules necessary for build, into dependencies 2022-02-17 17:00:11 -05:00
Barış Soner Uşaklı
a9df137965 test: disable testing route 2022-02-17 16:48:50 -05:00
Barış Soner Uşaklı
d60cb6c6e5 refactor: add aliases 2022-02-17 16:35:42 -05:00
Barış Soner Uşaklı
862381008a test: move and disable bundle test 2022-02-17 16:12:04 -05:00
Barış Soner Uşaklı
d010a61854 test: fix db require blowing up tests 2022-02-17 15:35:08 -05:00
Barış Soner Uşaklı
fe610f0daf test: log stack 2022-02-17 15:13:14 -05:00
Barış Soner Uşaklı
70f35e56ec Merge branch 'master' into webpack5 2022-02-17 15:12:00 -05:00
Barış Soner Uşaklı
9db90a3098 test: log configJSON 2022-02-17 15:11:24 -05:00
Barış Soner Uşaklı
13e3b9440b Merge branch 'master' into webpack5 2022-02-17 14:47:48 -05:00
Barış Soner Uşaklı
32f693019b test: check contents of config.json in tests 2022-02-17 14:47:23 -05:00
Barış Soner Uşaklı
ab673e362b Merge branch 'master' into webpack5 2022-02-17 14:16:21 -05:00
Barış Soner Uşaklı
b5b6e56f3c Merge branch 'master' into webpack5 2022-02-17 14:10:37 -05:00
Julian Lam
17836f2a3a Re-introduce lodash into src/package-install.js (#10315)
* test: add failing test for if package.json is non-existant, fix tests' beforeEach method

* Revert "fix: #10289, remove lodash dependency in src/cli/package-install.js"

This reverts commit 81fa2e22bc.

* fix: regression caused by 94b79ce402

`./nodebb setup` was no longer able to be called without arguments or env vars

* fix: .updatePackageFile() throwing if no package.json

* fix: removing unneeded code in src/cli/index.js that seemed to be used to handle cases where package.json was missing (initial install)

... However, as .updatePackageFile() now handled cases where there is no package.json, it should be ok to remove this code

* fix: handle missing package.json or node_modules/
2022-02-17 14:10:24 -05:00
Julian Lam
6e156daaf6 fix: don't load setup.json into nconf if setup.json doesn't exist 2022-02-17 14:07:51 -05:00
renovate[bot]
0e30362b2c fix(deps): update dependency nodebb-plugin-dbsearch to v5.1.2 (#10313)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 13:19:52 -05:00
Julian Lam
4164898d85 fix: regression caused by 94b79ce402
`./nodebb setup` was no longer able to be called without arguments or env vars
2022-02-17 13:18:17 -05:00
Barış Soner Uşaklı
00aadc047f test: require correct utils 2022-02-17 13:14:30 -05:00
Barış Soner Uşaklı
306a8dd2cf test: require correct utils module 2022-02-17 13:10:28 -05:00
Barış Soner Uşaklı
4b35f654a3 test: more test fixes 2022-02-17 13:03:46 -05:00
Barış Soner Uşaklı
d3969e5656 test: fix require path 2022-02-17 12:33:12 -05:00
Barış Soner Uşaklı
1a0b82f434 test: fixe util tests 2022-02-17 12:27:18 -05:00
Barış Soner Uşaklı
3c129d7e8f Merge branch 'master' into webpack5 2022-02-17 11:23:42 -05:00
Barış Soner Uşaklı
3acd2ac850 refactor: wrap around if at end
remove debug log
dont focus input on mobile
2022-02-17 11:19:43 -05:00
dependabot[bot]
5321ba4d71 chore(deps): bump express from 4.17.2 to 4.17.3 in /install
Bumps [express](https://github.com/expressjs/express) from 4.17.2 to 4.17.3.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.2...4.17.3)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-17 10:39:43 -05:00
Misty (Bot)
d12c66c8be Latest translations and fallbacks 2022-02-17 04:06:08 -05:00
Barış Soner Uşaklı
91354a281a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-02-16 22:12:02 -05:00
Barış Soner Uşaklı
c23b208984 chore: up persona 2022-02-16 22:11:53 -05:00
Misty (Bot)
dc0f9a73c0 chore(i18n): fallback strings for new resources: nodebb.topic 2022-02-16 22:09:35 -05:00
Barış Soner Uşaklı
949611960a refactor: change lang string 2022-02-16 22:08:54 -05:00
Barış Soner Uşaklı
b517b376ac feat: ability to go through your posts in a topic
because I am 👴 useful for large topics
2022-02-16 22:07:52 -05:00
renovate[bot]
5666c103cf fix(deps): update dependency nodebb-widget-essentials to v5.0.9 (#10307)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-16 20:50:00 -05:00
renovate[bot]
636f1baf0c fix(deps): update dependency nodebb-widget-essentials to v5.0.8 (#10306)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-16 18:51:10 -05:00
Misty (Bot)
09cb11c82a chore: incrementing version number - v1.19.3
(cherry picked from commit 7388f111b7)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2022-02-16 19:20:40 +00:00
Misty (Bot)
0b48ec5400 chore: update changelog for v1.19.3 2022-02-16 19:20:40 +00:00
Barış Soner Uşaklı
e9e48a756f feat: delete diffs on post purge, closes #10291 2022-02-16 13:23:27 -05:00
Barış Soner Uşaklı
503e27f709 fix: #10302, fix regression 2022-02-16 11:37:50 -05:00
Barış Soner Uşaklı
2ea55c4311 Merge branch 'master' into webpack5 2022-02-15 20:54:08 -05:00
Barış Soner Uşaklı
9205169f00 fix: one last try 2022-02-15 20:51:52 -05:00
Barış Soner Uşaklı
2f64d63369 fix: doggy.gif 2022-02-15 20:22:22 -05:00
Barış Soner Uşaklı
cfdfbf3280 fix: one more fix 2022-02-15 20:21:21 -05:00
Barış Soner Uşaklı
770fcd9ea8 fix: dupe key errors 2022-02-15 20:12:42 -05:00
renovate[bot]
b47ca86db5 fix(deps): update dependency nodebb-plugin-emoji to v3.5.16 (#10297)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-15 19:58:49 -05:00
Barış Soner Uşaklı
dbf7a45828 fix: #10292, delete missing fields 2022-02-15 19:33:52 -05:00
Barış Soner Uşaklı
58b5781cea feat: closes #10296
asset_base_url in nconf
keep assetBaseUrl in config for backwards compat
2022-02-15 19:22:34 -05:00
renovate[bot]
5b0d4a8ec9 fix(deps): update dependency nodebb-plugin-markdown to v9.0.7 (#10293)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-15 17:20:39 -05:00
renovate[bot]
7af057fa51 fix(deps): update dependency nodebb-plugin-emoji to v3.5.14 (#10295)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-15 17:16:17 -05:00
renovate[bot]
55a9818389 fix(deps): update dependency nodebb-plugin-mentions to v3.0.5 (#10294)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-15 17:14:15 -05:00
Barış Soner Uşaklı
1da1f21c79 fix: bundle serialize/deserizeli so plugins dont break 2022-02-15 13:24:28 -05:00
ppenguin
94b79ce402 Allow NodeBB setup with env vars (#9850)
* initial try [WIP]

* typo; add test start script; initial Dockerfile mod with integrated setup [WIP]

* minor fixes

* add some winston debug...

* typos

* fix pass confirm setup

* more fixes

* fix entrypoint

* cleanup

* remove echo sensitive setupVal

* remove obsolete code and comments

* fix linting errors

* Merge branch 'additional-fixes'

* Merge branch 'pitaj-suggested-fixes'

* Merge branch 'pitaj-fixes2'

* merge checkSetup functions (env vars and flags)

* comment (lint)

* remove tab

* finalise PR; tested ok locally (setup json overrides env vars)
2022-02-15 13:13:43 -05:00
Barış Soner Uşaklı
3d4adaced4 fix: acp settings pages, fix sortable on manage categories
embedded require in html not allowed
2022-02-15 12:58:30 -05:00
Barış Soner Uşaklı
68d88345e7 feat: reenable admin 2022-02-15 12:41:11 -05:00
Barış Soner Uşaklı
cc3298e688 refactor: remove commented old code 2022-02-15 10:47:19 -05:00
Barış Soner Uşaklı
668add8cab Merge branch 'master' into webpack5 2022-02-15 10:43:32 -05:00
Barış Soner Uşaklı
fd97f9ffcc fix: fix taskbar warning
add app.importScript
copy public/src/modules to build folder
2022-02-15 10:43:22 -05:00
Misty (Bot)
8d85dfe3f5 Latest translations and fallbacks 2022-02-15 09:06:36 +00:00
Barış Soner Uşaklı
36f172c1ac fix: gruntfile fixes 2022-02-14 22:04:05 -05:00
Barış Soner Uşaklı
163936e2fd Merge branch 'master' into webpack5 2022-02-14 21:50:39 -05:00
Barış Soner Uşaklı
946d351f3a refactor: lazy load slugify 2022-02-14 21:50:30 -05:00
Barış Soner Uşaklı
a1a1e8da18 feat: webpack 5 part 1 2022-02-14 21:35:33 -05:00
Misty (Bot)
4043f1791d chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2022-02-14 20:02:49 +00:00
Julian Lam
fb78570c13 test: fix topic thumb tests and topic thumbs to work properly with post upload assoc. 2022-02-14 15:02:07 -05:00
Julian Lam
d5ed8736aa feat: deleting a user upload dissociates from posts, and vice versa 2022-02-14 15:02:07 -05:00
Julian Lam
8c2752bab1 test: user uploads.js tests 2022-02-14 15:02:07 -05:00
Julian Lam
11275d6809 test: testing user upload methods, already fixed one bug 2022-02-14 15:02:07 -05:00
Julian Lam
5d7e1ebc68 style: linting errors 2022-02-14 15:02:07 -05:00
Julian Lam
b9edee143e fix: local deleteUploads() method in src/user/delete.js to call User.deleteUpload() 2022-02-14 15:02:07 -05:00
Julian Lam
7ef9c7d220 refactor: .deleteUpload() to accept array of paths 2022-02-14 15:02:07 -05:00
Julian Lam
ea36016d87 refactor: fix user uploads paths, and associate uid with user uploads 2022-02-14 15:02:07 -05:00
Julian Lam
6489e9fd9e refactor: change the post uploads' hash seeds to have the files/ prefix 2022-02-14 15:02:07 -05:00
Julian Lam
84dfda59e6 fix: #10144, automatically delete uploads from disk on post purge, ACP option to keep uploads on disk if desired 2022-02-14 15:02:07 -05:00
Julian Lam
aad0c5fd51 refactor: abstract some common code out to local utility methods 2022-02-14 15:02:07 -05:00
Julian Lam
d92da828a3 refactor: move post upload tests to its own file 2022-02-14 15:02:07 -05:00
Julian Lam
9aa3e442d0 fix: four-space indents in package.json 2022-02-14 14:40:34 -05:00
Julian Lam
81fa2e22bc fix: #10289, remove lodash dependency in src/cli/package-install.js 2022-02-14 14:36:50 -05:00
Misty (Bot)
a1593e35c0 Latest translations and fallbacks 2022-02-14 09:05:47 +00:00
Renovate Bot
9577ef8d7d chore(deps): update dependency lint-staged to v12.3.4 2022-02-13 19:58:59 +00:00
Renovate Bot
2290cee5ed chore(deps): update commitlint monorepo to v16.2.1 2022-02-13 11:52:13 +00:00
Misty (Bot)
02ebcb7131 Latest translations and fallbacks 2022-02-13 09:05:53 +00:00
renovate[bot]
22da7a10cc fix(deps): update dependency winston to v3.6.0 (#10285)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-12 18:25:23 -05:00
Misty (Bot)
f62e9563c4 Latest translations and fallbacks 2022-02-12 09:05:55 +00:00
Renovate Bot
763cd193c9 chore(deps): update dependency eslint to v8.9.0 2022-02-12 04:20:36 +00:00
Barış Soner Uşaklı
e5688d2c0d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-02-11 14:49:03 -05:00
Barış Soner Uşaklı
398d25c210 feat: #10276, dont change/revert theme if its current 2022-02-11 14:49:01 -05:00
Renovate Bot
3225a1affc fix(deps): update dependency nodebb-plugin-markdown to v9.0.6 2022-02-11 14:14:37 -05:00
Julian Lam
e9cb1452f9 chore: remove punycode dep 2022-02-11 14:12:52 -05:00
Julian Lam
6aae2e5d89 Revert "fix: proactively guard against homograph characters in website values"
This reverts commit fa7dcdb968.
2022-02-11 14:12:22 -05:00
renovate[bot]
3dc108d316 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.13 (#10280)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-11 12:12:33 -05:00
renovate[bot]
2c0b63227e fix(deps): update dependency nodebb-plugin-emoji to v3.5.12 (#10279)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-11 12:12:27 -05:00
Barış Soner Uşaklı
489c0d3015 refactor: remove extra zset remove, closes #10277 2022-02-11 10:43:40 -05:00
Misty (Bot)
2d125ecdbb Latest translations and fallbacks 2022-02-11 09:05:47 +00:00
Julian Lam
1c7fb8fe11 fix: non-functional upgrade script 2022-02-10 15:19:56 -05:00
Misty (Bot)
b8362c49cd Latest translations and fallbacks 2022-02-10 09:05:53 +00:00
renovate[bot]
766ef4e5c0 fix(deps): update dependency nodebb-plugin-emoji to v3.5.11 (#10274)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 18:47:00 -05:00
Misty (Bot)
775d90771e chore(i18n): fallback strings for new resources: nodebb.user 2022-02-09 22:50:56 +00:00
Barış Soner Uşaklı
350052ec50 fix: language keys 2022-02-09 17:50:08 -05:00
Barış Soner Uşaklı
d70ce3a937 fix: #10273, properly calculate item count for best/controversial 2022-02-09 17:42:41 -05:00
Misty (Bot)
e49b31f0c1 chore: incrementing version number - v1.19.2
(cherry picked from commit ded19254ac)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2022-02-09 21:28:33 +00:00
Misty (Bot)
f012984d7f chore: update changelog for v1.19.2 2022-02-09 21:28:33 +00:00
renovate[bot]
8e52abe8be fix(deps): update dependency sharp to v0.30.1 (#10270)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 16:13:24 -05:00
Barış Soner Uşaklı
2896ff1f0f Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-02-09 12:56:07 -05:00
Barış Soner Uşaklı
14ecafb6c7 chore: up persona 2022-02-09 12:44:11 -05:00
renovate[bot]
6c0f7034b3 fix(deps): update dependency nodebb-widget-essentials to v5.0.7 (#10269)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 12:43:21 -05:00
Misty (Bot)
9b40eb88ee Latest translations and fallbacks 2022-02-09 09:06:10 +00:00
Barış Soner Uşaklı
2dbdd1818f test: fix occasional test failure 2022-02-08 17:36:28 -05:00
Barış Soner Uşaklı
8a4b7dc454 chore: up markdown 2022-02-08 12:44:44 -05:00
Barış Soner Uşaklı
b98758d30a chore: add missing quote 2022-02-08 12:28:51 -05:00
renovate[bot]
78d48c3775 fix(deps): update dependency nodebb-theme-persona to v11.3.37 (#10265)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 12:26:03 -05:00
Julian Lam
a2c7d69e1b fix: remove extraneous devDependencies on package merge
/cc @pitaj
2022-02-08 11:13:51 -05:00
Julian Lam
9e4147f07c chore: use source and current local vars, + docs 2022-02-08 11:00:35 -05:00
Misty (Bot)
65ca8bbfd8 Latest translations and fallbacks 2022-02-08 09:05:52 +00:00
renovate[bot]
721a70c038 fix(deps): update dependency ioredis to v4.28.5 (#10252)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-07 20:53:52 -05:00
dependabot[bot]
b496ad445c chore(deps): bump ioredis from 4.28.4 to 4.28.5 in /install (#10254)
Bumps [ioredis](https://github.com/luin/ioredis) from 4.28.4 to 4.28.5.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/master/Changelog.md)
- [Commits](https://github.com/luin/ioredis/compare/v4.28.4...v4.28.5)

---
updated-dependencies:
- dependency-name: ioredis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-07 20:53:40 -05:00
renovate[bot]
a10e4940f0 fix(deps): update dependency connect-redis to v6.1.1 (#10260)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-07 20:53:31 -05:00
Barış Soner Uşaklı
5143ca33f3 feat: handle array of keys in psql exists for zsets 2022-02-07 17:54:51 -05:00
Julian Lam
0ac2843587 feat: upgrade script to clean up leftover :thumb zsets 2022-02-07 17:29:34 -05:00
Julian Lam
0f788b8eaa fix: #10257, topic thumbs not deleting on topic deletion 2022-02-07 17:29:34 -05:00
Julian Lam
606808760e test: add test to verify that a sorted set is automatically deleted if its last element is removed (#10261)
* test: add test to verify that a sorted set is automatically deleted if its last element is removed

* fix: remote empty zsets when all elements have been removed #yolo

* Revert "fix: remote empty zsets when all elements have been removed #yolo"

This reverts commit 0ac73244bb.

* fix: altered behaviour in module.exists instead of zrem
2022-02-07 17:16:50 -05:00
Barış Soner Uşaklı
fb3f4f9a13 fix: #10256, allow quote tooltip on mobile 2022-02-07 15:59:19 -05:00
Barış Soner Uşaklı
08f2a05053 fix: #10255, create verified/unverified groups on install 2022-02-07 10:30:46 -05:00
Misty (Bot)
0823992d63 Latest translations and fallbacks 2022-02-07 09:06:13 +00:00
renovate[bot]
0e2a4a2d4a fix(deps): update dependency nodebb-theme-persona to v11.3.36 (#10253)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-06 22:25:47 -05:00
Misty (Bot)
0144f7d917 Latest translations and fallbacks 2022-02-06 09:05:34 +00:00
renovate[bot]
6465e012c5 fix(deps): update dependency nodebb-theme-persona to v11.3.35 (#10251)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-05 17:33:23 -05:00
Misty (Bot)
a71b8e599a chore(i18n): fallback strings for new resources: nodebb.modules 2022-02-05 20:16:15 +00:00
Barış Soner Uşaklı
76d0412992 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-02-05 15:15:26 -05:00
Barış Soner Uşaklı
fbd9ba7914 refactor: update chat plcaeholder message 2022-02-05 15:15:21 -05:00
Misty (Bot)
6b3f45b436 Latest translations and fallbacks 2022-02-05 09:05:25 +00:00
Barış Soner Uşaklı
6be330f2d6 lint: remove unused require 2022-02-04 21:56:58 -05:00
Barış Soner Uşaklı
b548083b24 perf: increase batch size 2022-02-04 21:53:30 -05:00
Barış Soner Uşaklı
079c487dcb fix: controversial posts/bests posts not showing anything
fix upgrade script so posts with negative votes are stored, a post can have 10 upvotes and 2 downvotes
fix missing negative votes checks
remove unnecessary pids flters since the cids are only already filtered by topics:read
2022-02-04 21:52:44 -05:00
renovate[bot]
e6185883ba fix(deps): update dependency pg-cursor to v2.7.3 (#10244)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 20:54:33 -05:00
renovate[bot]
3247767620 fix(deps): update dependency nodebb-theme-persona to v11.3.33 (#10248)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 20:54:26 -05:00
renovate[bot]
8f5b5ef1b2 fix(deps): update dependency nodebb-theme-vanilla to v12.1.17 (#10249)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 20:54:18 -05:00
renovate[bot]
1eb0939e88 fix(deps): update dependency nodebb-plugin-emoji to v3.5.9 (#10250)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 20:54:10 -05:00
Julian Lam
d34471f69f fix: regression in package.json merging logic that caused extraneous packages to not be removed 2022-02-04 16:20:31 -05:00
Julian Lam
689c125cd3 fix: #10229, package merging should deep merge nested objects
+ tests
2022-02-04 16:20:31 -05:00
Julian Lam
a0a3870611 fix: use fs.promises 2022-02-04 16:20:31 -05:00
renovate[bot]
845717b8c0 fix(deps): update dependency sanitize-html to v2.7.0 (#10246)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 15:08:22 -05:00
renovate[bot]
531a3b1e88 fix(deps): update dependency pg to v8.7.3 (#10243)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 15:07:57 -05:00
renovate[bot]
c343b631a1 fix(deps): update dependency connect-redis to v6.1.0 (#10245)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 15:07:47 -05:00
Misty (Bot)
aa812f03d7 chore(i18n): fallback strings for new resources: nodebb.global, nodebb.pages 2022-02-04 19:35:24 +00:00
Julian Lam
1b8eeaf840 feat: more tests for ensuring downvoted posts are added to the :votes zset 2022-02-04 14:33:58 -05:00
Julian Lam
9b912db71e docs: openapi spec for new route 2022-02-04 14:33:58 -05:00
Julian Lam
cf88483fee feat: upgrade script to store downvotes posts in the user :votes sorted set 2022-02-04 14:33:58 -05:00
Julian Lam
5cff6e3f95 fix: bug where .reduce() exploded due to no initial value, if input value was an empty array 2022-02-04 14:33:58 -05:00
Julian Lam
5afd5de07d feat: new accounts route to show most downvoted ('controversial') posts 2022-02-04 14:33:58 -05:00
Barış Soner Uşaklı
1eaae1d0a7 chore: up persona 2022-02-04 10:41:04 -05:00
Barış Soner Uşaklı
45ca046533 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-02-04 10:38:06 -05:00
Barış Soner Uşaklı
dcb201dfa8 fix: https://github.com/NodeBB/NodeBB/issues/10242 2022-02-04 10:37:59 -05:00
Julian Lam
aa8914a153 feat: v3 user email tests 2022-02-04 10:20:46 -05:00
Julian Lam
d1b1f50bb2 test: stricter isValidationPending check 2022-02-04 10:20:46 -05:00
Julian Lam
ad63517511 fix: missing early return 2022-02-04 10:20:46 -05:00
Julian Lam
936562c3cb fix: handle case where email is explicitly passed into user.create, and thus is set in user hash, but confirmation request may have expired 2022-02-04 10:20:46 -05:00
Julian Lam
0322e984e0 fix: #10236, don't check email:uid, instead verify an email confirmation is active 2022-02-04 10:20:46 -05:00
Misty (Bot)
c5637d1527 Latest translations and fallbacks 2022-02-04 09:05:44 +00:00
renovate[bot]
f1bed4418e fix(deps): update dependency nodebb-theme-persona to v11.3.31 (#10241)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-03 20:06:14 -05:00
renovate[bot]
a470295925 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.20 (#10231)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-03 16:58:03 -05:00
renovate[bot]
916a0db3d0 fix(deps): update dependency nodebb-theme-persona to v11.3.30 (#10232)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-03 16:57:53 -05:00
renovate[bot]
ebf4e12b28 fix(deps): update dependency nodebb-plugin-emoji to v3.5.8 (#10239)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-03 16:44:46 -05:00
Barış Soner Uşaklı
106ef7cf44 chore: up emoji 2022-02-03 16:44:09 -05:00
Barış Soner Uşaklı
9883910857 fix: don't crash if requestedFields is undefined 2022-02-03 09:48:14 -05:00
Misty (Bot)
d208422d6a Latest translations and fallbacks 2022-02-03 09:05:46 +00:00
Barış Soner Uşaklı
7f1c4477e3 feat: allow gif profile images, sharp 0.30.0 supports gifs 2022-02-02 21:27:33 -05:00
dependabot[bot]
b71025cee9 chore(deps): bump nodebb-widget-essentials in /install (#10219)
Bumps [nodebb-widget-essentials](https://github.com/psychobunny/nodebb-widget-essentials) from 5.0.5 to 5.0.6.
- [Release notes](https://github.com/psychobunny/nodebb-widget-essentials/releases)
- [Commits](https://github.com/psychobunny/nodebb-widget-essentials/compare/v5.0.5...v5.0.6)

---
updated-dependencies:
- dependency-name: nodebb-widget-essentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 20:39:25 -05:00
renovate[bot]
2924cd3bf0 fix(deps): update dependency sharp to v0.30.0 (#10221)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 20:38:54 -05:00
renovate[bot]
cda07cb706 fix(deps): update dependency ioredis to v4.28.4 (#10224)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 20:38:21 -05:00
Barış Soner Uşaklı
3b4cf9713d chore: persona 2022-02-02 20:26:18 -05:00
Julian Lam
8ba9e67cbd feat: detect alternative package managers based on lockfile
If a package manager is not explicitly set in config.json or passed-in via argv/env, NodeBB will now check for the presence of alternative package managers' lockfiles and adjust the package manager to-be-used accordingly. If the standard npm lockfile exists, npm will always be used.
2022-02-02 17:15:44 -05:00
Barış Soner Uşaklı
d134567dab Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-02-02 16:39:21 -05:00
Misty (Bot)
70eeb20474 chore(i18n): fallback strings for new resources: nodebb.users 2022-02-02 21:39:12 +00:00
Barış Soner Uşaklı
78db61cf75 chore: persona 2022-02-02 16:39:11 -05:00
Barış Soner Uşaklı
766ad6b774 feat: new language key for user search in chat 2022-02-02 16:38:31 -05:00
Renovate Bot
2c605d1c60 fix(deps): update dependency clipboard to v2.0.10 2022-02-02 13:32:45 -05:00
Julian Lam
9a1690857d refactor: updated package-install.js exports style, new exported method 'getPackageManager' for use in cases where nconf is unreliable, fix bug where nconf was not correctly set up in cli tools, proper installation of dev dependencies based on global env value 2022-02-02 11:47:35 -05:00
Misty (Bot)
c526a34605 Latest translations and fallbacks 2022-02-02 09:05:08 +00:00
Julian Lam
c869d7dbb3 docs: some tweaks to cli help 2022-02-01 21:51:16 -05:00
Julian Lam
c3d926ff7e fix: a missed invocation of colors 2022-02-01 21:48:22 -05:00
Julian Lam
cf8f62aed9 feat: remove colors in favour of chalk (#10142)
* feat: remove colors in favour of chalk

* fix: bad conversion from colors to chalk in src/cli/index.js

* fix: padWidth calculation to account for control characters

* fix: termWidth calculation, but swapped one problem for another

* fix: formatItem, implement my own padRight to take control characters into account
2022-02-01 21:43:09 -05:00
Barış Soner Uşaklı
c7a5643932 chore: up deps 2022-02-01 20:07:10 -05:00
Barış Soner Uşaklı
cf5c096806 feat: add upload helper module for drag&drop, paste, closes #6388
fix chat input not getting focused
2022-02-01 20:03:15 -05:00
Renovate Bot
6ba25557b3 chore(deps): update dependency lint-staged to v12.3.3 2022-02-02 00:17:02 +00:00
Renovate Bot
1bf938da1c fix(deps): update dependency sitemap to v7.1.1 2022-02-01 10:29:19 -05:00
Renovate Bot
b0dd68bbae fix(deps): update dependency winston to v3.5.1 2022-02-01 10:29:01 -05:00
Renovate Bot
e7ba24c55a fix(deps): pin dependency punycode to 2.1.1 2022-02-01 10:28:49 -05:00
Julian Lam
452f29c0ff chore: add punycode dependency 2022-02-01 10:26:27 -05:00
Julian Lam
fa7dcdb968 fix: proactively guard against homograph characters in website values 2022-02-01 10:25:36 -05:00
Renovate Bot
322f103340 fix(deps): update dependency postcss to v8.4.6 2022-02-01 09:45:32 -05:00
Barış Soner Uşaklı
d50d4a9ecd chore: up persona 2022-01-31 18:43:00 -05:00
Barış Soner Uşaklı
28ab4edeb7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-01-31 17:40:57 -05:00
Barış Soner Uşaklı
458606bc9a chore: up persona 2022-01-31 17:40:55 -05:00
Renovate Bot
7d5080cd6d fix(deps): update dependency nodebb-plugin-markdown to v9 2022-01-31 17:31:52 -05:00
Barış Soner Uşaklı
cfe53305da chore: up persona 2022-01-31 17:10:45 -05:00
Barış Soner Uşaklı
f29bed27c0 chore: up persona 2022-01-31 17:02:03 -05:00
Misty (Bot)
4d1200d9aa Latest translations and fallbacks 2022-01-31 09:06:07 +00:00
Barış Soner Uşaklı
1d01741ae7 fix: #10208, don't use leading slash in directory names
change to use decodeURIComponent in utils.params
2022-01-30 18:51:28 -05:00
Misty (Bot)
40a0e6dd0b Latest translations and fallbacks 2022-01-30 09:05:49 +00:00
Renovate Bot
153693e0a9 chore(deps): update dependency eslint to v8.8.0 2022-01-29 03:46:40 +00:00
Barış Soner Uşaklı
b4a4e60e6b chore: up packages 2022-01-28 20:25:46 -05:00
Barış Soner Uşaklı
93d18383ee fix: don't crash if quick search doesn't return posts 2022-01-28 20:10:21 -05:00
Julian Lam
fc2c755c64 fix: properly unregister hooks in emailer tests 2022-01-28 15:46:28 -05:00
Julian Lam
dee9cca3c8 fix: email ban tests 2022-01-28 15:41:27 -05:00
Julian Lam
e25c0313d1 Revert "refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent"
This reverts commit f0e32ff182.
2022-01-28 15:41:27 -05:00
Julian Lam
165a1d8b76 Revert "fix: update usage of emailer.send to not catch (as errors are no longer thrown), email error throttler"
This reverts commit d4e5259fcf.
2022-01-28 15:41:27 -05:00
Misty (Bot)
e9588ca7b7 chore(i18n): fallback strings for new resources: nodebb.admin-settings-email 2022-01-28 20:17:28 +00:00
Julian Lam
d4e5259fcf fix: update usage of emailer.send to not catch (as errors are no longer thrown), email error throttler 2022-01-28 15:16:41 -05:00
Julian Lam
b3f7b742c1 fix: derp 2022-01-28 15:16:41 -05:00
Julian Lam
ea27eaf166 feat: no more sending emails to banned users, + feature flag 2022-01-28 15:16:41 -05:00
Julian Lam
f0e32ff182 refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent
Note that of course this doesn't mean the message was _delivered_, just sent off.

This will stop issues where emailer errors crash NodeBB
2022-01-28 15:16:41 -05:00
Barış Soner Uşaklı
680e36da67 test: fix derp 2022-01-28 14:58:32 -05:00
Barış Soner Uşaklı
a214f9a61b test: up acp plugin page timeout 2022-01-28 14:40:57 -05:00
dependabot[bot]
2db54e67c3 chore(deps): bump nodebb-theme-persona in /install (#10199)
Bumps [nodebb-theme-persona](https://github.com/NodeBB/nodebb-theme-persona) from 11.3.19 to 11.3.20.
- [Release notes](https://github.com/NodeBB/nodebb-theme-persona/releases)
- [Commits](https://github.com/NodeBB/nodebb-theme-persona/compare/v11.3.19...v11.3.20)

---
updated-dependencies:
- dependency-name: nodebb-theme-persona
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-28 14:22:19 -05:00
renovate[bot]
c50f6512a9 fix(deps): update dependency ace-builds to v1.4.14 (#10200)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 14:21:45 -05:00
renovate[bot]
a7f142bebb fix(deps): update dependency winston to v3.5.0 (#10202)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 14:21:38 -05:00
renovate[bot]
c6164e487d fix(deps): update dependency clipboard to v2.0.9 (#10203)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 14:21:28 -05:00
Julian Lam
89b559a2a3 refactor: sorted-list .get() to be async fn
+ plugin hook `filter:settings.sorted-list.load` to allow modification of params prior to template parsing
2022-01-28 10:07:54 -05:00
Julian Lam
578145acd6 fix: bug where page wouldn't complete loading if data.scripts was emptied 2022-01-27 21:09:49 -05:00
Barış Soner Uşaklı
2a89ad8288 fix: use escaped group names in invite modal 2022-01-27 16:00:01 -05:00
Julian Lam
e1e1d5223e feat: push the theme name into body class 2022-01-27 13:23:51 -05:00
Misty (Bot)
63d54098ba Latest translations and fallbacks 2022-01-27 09:06:09 +00:00
Renovate Bot
814cb66bed chore(deps): update dependency lint-staged to v12.3.2 2022-01-26 20:20:59 +00:00
Barış Soner Uşaklı
dc6e629d59 fix: https://github.com/julianlam/nodebb-plugin-mentions/issues/170 2022-01-25 18:01:35 -05:00
Barış Soner Uşaklı
92a249c947 fix: #10197, fix relative path urls for dashboard pages 2022-01-25 13:20:50 -05:00
Julian Lam
df8c8ad8e4 fix: actually, CORP is ok 2022-01-25 09:50:09 -05:00
Julian Lam
4467299e42 fix: update defaults for corp and coep to be more permissive, for now, to be reverted for v1.20.0 2022-01-25 09:46:28 -05:00
Misty (Bot)
c159efc7cd Latest translations and fallbacks 2022-01-25 09:05:51 +00:00
Barış Soner Uşaklı
3e30b6cd23 chore: up persona 2022-01-24 18:06:02 -05:00
Barış Soner Uşaklı
94da502629 fix: if no group label is selected, select no group title option
dont save groupTitle: "['null']" if nothing is selected
2022-01-24 16:41:25 -05:00
Renovate Bot
05e2b3541b chore(deps): update dependency mocha to v9.2.0 2022-01-24 14:11:36 +00:00
dependabot[bot]
1f037bf692 chore(deps): bump helmet from 5.0.1 to 5.0.2 in /install
Bumps [helmet](https://github.com/helmetjs/helmet) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: helmet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 07:02:18 -05:00
Renovate Bot
ac244af338 chore(deps): update dependency lint-staged to v12.3.1 2022-01-23 16:32:13 +00:00
Renovate Bot
7060837b82 chore(deps): update dependency lint-staged to v12.3.0 2022-01-23 13:45:47 +00:00
Misty (Bot)
3c63651fee Latest translations and fallbacks 2022-01-23 09:05:41 +00:00
Misty (Bot)
1b80be5392 Latest translations and fallbacks 2022-01-22 09:05:39 +00:00
Misty (Bot)
2ec4e31f7c chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced 2022-01-21 21:48:39 +00:00
Julian Lam
d91aeea3c3 feat: add ACP toggles for COEP and CORP headers 2022-01-21 16:47:55 -05:00
dependabot[bot]
5d3900dcd4 chore(deps): bump helmet from 4.6.0 to 5.0.1 in /install
Bumps [helmet](https://github.com/helmetjs/helmet) from 4.6.0 to 5.0.1.
- [Release notes](https://github.com/helmetjs/helmet/releases)
- [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v4.6.0...v5.0.1)

---
updated-dependencies:
- dependency-name: helmet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-21 16:47:55 -05:00
Misty (Bot)
7f450268f6 chore: incrementing version number - v1.19.1
(cherry picked from commit 04ce24e661)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2022-01-21 18:20:50 +00:00
Misty (Bot)
55df683aa2 chore: update changelog for v1.19.1 2022-01-21 18:20:50 +00:00
917 changed files with 11212 additions and 4591 deletions

View File

@@ -18,3 +18,12 @@ logs/
.eslintrc
test/files
*.min.js
/public/src/app.js
/public/src/client.js
/public/src/admin/admin.js
/public/src/modules/translator.common.js
/public/src/modules/pictureCropper.js
/public/src/modules/ace-editor.js
/public/src/client/account/header.js
/public/src/client/test.js

View File

@@ -5,10 +5,12 @@ on:
branches:
- master
- develop
- webpack5
pull_request:
branches:
- master
- develop
- webpack5
defaults:
run:
@@ -95,7 +97,6 @@ jobs:
SETUP: >-
{
"url": "http://127.0.0.1:4567",
"secret": "abcdef",
"admin:username": "admin",
"admin:email": "test@example.org",
"admin:password": "hAN3Eg8W",
@@ -123,7 +124,6 @@ jobs:
SETUP: >-
{
"url": "http://127.0.0.1:4567",
"secret": "abcdef",
"admin:username": "admin",
"admin:email": "test@example.org",
"admin:password": "hAN3Eg8W",
@@ -154,7 +154,6 @@ jobs:
SETUP: >-
{
"url": "http://127.0.0.1:4567/forum",
"secret": "abcdef",
"admin:username": "admin",
"admin:email": "test@example.org",
"admin:password": "hAN3Eg8W",

View File

@@ -41,6 +41,7 @@ trans.rw = public/language/rw/category.json
trans.sc = public/language/sc/category.json
trans.sk = public/language/sk/category.json
trans.sl = public/language/sl/category.json
trans.sq_AL = public/language/sq-AL/category.json
trans.sr = public/language/sr/category.json
trans.sv = public/language/sv/category.json
trans.th = public/language/th/category.json
@@ -91,6 +92,7 @@ trans.rw = public/language/rw/login.json
trans.sc = public/language/sc/login.json
trans.sk = public/language/sk/login.json
trans.sl = public/language/sl/login.json
trans.sq_AL = public/language/sq-AL/login.json
trans.sr = public/language/sr/login.json
trans.sv = public/language/sv/login.json
trans.th = public/language/th/login.json
@@ -141,6 +143,7 @@ trans.rw = public/language/rw/recent.json
trans.sc = public/language/sc/recent.json
trans.sk = public/language/sk/recent.json
trans.sl = public/language/sl/recent.json
trans.sq_AL = public/language/sq-AL/recent.json
trans.sr = public/language/sr/recent.json
trans.sv = public/language/sv/recent.json
trans.th = public/language/th/recent.json
@@ -191,6 +194,7 @@ trans.rw = public/language/rw/unread.json
trans.sc = public/language/sc/unread.json
trans.sk = public/language/sk/unread.json
trans.sl = public/language/sl/unread.json
trans.sq_AL = public/language/sq-AL/unread.json
trans.sr = public/language/sr/unread.json
trans.sv = public/language/sv/unread.json
trans.th = public/language/th/unread.json
@@ -241,6 +245,7 @@ trans.rw = public/language/rw/modules.json
trans.sc = public/language/sc/modules.json
trans.sk = public/language/sk/modules.json
trans.sl = public/language/sl/modules.json
trans.sq_AL = public/language/sq-AL/modules.json
trans.sr = public/language/sr/modules.json
trans.sv = public/language/sv/modules.json
trans.th = public/language/th/modules.json
@@ -291,6 +296,7 @@ trans.rw = public/language/rw/post-queue.json
trans.sc = public/language/sc/post-queue.json
trans.sk = public/language/sk/post-queue.json
trans.sl = public/language/sl/post-queue.json
trans.sq_AL = public/language/sq-AL/post-queue.json
trans.sr = public/language/sr/post-queue.json
trans.sv = public/language/sv/post-queue.json
trans.th = public/language/th/post-queue.json
@@ -341,6 +347,7 @@ trans.rw = public/language/rw/ip-blacklist.json
trans.sc = public/language/sc/ip-blacklist.json
trans.sk = public/language/sk/ip-blacklist.json
trans.sl = public/language/sl/ip-blacklist.json
trans.sq_AL = public/language/sq-AL/ip-blacklist.json
trans.sr = public/language/sr/ip-blacklist.json
trans.sv = public/language/sv/ip-blacklist.json
trans.th = public/language/th/ip-blacklist.json
@@ -391,6 +398,7 @@ trans.rw = public/language/rw/register.json
trans.sc = public/language/sc/register.json
trans.sk = public/language/sk/register.json
trans.sl = public/language/sl/register.json
trans.sq_AL = public/language/sq-AL/register.json
trans.sr = public/language/sr/register.json
trans.sv = public/language/sv/register.json
trans.th = public/language/th/register.json
@@ -441,6 +449,7 @@ trans.rw = public/language/rw/user.json
trans.sc = public/language/sc/user.json
trans.sk = public/language/sk/user.json
trans.sl = public/language/sl/user.json
trans.sq_AL = public/language/sq-AL/user.json
trans.sr = public/language/sr/user.json
trans.sv = public/language/sv/user.json
trans.th = public/language/th/user.json
@@ -491,6 +500,7 @@ trans.rw = public/language/rw/global.json
trans.sc = public/language/sc/global.json
trans.sk = public/language/sk/global.json
trans.sl = public/language/sl/global.json
trans.sq_AL = public/language/sq-AL/global.json
trans.sr = public/language/sr/global.json
trans.sv = public/language/sv/global.json
trans.th = public/language/th/global.json
@@ -541,6 +551,7 @@ trans.rw = public/language/rw/notifications.json
trans.sc = public/language/sc/notifications.json
trans.sk = public/language/sk/notifications.json
trans.sl = public/language/sl/notifications.json
trans.sq_AL = public/language/sq-AL/notifications.json
trans.sr = public/language/sr/notifications.json
trans.sv = public/language/sv/notifications.json
trans.th = public/language/th/notifications.json
@@ -591,6 +602,7 @@ trans.rw = public/language/rw/reset_password.json
trans.sc = public/language/sc/reset_password.json
trans.sk = public/language/sk/reset_password.json
trans.sl = public/language/sl/reset_password.json
trans.sq_AL = public/language/sq-AL/reset_password.json
trans.sr = public/language/sr/reset_password.json
trans.sv = public/language/sv/reset_password.json
trans.th = public/language/th/reset_password.json
@@ -641,6 +653,7 @@ trans.rw = public/language/rw/users.json
trans.sc = public/language/sc/users.json
trans.sk = public/language/sk/users.json
trans.sl = public/language/sl/users.json
trans.sq_AL = public/language/sq-AL/users.json
trans.sr = public/language/sr/users.json
trans.sv = public/language/sv/users.json
trans.th = public/language/th/users.json
@@ -691,6 +704,7 @@ trans.rw = public/language/rw/language.json
trans.sc = public/language/sc/language.json
trans.sk = public/language/sk/language.json
trans.sl = public/language/sl/language.json
trans.sq_AL = public/language/sq-AL/language.json
trans.sr = public/language/sr/language.json
trans.sv = public/language/sv/language.json
trans.th = public/language/th/language.json
@@ -741,6 +755,7 @@ trans.rw = public/language/rw/pages.json
trans.sc = public/language/sc/pages.json
trans.sk = public/language/sk/pages.json
trans.sl = public/language/sl/pages.json
trans.sq_AL = public/language/sq-AL/pages.json
trans.sr = public/language/sr/pages.json
trans.sv = public/language/sv/pages.json
trans.th = public/language/th/pages.json
@@ -791,6 +806,7 @@ trans.rw = public/language/rw/topic.json
trans.sc = public/language/sc/topic.json
trans.sk = public/language/sk/topic.json
trans.sl = public/language/sl/topic.json
trans.sq_AL = public/language/sq-AL/topic.json
trans.sr = public/language/sr/topic.json
trans.sv = public/language/sv/topic.json
trans.th = public/language/th/topic.json
@@ -841,6 +857,7 @@ trans.rw = public/language/rw/success.json
trans.sc = public/language/sc/success.json
trans.sk = public/language/sk/success.json
trans.sl = public/language/sl/success.json
trans.sq_AL = public/language/sq-AL/success.json
trans.sr = public/language/sr/success.json
trans.sv = public/language/sv/success.json
trans.th = public/language/th/success.json
@@ -891,6 +908,7 @@ trans.rw = public/language/rw/error.json
trans.sc = public/language/sc/error.json
trans.sk = public/language/sk/error.json
trans.sl = public/language/sl/error.json
trans.sq_AL = public/language/sq-AL/error.json
trans.sr = public/language/sr/error.json
trans.sv = public/language/sv/error.json
trans.th = public/language/th/error.json
@@ -941,6 +959,7 @@ trans.rw = public/language/rw/flags.json
trans.sc = public/language/sc/flags.json
trans.sk = public/language/sk/flags.json
trans.sl = public/language/sl/flags.json
trans.sq_AL = public/language/sq-AL/flags.json
trans.sr = public/language/sr/flags.json
trans.sv = public/language/sv/flags.json
trans.th = public/language/th/flags.json
@@ -990,6 +1009,7 @@ trans.rw = public/language/rw/tags.json
trans.sc = public/language/sc/tags.json
trans.sk = public/language/sk/tags.json
trans.sl = public/language/sl/tags.json
trans.sq_AL = public/language/sq-AL/tags.json
trans.sr = public/language/sr/tags.json
trans.sv = public/language/sv/tags.json
trans.th = public/language/th/tags.json
@@ -1040,6 +1060,7 @@ trans.rw = public/language/rw/top.json
trans.sc = public/language/sc/top.json
trans.sk = public/language/sk/top.json
trans.sl = public/language/sl/top.json
trans.sq_AL = public/language/sq-AL/top.json
trans.sr = public/language/sr/top.json
trans.sv = public/language/sv/top.json
trans.th = public/language/th/top.json
@@ -1090,6 +1111,7 @@ trans.rw = public/language/rw/email.json
trans.sc = public/language/sc/email.json
trans.sk = public/language/sk/email.json
trans.sl = public/language/sl/email.json
trans.sq_AL = public/language/sq-AL/email.json
trans.sr = public/language/sr/email.json
trans.sv = public/language/sv/email.json
trans.th = public/language/th/email.json
@@ -1140,6 +1162,7 @@ trans.rw = public/language/rw/search.json
trans.sc = public/language/sc/search.json
trans.sk = public/language/sk/search.json
trans.sl = public/language/sl/search.json
trans.sq_AL = public/language/sq-AL/search.json
trans.sr = public/language/sr/search.json
trans.sv = public/language/sv/search.json
trans.th = public/language/th/search.json
@@ -1190,6 +1213,7 @@ trans.rw = public/language/rw/groups.json
trans.sc = public/language/sc/groups.json
trans.sk = public/language/sk/groups.json
trans.sl = public/language/sl/groups.json
trans.sq_AL = public/language/sq-AL/groups.json
trans.sr = public/language/sr/groups.json
trans.sv = public/language/sv/groups.json
trans.th = public/language/th/groups.json
@@ -1240,6 +1264,7 @@ trans.rw = public/language/rw/uploads.json
trans.sc = public/language/sc/uploads.json
trans.sk = public/language/sk/uploads.json
trans.sl = public/language/sl/uploads.json
trans.sq_AL = public/language/sq-AL/uploads.json
trans.sr = public/language/sr/uploads.json
trans.sv = public/language/sv/uploads.json
trans.th = public/language/th/uploads.json
@@ -1290,6 +1315,7 @@ trans.rw = public/language/rw/admin/admin.json
trans.sc = public/language/sc/admin/admin.json
trans.sk = public/language/sk/admin/admin.json
trans.sl = public/language/sl/admin/admin.json
trans.sq_AL = public/language/sq-AL/admin/admin.json
trans.sr = public/language/sr/admin/admin.json
trans.sv = public/language/sv/admin/admin.json
trans.th = public/language/th/admin/admin.json
@@ -1340,6 +1366,7 @@ trans.rw = public/language/rw/admin/menu.json
trans.sc = public/language/sc/admin/menu.json
trans.sk = public/language/sk/admin/menu.json
trans.sl = public/language/sl/admin/menu.json
trans.sq_AL = public/language/sq-AL/admin/menu.json
trans.sr = public/language/sr/admin/menu.json
trans.sv = public/language/sv/admin/menu.json
trans.th = public/language/th/admin/menu.json
@@ -1390,6 +1417,7 @@ trans.rw = public/language/rw/admin/advanced/cache.json
trans.sc = public/language/sc/admin/advanced/cache.json
trans.sk = public/language/sk/admin/advanced/cache.json
trans.sl = public/language/sl/admin/advanced/cache.json
trans.sq_AL = public/language/sq-AL/admin/advanced/cache.json
trans.sr = public/language/sr/admin/advanced/cache.json
trans.sv = public/language/sv/admin/advanced/cache.json
trans.th = public/language/th/admin/advanced/cache.json
@@ -1440,6 +1468,7 @@ trans.rw = public/language/rw/admin/advanced/database.json
trans.sc = public/language/sc/admin/advanced/database.json
trans.sk = public/language/sk/admin/advanced/database.json
trans.sl = public/language/sl/admin/advanced/database.json
trans.sq_AL = public/language/sq-AL/admin/advanced/database.json
trans.sr = public/language/sr/admin/advanced/database.json
trans.sv = public/language/sv/admin/advanced/database.json
trans.th = public/language/th/admin/advanced/database.json
@@ -1490,6 +1519,7 @@ trans.rw = public/language/rw/admin/advanced/errors.json
trans.sc = public/language/sc/admin/advanced/errors.json
trans.sk = public/language/sk/admin/advanced/errors.json
trans.sl = public/language/sl/admin/advanced/errors.json
trans.sq_AL = public/language/sq-AL/admin/advanced/errors.json
trans.sr = public/language/sr/admin/advanced/errors.json
trans.sv = public/language/sv/admin/advanced/errors.json
trans.th = public/language/th/admin/advanced/errors.json
@@ -1540,6 +1570,7 @@ trans.rw = public/language/rw/admin/advanced/events.json
trans.sc = public/language/sc/admin/advanced/events.json
trans.sk = public/language/sk/admin/advanced/events.json
trans.sl = public/language/sl/admin/advanced/events.json
trans.sq_AL = public/language/sq-AL/admin/advanced/events.json
trans.sr = public/language/sr/admin/advanced/events.json
trans.sv = public/language/sv/admin/advanced/events.json
trans.th = public/language/th/admin/advanced/events.json
@@ -1590,6 +1621,7 @@ trans.rw = public/language/rw/admin/advanced/logs.json
trans.sc = public/language/sc/admin/advanced/logs.json
trans.sk = public/language/sk/admin/advanced/logs.json
trans.sl = public/language/sl/admin/advanced/logs.json
trans.sq_AL = public/language/sq-AL/admin/advanced/logs.json
trans.sr = public/language/sr/admin/advanced/logs.json
trans.sv = public/language/sv/admin/advanced/logs.json
trans.th = public/language/th/admin/advanced/logs.json
@@ -1640,6 +1672,7 @@ trans.rw = public/language/rw/admin/appearance/customise.json
trans.sc = public/language/sc/admin/appearance/customise.json
trans.sk = public/language/sk/admin/appearance/customise.json
trans.sl = public/language/sl/admin/appearance/customise.json
trans.sq_AL = public/language/sq-AL/admin/appearance/customise.json
trans.sr = public/language/sr/admin/appearance/customise.json
trans.sv = public/language/sv/admin/appearance/customise.json
trans.th = public/language/th/admin/appearance/customise.json
@@ -1690,6 +1723,7 @@ trans.rw = public/language/rw/admin/appearance/skins.json
trans.sc = public/language/sc/admin/appearance/skins.json
trans.sk = public/language/sk/admin/appearance/skins.json
trans.sl = public/language/sl/admin/appearance/skins.json
trans.sq_AL = public/language/sq-AL/admin/appearance/skins.json
trans.sr = public/language/sr/admin/appearance/skins.json
trans.sv = public/language/sv/admin/appearance/skins.json
trans.th = public/language/th/admin/appearance/skins.json
@@ -1740,6 +1774,7 @@ trans.rw = public/language/rw/admin/appearance/themes.json
trans.sc = public/language/sc/admin/appearance/themes.json
trans.sk = public/language/sk/admin/appearance/themes.json
trans.sl = public/language/sl/admin/appearance/themes.json
trans.sq_AL = public/language/sq-AL/admin/appearance/themes.json
trans.sr = public/language/sr/admin/appearance/themes.json
trans.sv = public/language/sv/admin/appearance/themes.json
trans.th = public/language/th/admin/appearance/themes.json
@@ -1790,6 +1825,7 @@ trans.rw = public/language/rw/admin/development/info.json
trans.sc = public/language/sc/admin/development/info.json
trans.sk = public/language/sk/admin/development/info.json
trans.sl = public/language/sl/admin/development/info.json
trans.sq_AL = public/language/sq-AL/admin/development/info.json
trans.sr = public/language/sr/admin/development/info.json
trans.sv = public/language/sv/admin/development/info.json
trans.th = public/language/th/admin/development/info.json
@@ -1840,6 +1876,7 @@ trans.rw = public/language/rw/admin/development/logger.json
trans.sc = public/language/sc/admin/development/logger.json
trans.sk = public/language/sk/admin/development/logger.json
trans.sl = public/language/sl/admin/development/logger.json
trans.sq_AL = public/language/sq-AL/admin/development/logger.json
trans.sr = public/language/sr/admin/development/logger.json
trans.sv = public/language/sv/admin/development/logger.json
trans.th = public/language/th/admin/development/logger.json
@@ -1890,6 +1927,7 @@ trans.rw = public/language/rw/admin/extend/plugins.json
trans.sc = public/language/sc/admin/extend/plugins.json
trans.sk = public/language/sk/admin/extend/plugins.json
trans.sl = public/language/sl/admin/extend/plugins.json
trans.sq_AL = public/language/sq-AL/admin/extend/plugins.json
trans.sr = public/language/sr/admin/extend/plugins.json
trans.sv = public/language/sv/admin/extend/plugins.json
trans.th = public/language/th/admin/extend/plugins.json
@@ -1940,6 +1978,7 @@ trans.rw = public/language/rw/admin/extend/rewards.json
trans.sc = public/language/sc/admin/extend/rewards.json
trans.sk = public/language/sk/admin/extend/rewards.json
trans.sl = public/language/sl/admin/extend/rewards.json
trans.sq_AL = public/language/sq-AL/admin/extend/rewards.json
trans.sr = public/language/sr/admin/extend/rewards.json
trans.sv = public/language/sv/admin/extend/rewards.json
trans.th = public/language/th/admin/extend/rewards.json
@@ -1990,6 +2029,7 @@ trans.rw = public/language/rw/admin/extend/widgets.json
trans.sc = public/language/sc/admin/extend/widgets.json
trans.sk = public/language/sk/admin/extend/widgets.json
trans.sl = public/language/sl/admin/extend/widgets.json
trans.sq_AL = public/language/sq-AL/admin/extend/widgets.json
trans.sr = public/language/sr/admin/extend/widgets.json
trans.sv = public/language/sv/admin/extend/widgets.json
trans.th = public/language/th/admin/extend/widgets.json
@@ -2040,6 +2080,7 @@ 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.sq_AL = public/language/sq-AL/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
@@ -2090,6 +2131,7 @@ 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.sq_AL = public/language/sq-AL/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
@@ -2140,6 +2182,7 @@ 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.sq_AL = public/language/sq-AL/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
@@ -2190,6 +2233,7 @@ 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.sq_AL = public/language/sq-AL/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
@@ -2240,6 +2284,7 @@ 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.sq_AL = public/language/sq-AL/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
@@ -2290,6 +2335,7 @@ 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.sq_AL = public/language/sq-AL/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
@@ -2340,6 +2386,7 @@ trans.rw = public/language/rw/admin/manage/admins-mods.json
trans.sc = public/language/sc/admin/manage/admins-mods.json
trans.sk = public/language/sk/admin/manage/admins-mods.json
trans.sl = public/language/sl/admin/manage/admins-mods.json
trans.sq_AL = public/language/sq-AL/admin/manage/admins-mods.json
trans.sr = public/language/sr/admin/manage/admins-mods.json
trans.sv = public/language/sv/admin/manage/admins-mods.json
trans.th = public/language/th/admin/manage/admins-mods.json
@@ -2390,6 +2437,7 @@ trans.rw = public/language/rw/admin/manage/categories.json
trans.sc = public/language/sc/admin/manage/categories.json
trans.sk = public/language/sk/admin/manage/categories.json
trans.sl = public/language/sl/admin/manage/categories.json
trans.sq_AL = public/language/sq-AL/admin/manage/categories.json
trans.sr = public/language/sr/admin/manage/categories.json
trans.sv = public/language/sv/admin/manage/categories.json
trans.th = public/language/th/admin/manage/categories.json
@@ -2440,6 +2488,7 @@ trans.rw = public/language/rw/admin/manage/groups.json
trans.sc = public/language/sc/admin/manage/groups.json
trans.sk = public/language/sk/admin/manage/groups.json
trans.sl = public/language/sl/admin/manage/groups.json
trans.sq_AL = public/language/sq-AL/admin/manage/groups.json
trans.sr = public/language/sr/admin/manage/groups.json
trans.sv = public/language/sv/admin/manage/groups.json
trans.th = public/language/th/admin/manage/groups.json
@@ -2490,6 +2539,7 @@ trans.rw = public/language/rw/admin/manage/privileges.json
trans.sc = public/language/sc/admin/manage/privileges.json
trans.sk = public/language/sk/admin/manage/privileges.json
trans.sl = public/language/sl/admin/manage/privileges.json
trans.sq_AL = public/language/sq-AL/admin/manage/privileges.json
trans.sr = public/language/sr/admin/manage/privileges.json
trans.sv = public/language/sv/admin/manage/privileges.json
trans.th = public/language/th/admin/manage/privileges.json
@@ -2540,6 +2590,7 @@ trans.rw = public/language/rw/admin/manage/registration.json
trans.sc = public/language/sc/admin/manage/registration.json
trans.sk = public/language/sk/admin/manage/registration.json
trans.sl = public/language/sl/admin/manage/registration.json
trans.sq_AL = public/language/sq-AL/admin/manage/registration.json
trans.sr = public/language/sr/admin/manage/registration.json
trans.sv = public/language/sv/admin/manage/registration.json
trans.th = public/language/th/admin/manage/registration.json
@@ -2590,6 +2641,7 @@ trans.rw = public/language/rw/admin/manage/tags.json
trans.sc = public/language/sc/admin/manage/tags.json
trans.sk = public/language/sk/admin/manage/tags.json
trans.sl = public/language/sl/admin/manage/tags.json
trans.sq_AL = public/language/sq-AL/admin/manage/tags.json
trans.sr = public/language/sr/admin/manage/tags.json
trans.sv = public/language/sv/admin/manage/tags.json
trans.th = public/language/th/admin/manage/tags.json
@@ -2640,6 +2692,7 @@ trans.rw = public/language/rw/admin/manage/uploads.json
trans.sc = public/language/sc/admin/manage/uploads.json
trans.sk = public/language/sk/admin/manage/uploads.json
trans.sl = public/language/sl/admin/manage/uploads.json
trans.sq_AL = public/language/sq-AL/admin/manage/uploads.json
trans.sr = public/language/sr/admin/manage/uploads.json
trans.sv = public/language/sv/admin/manage/uploads.json
trans.th = public/language/th/admin/manage/uploads.json
@@ -2690,6 +2743,7 @@ trans.rw = public/language/rw/admin/manage/users.json
trans.sc = public/language/sc/admin/manage/users.json
trans.sk = public/language/sk/admin/manage/users.json
trans.sl = public/language/sl/admin/manage/users.json
trans.sq_AL = public/language/sq-AL/admin/manage/users.json
trans.sr = public/language/sr/admin/manage/users.json
trans.sv = public/language/sv/admin/manage/users.json
trans.th = public/language/th/admin/manage/users.json
@@ -2740,6 +2794,7 @@ trans.rw = public/language/rw/admin/manage/digest.json
trans.sc = public/language/sc/admin/manage/digest.json
trans.sk = public/language/sk/admin/manage/digest.json
trans.sl = public/language/sl/admin/manage/digest.json
trans.sq_AL = public/language/sq-AL/admin/manage/digest.json
trans.sr = public/language/sr/admin/manage/digest.json
trans.sv = public/language/sv/admin/manage/digest.json
trans.th = public/language/th/admin/manage/digest.json
@@ -2790,6 +2845,7 @@ trans.rw = public/language/rw/admin/settings/advanced.json
trans.sc = public/language/sc/admin/settings/advanced.json
trans.sk = public/language/sk/admin/settings/advanced.json
trans.sl = public/language/sl/admin/settings/advanced.json
trans.sq_AL = public/language/sq-AL/admin/settings/advanced.json
trans.sr = public/language/sr/admin/settings/advanced.json
trans.sv = public/language/sv/admin/settings/advanced.json
trans.th = public/language/th/admin/settings/advanced.json
@@ -2840,6 +2896,7 @@ trans.rw = public/language/rw/admin/settings/cookies.json
trans.sc = public/language/sc/admin/settings/cookies.json
trans.sk = public/language/sk/admin/settings/cookies.json
trans.sl = public/language/sl/admin/settings/cookies.json
trans.sq_AL = public/language/sq-AL/admin/settings/cookies.json
trans.sr = public/language/sr/admin/settings/cookies.json
trans.sv = public/language/sv/admin/settings/cookies.json
trans.th = public/language/th/admin/settings/cookies.json
@@ -2890,6 +2947,7 @@ trans.rw = public/language/rw/admin/settings/general.json
trans.sc = public/language/sc/admin/settings/general.json
trans.sk = public/language/sk/admin/settings/general.json
trans.sl = public/language/sl/admin/settings/general.json
trans.sq_AL = public/language/sq-AL/admin/settings/general.json
trans.sr = public/language/sr/admin/settings/general.json
trans.sv = public/language/sv/admin/settings/general.json
trans.th = public/language/th/admin/settings/general.json
@@ -2940,6 +2998,7 @@ trans.rw = public/language/rw/admin/settings/guest.json
trans.sc = public/language/sc/admin/settings/guest.json
trans.sk = public/language/sk/admin/settings/guest.json
trans.sl = public/language/sl/admin/settings/guest.json
trans.sq_AL = public/language/sq-AL/admin/settings/guest.json
trans.sr = public/language/sr/admin/settings/guest.json
trans.sv = public/language/sv/admin/settings/guest.json
trans.th = public/language/th/admin/settings/guest.json
@@ -2990,6 +3049,7 @@ trans.rw = public/language/rw/admin/settings/pagination.json
trans.sc = public/language/sc/admin/settings/pagination.json
trans.sk = public/language/sk/admin/settings/pagination.json
trans.sl = public/language/sl/admin/settings/pagination.json
trans.sq_AL = public/language/sq-AL/admin/settings/pagination.json
trans.sr = public/language/sr/admin/settings/pagination.json
trans.sv = public/language/sv/admin/settings/pagination.json
trans.th = public/language/th/admin/settings/pagination.json
@@ -3040,6 +3100,7 @@ trans.rw = public/language/rw/admin/settings/reputation.json
trans.sc = public/language/sc/admin/settings/reputation.json
trans.sk = public/language/sk/admin/settings/reputation.json
trans.sl = public/language/sl/admin/settings/reputation.json
trans.sq_AL = public/language/sq-AL/admin/settings/reputation.json
trans.sr = public/language/sr/admin/settings/reputation.json
trans.sv = public/language/sv/admin/settings/reputation.json
trans.th = public/language/th/admin/settings/reputation.json
@@ -3090,6 +3151,7 @@ trans.rw = public/language/rw/admin/settings/tags.json
trans.sc = public/language/sc/admin/settings/tags.json
trans.sk = public/language/sk/admin/settings/tags.json
trans.sl = public/language/sl/admin/settings/tags.json
trans.sq_AL = public/language/sq-AL/admin/settings/tags.json
trans.sr = public/language/sr/admin/settings/tags.json
trans.sv = public/language/sv/admin/settings/tags.json
trans.th = public/language/th/admin/settings/tags.json
@@ -3140,6 +3202,7 @@ trans.rw = public/language/rw/admin/settings/user.json
trans.sc = public/language/sc/admin/settings/user.json
trans.sk = public/language/sk/admin/settings/user.json
trans.sl = public/language/sl/admin/settings/user.json
trans.sq_AL = public/language/sq-AL/admin/settings/user.json
trans.sr = public/language/sr/admin/settings/user.json
trans.sv = public/language/sv/admin/settings/user.json
trans.th = public/language/th/admin/settings/user.json
@@ -3190,6 +3253,7 @@ trans.rw = public/language/rw/admin/settings/chat.json
trans.sc = public/language/sc/admin/settings/chat.json
trans.sk = public/language/sk/admin/settings/chat.json
trans.sl = public/language/sl/admin/settings/chat.json
trans.sq_AL = public/language/sq-AL/admin/settings/chat.json
trans.sr = public/language/sr/admin/settings/chat.json
trans.sv = public/language/sv/admin/settings/chat.json
trans.th = public/language/th/admin/settings/chat.json
@@ -3240,6 +3304,7 @@ trans.rw = public/language/rw/admin/settings/email.json
trans.sc = public/language/sc/admin/settings/email.json
trans.sk = public/language/sk/admin/settings/email.json
trans.sl = public/language/sl/admin/settings/email.json
trans.sq_AL = public/language/sq-AL/admin/settings/email.json
trans.sr = public/language/sr/admin/settings/email.json
trans.sv = public/language/sv/admin/settings/email.json
trans.th = public/language/th/admin/settings/email.json
@@ -3290,6 +3355,7 @@ trans.rw = public/language/rw/admin/settings/group.json
trans.sc = public/language/sc/admin/settings/group.json
trans.sk = public/language/sk/admin/settings/group.json
trans.sl = public/language/sl/admin/settings/group.json
trans.sq_AL = public/language/sq-AL/admin/settings/group.json
trans.sr = public/language/sr/admin/settings/group.json
trans.sv = public/language/sv/admin/settings/group.json
trans.th = public/language/th/admin/settings/group.json
@@ -3340,6 +3406,7 @@ trans.rw = public/language/rw/admin/settings/notifications.json
trans.sc = public/language/sc/admin/settings/notifications.json
trans.sk = public/language/sk/admin/settings/notifications.json
trans.sl = public/language/sl/admin/settings/notifications.json
trans.sq_AL = public/language/sq-AL/admin/settings/notifications.json
trans.sr = public/language/sr/admin/settings/notifications.json
trans.sv = public/language/sv/admin/settings/notifications.json
trans.th = public/language/th/admin/settings/notifications.json
@@ -3390,6 +3457,7 @@ trans.rw = public/language/rw/admin/settings/api.json
trans.sc = public/language/sc/admin/settings/api.json
trans.sk = public/language/sk/admin/settings/api.json
trans.sl = public/language/sl/admin/settings/api.json
trans.sq_AL = public/language/sq-AL/admin/settings/api.json
trans.sr = public/language/sr/admin/settings/api.json
trans.sv = public/language/sv/admin/settings/api.json
trans.th = public/language/th/admin/settings/api.json
@@ -3440,6 +3508,7 @@ trans.rw = public/language/rw/admin/settings/post.json
trans.sc = public/language/sc/admin/settings/post.json
trans.sk = public/language/sk/admin/settings/post.json
trans.sl = public/language/sl/admin/settings/post.json
trans.sq_AL = public/language/sq-AL/admin/settings/post.json
trans.sr = public/language/sr/admin/settings/post.json
trans.sv = public/language/sv/admin/settings/post.json
trans.th = public/language/th/admin/settings/post.json
@@ -3490,6 +3559,7 @@ trans.rw = public/language/rw/admin/settings/sockets.json
trans.sc = public/language/sc/admin/settings/sockets.json
trans.sk = public/language/sk/admin/settings/sockets.json
trans.sl = public/language/sl/admin/settings/sockets.json
trans.sq_AL = public/language/sq-AL/admin/settings/sockets.json
trans.sr = public/language/sr/admin/settings/sockets.json
trans.sv = public/language/sv/admin/settings/sockets.json
trans.th = public/language/th/admin/settings/sockets.json
@@ -3540,6 +3610,7 @@ trans.rw = public/language/rw/admin/settings/uploads.json
trans.sc = public/language/sc/admin/settings/uploads.json
trans.sk = public/language/sk/admin/settings/uploads.json
trans.sl = public/language/sl/admin/settings/uploads.json
trans.sq_AL = public/language/sq-AL/admin/settings/uploads.json
trans.sr = public/language/sr/admin/settings/uploads.json
trans.sv = public/language/sv/admin/settings/uploads.json
trans.th = public/language/th/admin/settings/uploads.json
@@ -3590,6 +3661,7 @@ trans.rw = public/language/rw/admin/settings/web-crawler.json
trans.sc = public/language/sc/admin/settings/web-crawler.json
trans.sk = public/language/sk/admin/settings/web-crawler.json
trans.sl = public/language/sl/admin/settings/web-crawler.json
trans.sq_AL = public/language/sq-AL/admin/settings/web-crawler.json
trans.sr = public/language/sr/admin/settings/web-crawler.json
trans.sv = public/language/sv/admin/settings/web-crawler.json
trans.th = public/language/th/admin/settings/web-crawler.json

View File

@@ -1,3 +1,424 @@
#### v1.19.5 (2022-03-16)
##### Chores
* incrementing version number - v1.19.5 (48d6eb4f)
* update changelog for v1.19.4 (0e6e49b2)
* **deps:**
* bump less from 3.13.1 to 4.1.2 in /install (#9856) (d33485f6)
* bump autoprefixer from 10.4.2 to 10.4.4 in /install (#10403) (90094935)
* update dependency lint-staged to v12.3.6 (0a4522a2)
* update commitlint monorepo to v16.2.3 (0a97015d)
* bump nodebb-plugin-spam-be-gone in /install (#10387) (445e3d70)
* bump connect-redis from 6.1.1 to 6.1.2 in /install (#10391) (145621f7)
* update dependency eslint to v8.11.0 (feaf3068)
* update dependency mocha to v9.2.2 (#10383) (4ffbd78d)
* **i18n:**
* fallback strings for new resources: nodebb.admin-manage-users (2f09c22c)
* fallback strings for new resources: nodebb.admin-manage-privileges, nodebb.admin-manage-users, nodebb.error, nodebb.user (15508bac)
* fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.error (5274a6aa)
##### New Features
* collect hook logs in order to reduce console noise, flush on ajaxify loadScript completion (935704a8)
* add support for PATCH method in api module (4b79dfd2)
* on online users page override timeago cutoff to 24 hours (7c946570)
* ability to mute users (be6bbabd)
* min:rep:upvote, and other limits similar to downvotes (3414a23b)
* post-queue hooks, closes #10381 (2056ac04)
##### Bug Fixes
* topic events if there is a blocked user in topic (3935a86b)
* topic events disappearing if there are queued posts (2808c952)
* #10393, move 'Create User' control to overflow menu (cd687cff)
* don't append to history on refresh or ajaxify to same url (c83987bd)
* global privs (7d063d73)
* #10384 -- mixed up sizes for fallback touch icons (cb113208)
* #10377, remove logging of env vars (997ab7d4)
* **deps:**
* update dependency postcss to v8.4.12 (#10396) (bdbc168d)
* update dependency sharp to v0.30.3 (#10389) (b4213859)
##### Refactors
* closes #10301 (c8e986d6)
##### Tests
* skip i18n tests if the github event is a pull request (e578c605)
* fix middleware test (24c1f879)
* fix category tests (6344c3b6)
* fix one more test (a5511425)
#### v1.19.4 (2022-03-09)
##### Chores
* incrementing version number - v1.19.4 (67282057)
* delay `filter:email.send` removal to v2.0.0 (83fd4311)
* up persona (c23b2089)
* incrementing version number - v1.19.3 (09cb11c8)
* update changelog for v1.19.3 (0b48ec54)
* **deps:**
* bump postcss from 8.4.7 to 8.4.8 in /install (#10372) (d7a4ae1f)
* update dependency lint-staged to v12.3.5 (517ae926)
* bump nodebb-plugin-spam-be-gone in /install (81e7ca20)
* update dependency eslint to v8.10.0 (e83c8be2)
* bump postcss from 8.4.6 to 8.4.7 in /install (52ee5ce8)
* bump json2csv from 5.0.6 to 5.0.7 in /install (e44cbb24)
* update dependency smtp-server to v3.10.0 (67e4df78)
* update dependency mocha to v9.2.1 (00eebf10)
* bump prompt from 1.2.1 to 1.2.2 in /install (21913b5b)
* bump express from 4.17.2 to 4.17.3 in /install (5321ba4d)
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.flags (a5fe8350)
* fallback strings for new resources: nodebb.topic (dc0f9a73)
##### New Features
* add hook filter:posts.getUserInfoForPosts (df46ab48)
* add translateKeys (e841d59a)
* post auto flagging on downvotes #10029 (#10367) (62187caa)
* closes #10324, show recently online users as well (eac9cd03)
* resolve paths for staticDirs as well (e0b1c374)
* ability to go through your posts in a topic (b517b376)
* **sorted-list:** add new client-side hook `filter:settings.sorted-list.loadItem` (92d613e4)
##### Bug Fixes
* apply some DRY (a3b4c668)
* optional params (e9a86cb9)
* #10374, use quick search in setting (70e613f8)
* #10366, remove dupe /files (371b4658)
* always show self on /users?online (56345777)
* db call (21cd1e61)
* lastonline timestamps and display for guests (cc665fd6)
* #10357 (7ee4e4e0)
* #10358, bad uploads path (5479f364)
* #10360, only take top level posts (37ef8366)
* #10354, flag actions regression (fec907d9)
* dont overwrite asset_base_url if its set (0e12f82d)
* allow calls to api module without a defined payload (914733e4)
* #10334, use the correct env vars for web install (6b22d0e1)
* persona test fail (10a5901e)
* #10316, fix quoting regression (0b813d60)
* #10322 (5694e62e)
* #10329, select elements in sorted-list not showing proper values (1fa41342)
* allow translation keys in `label` attributes (52836f3a)
* don't load setup.json into nconf if setup.json doesn't exist (6e156daa)
* regression caused by 94b79ce4024f72a3eee2cfa06b05d8f66898149f (4164898d)
* **deps:**
* update dependency nodebb-plugin-markdown to v9.0.10 (bcb68ee9)
* update dependency mongodb to v4.4.1 (#10364) (4b730df9)
* update dependency nodebb-theme-persona to v11.4.2 (#10361) (4d590f65)
* update dependency body-parser to v1.19.2 (#10298) (c75714b7)
* update dependency sharp to v0.30.2 (#10359) (1a6c2c55)
* update dependency nodebb-plugin-mentions to v3.0.7 (#10355) (3e5a0f0d)
* update dependency nodebb-plugin-2factor to v3.0.5 (f30c65a4)
* update dependency nodebb-theme-persona to v11.4.1 (#10337) (b84e61d5)
* update dependency nodebb-theme-persona to v11.4.0 (#10325) (244d8801)
* update dependency nodebb-plugin-mentions to v3.0.6 (#10328) (31cbff19)
* update dependency nodebb-plugin-dbsearch to v5.1.3 (#10330) (1c1062e1)
* update dependency nodebb-plugin-markdown to v9.0.8 (#10327) (c17b9bd4)
* update dependency mongodb to v4.4.0 (#10319) (afd2993d)
* update dependency nodebb-plugin-emoji to v3.5.17 (#10314) (04900291)
* update dependency nodebb-plugin-dbsearch to v5.1.2 (#10313) (0e30362b)
* update dependency nodebb-widget-essentials to v5.0.9 (#10307) (5666c103)
* update dependency nodebb-widget-essentials to v5.0.8 (#10306) (636f1baf)
* **sorted-list:**
* call loadItem hook on add/edit items as well as on item retrieval, refactor edit to call parse() (1c8d1d23)
* only call `.stripHTMLTags()` on string values (fb4f89f3)
##### Refactors
* show a louder deprecation notice, alert once for each hook, not per plugin per hook (93b80f17)
* move header unread code to separate module (40230725)
* remove code that doesn't do anything (4a1e761a)
* wrap around if at end (3acd2ac8)
* change lang string (94961196)
##### Tests
* possible fix random psql test failure (50ed3a32)
* log configJSON (9db90a30)
* check contents of config.json in tests (32f69301)
#### v1.19.3 (2022-02-16)
##### Chores
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-uploads (4043f179)
* fallback strings for new resources: nodebb.user (775d9077)
* **deps:**
* update dependency lint-staged to v12.3.4 (9577ef8d)
* update commitlint monorepo to v16.2.1 (2290cee5)
* update dependency eslint to v8.9.0 (763cd193)
* remove punycode dep (e9cb1452)
* incrementing version number - v1.19.2 (e49b31f0)
* update changelog for v1.19.2 (f012984d)
##### New Features
* delete diffs on post purge, closes #10291 (e9e48a75)
* closes #10296 (58b5781c)
* deleting a user upload dissociates from posts, and vice versa (d5ed8736)
* #10276, dont change/revert theme if its current (398d25c2)
##### Bug Fixes
* #10302, fix regression (503e27f7)
* one last try (9205169f)
* doggy.gif (2f64d633)
* one more fix (cfdfbf32)
* dupe key errors (770fcd9e)
* #10292, delete missing fields (dbf7a458)
* local deleteUploads() method in `src/user/delete.js` to call `User.deleteUpload()` (b9edee14)
* #10144, automatically delete uploads from disk on post purge, ACP option to keep uploads on disk if desired (84dfda59)
* four-space indents in package.json (9aa3e442)
* #10289, remove lodash dependency in src/cli/package-install.js (81fa2e22)
* non-functional upgrade script (1c7fb8fe)
* language keys (350052ec)
* #10273, properly calculate item count for best/controversial (d70ce3a9)
* **deps:**
* update dependency nodebb-plugin-emoji to v3.5.16 (#10297) (b47ca86d)
* update dependency nodebb-plugin-markdown to v9.0.7 (#10293) (5b0d4a8e)
* update dependency nodebb-plugin-emoji to v3.5.14 (#10295) (7af057fa)
* update dependency nodebb-plugin-mentions to v3.0.5 (#10294) (55a98183)
* update dependency winston to v3.6.0 (#10285) (22da7a10)
* update dependency nodebb-plugin-markdown to v9.0.6 (3225a1af)
* update dependency nodebb-plugin-spam-be-gone to v0.7.13 (#10280) (3dc108d3)
* update dependency nodebb-plugin-emoji to v3.5.12 (#10279) (2c0b6322)
* update dependency nodebb-plugin-emoji to v3.5.11 (#10274) (766ef4e5)
##### Refactors
* lazy load slugify (946d351f)
* .deleteUpload() to accept array of paths (7ef9c7d2)
* fix user uploads paths, and associate uid with user uploads (ea36016d)
* change the post uploads' hash seeds to have the `files/` prefix (6489e9fd)
* abstract some common code out to local utility methods (aad0c5fd)
* move post upload tests to its own file (d92da828)
* remove extra zset remove, closes #10277 (489c0d30)
##### Code Style Changes
* linting errors (5d7e1ebc)
##### Tests
* fix topic thumb tests and topic thumbs to work properly with post upload assoc. (fb78570c)
* user uploads.js tests (8c2752ba)
* testing user upload methods, already fixed one bug (11275d68)
#### v1.19.2 (2022-02-09)
##### Chores
* up persona (14ecafb6)
* up markdown (8a4b7dc4)
* add missing quote (b98758d3)
* use source and current local vars, + docs (9e4147f0)
* up persona (1eaae1d0)
* up emoji (106ef7cf)
* persona (3b4cf971)
* persona (78db61cf)
* up deps (c7a56439)
* add punycode dependency (452f29c0)
* up persona (d50d4a9e)
* up persona (458606bc)
* up persona (cfe53305)
* up persona (f29bed27)
* up packages (b4a4e60e)
* up persona (3e30b6cd)
* incrementing version number - v1.19.1 (7f450268)
* update changelog for v1.19.1 (55df683a)
* **deps:**
* bump ioredis from 4.28.4 to 4.28.5 in /install (#10254) (b496ad44)
* bump nodebb-widget-essentials in /install (#10219) (b71025ce)
* update dependency lint-staged to v12.3.3 (6ba25557)
* update dependency eslint to v8.8.0 (153693e0)
* bump nodebb-theme-persona in /install (#10199) (2db54e67)
* update dependency lint-staged to v12.3.2 (814cb66b)
* update dependency mocha to v9.2.0 (05e2b354)
* bump helmet from 5.0.1 to 5.0.2 in /install (1f037bf6)
* update dependency lint-staged to v12.3.1 (ac244af3)
* update dependency lint-staged to v12.3.0 (7060837b)
* bump helmet from 4.6.0 to 5.0.1 in /install (5d3900dc)
* **i18n:**
* fallback strings for new resources: nodebb.modules (a71b8e59)
* fallback strings for new resources: nodebb.global, nodebb.pages (aa812f03)
* fallback strings for new resources: nodebb.users (70eeb204)
* fallback strings for new resources: nodebb.admin-settings-email (e9588ca7)
* fallback strings for new resources: nodebb.admin-settings-advanced (2ec4e31f)
##### Documentation Changes
* openapi spec for new route (9b912db7)
* some tweaks to cli help (c869d7db)
##### New Features
* handle array of keys in psql exists for zsets (5143ca33)
* upgrade script to clean up leftover :thumb zsets (0ac28435)
* more tests for ensuring downvoted posts are added to the :votes zset (1b8eeaf8)
* upgrade script to store downvotes posts in the user :votes sorted set (cf88483f)
* new accounts route to show most downvoted ('controversial') posts (5afd5de0)
* v3 user email tests (aa8914a1)
* allow gif profile images, sharp 0.30.0 supports gifs (7f1c4477)
* detect alternative package managers based on lockfile (8ba9e67c)
* new language key for user search in chat (766ad6b7)
* remove colors in favour of chalk (#10142) (cf8f62ae)
* add upload helper module for drag&drop, paste, closes #6388 (cf5c0968)
* no more sending emails to banned users, + feature flag (ea27eaf1)
* push the theme name into body class (e1e1d522)
* add ACP toggles for COEP and CORP headers (d91aeea3)
##### Bug Fixes
* **deps:**
* update dependency sharp to v0.30.1 (#10270) (8e52abe8)
* update dependency nodebb-widget-essentials to v5.0.7 (#10269) (6c0f7034)
* update dependency nodebb-theme-persona to v11.3.37 (#10265) (78d48c37)
* update dependency ioredis to v4.28.5 (#10252) (721a70c0)
* update dependency connect-redis to v6.1.1 (#10260) (a10e4940)
* update dependency nodebb-theme-persona to v11.3.36 (#10253) (0e2a4a2d)
* update dependency nodebb-theme-persona to v11.3.35 (#10251) (6465e012)
* update dependency pg-cursor to v2.7.3 (#10244) (e6185883)
* update dependency nodebb-theme-persona to v11.3.33 (#10248) (32477676)
* update dependency nodebb-theme-vanilla to v12.1.17 (#10249) (8f5b5ef1)
* update dependency nodebb-plugin-emoji to v3.5.9 (#10250) (1eb0939e)
* update dependency sanitize-html to v2.7.0 (#10246) (845717b8)
* update dependency pg to v8.7.3 (#10243) (531a3b1e)
* update dependency connect-redis to v6.1.0 (#10245) (c343b631)
* update dependency nodebb-theme-persona to v11.3.31 (#10241) (f1bed441)
* update dependency nodebb-plugin-composer-default to v7.0.20 (#10231) (a4702959)
* update dependency nodebb-theme-persona to v11.3.30 (#10232) (916a0db3)
* update dependency nodebb-plugin-emoji to v3.5.8 (#10239) (ebf4e12b)
* update dependency sharp to v0.30.0 (#10221) (2924cd3b)
* update dependency ioredis to v4.28.4 (#10224) (cda07cb7)
* update dependency clipboard to v2.0.10 (2c605d1c)
* update dependency sitemap to v7.1.1 (1bf938da)
* update dependency winston to v3.5.1 (b0dd68bb)
* pin dependency punycode to 2.1.1 (e7ba24c5)
* update dependency postcss to v8.4.6 (322f1033)
* update dependency nodebb-plugin-markdown to v9 (7d5080cd)
* update dependency ace-builds to v1.4.14 (#10200) (c50f6512)
* update dependency winston to v3.5.0 (#10202) (a7f142be)
* update dependency clipboard to v2.0.9 (#10203) (c6164e48)
* remove extraneous devDependencies on package merge (a2c7d69e)
* #10257, topic thumbs not deleting on topic deletion (0f788b8e)
* #10256, allow quote tooltip on mobile (fb3f4f9a)
* #10255, create verified/unverified groups on install (08f2a050)
* controversial posts/bests posts not showing anything (079c487d)
* regression in package.json merging logic that caused extraneous packages to not be removed (d34471f6)
* #10229, package merging should deep merge nested objects (689c125c)
* use fs.promises (a0a38706)
* bug where .reduce() exploded due to no initial value, if input value was an empty array (5cff6e3f)
* https://github.com/NodeBB/NodeBB/issues/10242 (dcb201df)
* missing early return (ad635175)
* handle case where email is explicitly passed into user.create, and thus is set in user hash, but confirmation request may have expired (936562c3)
* #10236, don't check email:uid, instead verify an email confirmation is active (0322e984)
* don't crash if requestedFields is undefined (98839108)
* a missed invocation of colors (c3d926ff)
* proactively guard against homograph characters in website values (fa7dcdb9)
* #10208, don't use leading slash in directory names (1d01741a)
* don't crash if quick search doesn't return posts (93d18383)
* properly unregister hooks in emailer tests (fc2c755c)
* email ban tests (dee9cca3)
* update usage of emailer.send to not catch (as errors are no longer thrown), email error throttler (d4e5259f)
* derp (b3f7b742)
* bug where page wouldn't complete loading if data.scripts was emptied (578145ac)
* use escaped group names in invite modal (2a89ad82)
* https://github.com/julianlam/nodebb-plugin-mentions/issues/170 (dc6e629d)
* #10197, fix relative path urls for dashboard pages (92a249c9)
* actually, CORP is ok (df8c8ad8)
* update defaults for corp and coep to be more permissive, for now, to be reverted for v1.20.0 (4467299e)
* if no group label is selected, select no group title option (94da5026)
##### Other Changes
* remove unused require (6be330f2)
##### Performance Improvements
* increase batch size (b548083b)
##### Refactors
* update chat plcaeholder message (fbd9ba79)
* updated package-install.js exports style, new exported method 'getPackageManager' for use in cases where nconf is unreliable, fix bug where nconf was not correctly set up in cli tools, proper installation of dev dependencies based on global env value (9a169085)
* emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent (f0e32ff1)
* sorted-list .get() to be async fn (89b559a2)
##### Tests
* fix occasional test failure (2dbdd181)
* add test to verify that a sorted set is automatically deleted if its last element is removed (#10261) (60680876)
* stricter isValidationPending check (d1b1f50b)
* fix derp (680e36da)
* up acp plugin page timeout (a214f9a6)
#### v1.19.1 (2022-01-21)
##### Chores
* **deps:**
* bump compare-versions from 4.1.2 to 4.1.3 in /install (#10154) (4a5182e4)
* update dependency lint-staged to v12.2.2 (f090de36)
* update dependency @commitlint/cli to v16.1.0 (44d81a95)
* update dependency lint-staged to v12.2.1 (857ac480)
* update dependency @commitlint/cli to v16.0.3 (9c63d076)
* update dependency lint-staged to v12.2.0 (1a0c117d)
* update dependency eslint to v8.7.0 (8abaf3f6)
* update dependency mocha to v9.1.4 (f5ad173b)
* up persona (89871d71)
* add test.sh to gitignore (d7796f0b)
* delete test script (250274c7)
* remove unused lang key #10180 (2fe91e36)
* incrementing version number - v1.19.0 (18b0a29f)
* update changelog for v1.19.0 (c8f1bc53)
* **i18n:**
* fallback strings for new resources: nodebb.admin-settings-user (78cd6de7)
* fallback strings for new resources: nodebb.user (3ec9197c)
* fallback strings for new resources: nodebb.email (354aa1a5)
##### New Features
* revert label js change (1c80adf1)
* hide all categories link on flags filters (e9d0db28)
* nicer error handling for bad jwt in unsubscribe template (31ea2266)
##### Bug Fixes
* **deps:**
* update dependency jquery-ui to v1.13.1 (#10186) (55b3a355)
* update dependency multiparty to v4.2.3 (#10188) (7fa2ba70)
* update dependency nodebb-theme-persona to v11.3.15 (#10155) (e03d4747)
* update dependency mongodb to v4.3.1 (#10178) (693ca1f1)
* update dependency nodebb-plugin-composer-default to v7.0.18 (#10164) (2c75cce6)
* urls used when recent/unread/popular/top is used as the homepage (28359665)
* mark unread button showing the selected category (fdfafb44)
* catch exceptions from sendNotifications (c1ec2047)
* multiple cid filter on flags page (3e8cb732)
* post indices if there is a blocked user in topic (f9279b63)
* dont add duplicate link backs (3b72ff87)
* #10175, fix topic linkbacks duplicating on post edit (b06c6329)
* #10173, don't show optional message if email is required (d1eb21c5)
* #10172, fix postqueue accept/reject notification text (6a75ed50)
* #10167, fix regression prevent guest post (4799efc7)
* CSRF handler to go back to saving in session (#10159) (e9ee843b)
* #10158, fix extra padding (03f5cbcc)
##### Refactors
* add method to error messages (c9fabb0e)
##### Tests
* add failing guest csrf test (#10169) (10949184)
#### v1.19.0 (2022-01-13)
##### Breaking Changes

View File

@@ -22,4 +22,4 @@ ENV NODE_ENV=production \
EXPOSE 4567
CMD node ./nodebb build ; node ./nodebb start
CMD test -n "${SETUP}" && ./nodebb setup || node ./nodebb build; node ./nodebb start

View File

@@ -105,9 +105,9 @@ module.exports = function (grunt) {
'app.js',
'install/*.js',
'src/**/*.js',
'public/src/modules/translator.js',
'public/src/modules/helpers.js',
'public/src/utils.js',
'public/src/modules/translator.common.js',
'public/src/modules/helpers.common.js',
'public/src/utils.common.js',
serverUpdated,
'!src/upgrades/**',
],
@@ -137,9 +137,10 @@ module.exports = function (grunt) {
});
const build = require('./src/meta/build');
if (!grunt.option('skip')) {
await build.build(true);
await build.build(true, { webpack: false });
}
run();
await build.webpack({ watch: true });
done();
});
@@ -183,7 +184,7 @@ module.exports = function (grunt) {
return run();
}
require('./src/meta/build').build([compiling], (err) => {
require('./src/meta/build').build([compiling], { webpack: false }, (err) => {
if (err) {
winston.error(err.stack);
}

2
app.js
View File

@@ -38,7 +38,7 @@ global.env = process.env.NODE_ENV || 'production';
// Alternate configuration file support
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'));
const configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('database'));
const prestart = require('./src/prestart');

View File

@@ -77,9 +77,12 @@
"reputation:disabled": 0,
"downvote:disabled": 0,
"disableSignatures": 0,
"upvotesPerDay": 20,
"upvotesPerUserPerDay": 6,
"downvotesPerDay": 10,
"downvotesPerUserPerDay": 3,
"min:rep:downvote": 0,
"min:rep:upvote": 0,
"min:rep:flag": 0,
"min:rep:profile-picture": 0,
"min:rep:cover-picture": 0,
@@ -87,6 +90,7 @@
"min:rep:aboutme": 0,
"min:rep:signature": 0,
"flags:limitPerTarget": 0,
"flags:autoFlagOnDownvoteThreshold": 0,
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-reply": "notification",
@@ -141,11 +145,14 @@
"sendValidationEmail": 1,
"includeUnverifiedEmails": 0,
"emailPrompt": 1,
"sendEmailToBanned": 0,
"requireEmailAddress": 0,
"inviteExpiration": 7,
"dailyDigestFreq": "off",
"digestHour": 17,
"passwordExpiryDays": 0,
"cross-origin-embedder-policy": 0,
"cross-origin-resource-policy": "same-origin",
"hsts-maxage": 31536000,
"hsts-subdomains": 0,
"hsts-preload": 0,

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.19.0",
"version": "2.0.0-beta.1",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,18 +29,19 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"ace-builds": "1.4.13",
"ace-builds": "1.4.14",
"archiver": "5.3.0",
"async": "3.2.3",
"autoprefixer": "10.4.2",
"autoprefixer": "10.4.4",
"bcryptjs": "2.4.3",
"benchpressjs": "2.4.3",
"body-parser": "1.19.1",
"body-parser": "1.19.2",
"bootbox": "5.5.2",
"bootstrap": "3.4.1",
"chalk": "4.1.2",
"chart.js": "2.9.4",
"cli-graph": "3.2.2",
"clipboard": "2.0.8",
"clipboard": "2.0.10",
"colors": "1.4.0",
"commander": "7.2.0",
"compare-versions": "4.1.3",
@@ -49,18 +50,19 @@
"connect-mongo": "4.6.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "7.0.0",
"connect-redis": "6.0.0",
"connect-redis": "6.1.3",
"cookie-parser": "1.4.6",
"cron": "1.8.2",
"cropperjs": "1.5.12",
"csurf": "1.11.0",
"daemon": "1.1.0",
"diff": "5.0.0",
"express": "4.17.2",
"express": "4.17.3",
"express-session": "1.17.2",
"express-useragent": "1.0.15",
"file-loader": "6.2.0",
"graceful-fs": "4.2.9",
"helmet": "4.6.0",
"helmet": "5.0.2",
"html-to-text": "8.1.0",
"ipaddr.js": "2.0.1",
"jquery": "3.6.0",
@@ -69,62 +71,61 @@
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.13.1",
"jsesc": "3.0.2",
"json2csv": "5.0.6",
"json2csv": "5.0.7",
"jsonwebtoken": "8.5.1",
"less": "3.13.1",
"less": "4.1.2",
"lodash": "4.17.21",
"logrotate-stream": "0.2.8",
"lru-cache": "6.0.0",
"material-design-lite": "1.3.0",
"mime": "3.0.0",
"mkdirp": "1.0.4",
"mongodb": "4.3.1",
"mongodb": "4.4.1",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"@nodebb/bootswatch": "3.4.2",
"nconf": "0.11.3",
"nodebb-plugin-2factor": "3.0.4",
"nodebb-plugin-composer-default": "7.0.18",
"nodebb-plugin-dbsearch": "5.1.1",
"nodebb-plugin-emoji": "3.5.4",
"nodebb-plugin-2factor": "https://github.com/NodeBB/nodebb-plugin-2factor#webpack5",
"nodebb-plugin-composer-default": "https://github.com/nodebb/nodebb-plugin-composer-default.git#webpack5",
"nodebb-plugin-dbsearch": "5.1.3",
"nodebb-plugin-emoji": "https://github.com/NodeBB/nodebb-plugin-emoji.git#webpack5",
"nodebb-plugin-emoji-android": "2.0.5",
"nodebb-plugin-markdown": "8.14.6",
"nodebb-plugin-mentions": "3.0.4",
"nodebb-plugin-spam-be-gone": "0.7.12",
"nodebb-plugin-markdown": "https://github.com/julianlam/nodebb-plugin-markdown.git#webpack5",
"nodebb-plugin-mentions": "3.0.7",
"nodebb-plugin-spam-be-gone": "https://github.com/akhoury/nodebb-plugin-spam-be-gone.git#webpack5",
"nodebb-rewards-essentials": "0.2.1",
"nodebb-theme-lavender": "5.3.2",
"nodebb-theme-persona": "11.3.18",
"nodebb-theme-slick": "1.4.23",
"nodebb-theme-vanilla": "12.1.16",
"nodebb-widget-essentials": "5.0.4",
"nodemailer": "6.7.2",
"nodebb-theme-lavender": "https://github.com/nodebb/nodebb-theme-lavender.git#webpack5",
"nodebb-theme-persona": "https://github.com/nodebb/nodebb-theme-persona.git#webpack5",
"nodebb-theme-slick": "https://github.com/pichalite/nodebb-theme-slick.git#webpack5",
"nodebb-theme-vanilla": "12.1.17",
"nodebb-widget-essentials": "https://github.com/nodebb/nodebb-widget-essentials.git#webpack5",
"nodemailer": "6.7.3",
"nprogress": "0.2.0",
"passport": "0.5.2",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.7.1",
"pg-cursor": "2.7.1",
"postcss": "8.4.5",
"pg": "8.7.3",
"pg-cursor": "2.7.3",
"postcss": "8.4.12",
"postcss-clean": "1.2.0",
"prompt": "1.2.1",
"ioredis": "4.28.3",
"prompt": "1.2.2",
"ioredis": "4.28.5",
"request": "2.88.2",
"request-promise-native": "1.0.9",
"requirejs": "2.3.6",
"rimraf": "3.0.2",
"rss": "1.2.2",
"sanitize-html": "2.6.1",
"sanitize-html": "2.7.0",
"semver": "7.3.5",
"serve-favicon": "2.5.0",
"sharp": "0.29.3",
"sitemap": "7.1.0",
"sharp": "0.30.3",
"sitemap": "7.1.1",
"slideout": "1.0.1",
"socket.io": "4.4.1",
"socket.io-adapter-cluster": "1.0.1",
"socket.io-client": "4.4.1",
"@socket.io/redis-adapter": "7.1.0",
"sortablejs": "1.14.0",
"sortablejs": "1.15.0",
"spdx-license-list": "6.4.0",
"spider-detector": "2.0.0",
"textcomplete": "0.18.2",
@@ -135,30 +136,32 @@
"uglify-es": "3.3.9",
"validator": "13.7.0",
"visibilityjs": "2.0.2",
"winston": "3.4.0",
"webpack": "^5.68.0",
"webpack-merge": "5.8.0",
"winston": "3.6.0",
"xml": "1.0.1",
"xregexp": "5.1.0",
"yargs": "17.3.1",
"yargs": "17.4.0",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.0.3",
"@commitlint/cli": "16.1.0",
"@commitlint/config-angular": "16.0.0",
"@commitlint/cli": "16.2.3",
"@commitlint/config-angular": "16.2.3",
"coveralls": "3.1.1",
"eslint": "8.7.0",
"eslint": "8.11.0",
"eslint-config-nodebb": "0.1.1",
"eslint-plugin-import": "2.25.4",
"grunt": "1.4.1",
"grunt-contrib-watch": "1.1.0",
"husky": "7.0.4",
"jsdom": "19.0.0",
"lint-staged": "12.2.2",
"mocha": "9.1.4",
"lint-staged": "12.3.7",
"mocha": "9.2.2",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "15.1.0",
"smtp-server": "3.9.0"
"smtp-server": "3.10.0"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"

View File

@@ -8,7 +8,7 @@ const path = require('path');
const childProcess = require('child_process');
const less = require('less');
const uglify = require('uglify-es');
const webpack = require('webpack');
const nconf = require('nconf');
const Benchpress = require('benchpressjs');
@@ -46,16 +46,6 @@ winston.configure({
});
const web = module.exports;
const scripts = [
'node_modules/jquery/dist/jquery.js',
'node_modules/xregexp/xregexp-all.js',
'public/src/modules/slugify.js',
'public/src/utils.js',
'public/src/installer/install.js',
'node_modules/zxcvbn/dist/zxcvbn.js',
];
let installing = false;
let success = false;
let error = false;
@@ -68,6 +58,8 @@ web.install = async function (port) {
winston.info(`Launching web installer on port ${port}`);
app.use(express.static('public', {}));
app.use('/assets', express.static(path.join(__dirname, '../build/webpack'), {}));
app.engine('tpl', (filepath, options, callback) => {
filepath = filepath.replace(/\.tpl$/, '.js');
@@ -82,7 +74,7 @@ web.install = async function (port) {
await Promise.all([
compileTemplate(),
compileLess(),
compileJS(),
runWebpack(),
copyCSS(),
loadDefaults(),
]);
@@ -93,6 +85,13 @@ web.install = async function (port) {
}
};
async function runWebpack() {
const util = require('util');
const webpackCfg = require('../webpack.installer');
const compiler = webpack(webpackCfg);
const webpackRun = util.promisify(compiler.run).bind(compiler);
await webpackRun();
}
function launchExpress(port) {
server = app.listen(port, () => {
@@ -113,7 +112,7 @@ function ping(req, res) {
}
function welcome(req, res) {
const dbs = ['redis', 'mongo', 'postgres'];
const dbs = ['mongo', 'redis', 'postgres'];
const databases = dbs.map((databaseName) => {
const questions = require(`../src/database/${databaseName}`).questions.filter(question => question && !question.hideOnWebInstall);
@@ -146,29 +145,27 @@ function install(req, res) {
}
req.setTimeout(0);
installing = true;
const setupEnvVars = nconf.get();
for (const [key, value] of Object.entries(req.body)) {
if (!process.env.hasOwnProperty(key)) {
setupEnvVars[key.replace(':', '__')] = value;
}
}
// Flatten any objects in setupEnvVars
const pushToRoot = function (parentKey, key) {
setupEnvVars[`${parentKey}__${key}`] = setupEnvVars[parentKey][key];
const database = nconf.get('database') || req.body.database || 'mongo';
const setupEnvVars = {
...process.env,
NODEBB_URL: nconf.get('url') || req.body.url || (`${req.protocol}://${req.get('host')}`),
NODEBB_PORT: nconf.get('port') || 4567,
NODEBB_ADMIN_USERNAME: nconf.get('admin:username') || req.body['admin:username'],
NODEBB_ADMIN_PASSWORD: nconf.get('admin:password') || req.body['admin:password'],
NODEBB_ADMIN_EMAIL: nconf.get('admin:email') || req.body['admin:email'],
NODEBB_DB: database,
NODEBB_DB_HOST: nconf.get(`${database}:host`) || req.body[`${database}:host`],
NODEBB_DB_PORT: nconf.get(`${database}:port`) || req.body[`${database}:port`],
NODEBB_DB_USER: nconf.get(`${database}:username`) || req.body[`${database}:username`],
NODEBB_DB_PASSWORD: nconf.get(`${database}:password`) || req.body[`${database}:password`],
NODEBB_DB_NAME: nconf.get(`${database}:database`) || req.body[`${database}:database`],
NODEBB_DB_SSL: nconf.get(`${database}:ssl`) || req.body[`${database}:ssl`],
defaultPlugins: JSON.stringify(nconf.get('defaultplugins') || nconf.get('defaultPlugins') || []),
};
for (const [parentKey, value] of Object.entries(setupEnvVars)) {
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
Object.keys(value).forEach(key => pushToRoot(parentKey, key));
delete setupEnvVars[parentKey];
} else if (Array.isArray(value)) {
setupEnvVars[parentKey] = JSON.stringify(value);
}
}
winston.info('Starting setup process');
winston.info(setupEnvVars);
launchUrl = setupEnvVars.url;
launchUrl = setupEnvVars.NODEBB_URL;
const child = require('child_process').fork('app', ['--setup'], {
env: setupEnvVars,
@@ -257,23 +254,6 @@ async function compileLess() {
}
}
async function compileJS() {
let code = '';
for (const srcPath of scripts) {
// eslint-disable-next-line no-await-in-loop
const buffer = await fs.promises.readFile(path.join(__dirname, '..', srcPath));
code += buffer.toString();
}
const minified = uglify.minify(code, {
compress: false,
});
if (!minified.code) {
throw new Error('[[error:failed-to-minify]]');
}
await fs.promises.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code);
}
async function copyCSS() {
const src = await fs.promises.readFile(
path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8'
@@ -284,12 +264,15 @@ async function copyCSS() {
async function loadDefaults() {
const setupDefaultsPath = path.join(__dirname, '../setup.json');
try {
await fs.promises.access(setupDefaultsPath, fs.constants.F_OK + fs.constants.R_OK);
// eslint-disable-next-line no-bitwise
await fs.promises.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK);
} catch (err) {
// setup.json not found or inaccessible, proceed with no defaults
if (err.code !== 'ENOENT') {
throw err;
}
return;
}
winston.info('[installer] Found setup.json, populating default values');
nconf.file({

View File

@@ -10,6 +10,7 @@
"upload-files": "Upload Files",
"signature": "Signature",
"ban": "Ban",
"mute": "Mute",
"invite": "Invite",
"search-content": "Search Content",
"search-users": "Search Users",

View File

@@ -18,7 +18,8 @@
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
"invite": "Invite",
"create": "Create User",
"invite": "Invite by Email",
"new": "New User",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
@@ -62,7 +63,7 @@
"create.password": "Password",
"create.password-confirm": "Confirm Password",
"temp-ban.length": "Ban Length",
"temp-ban.length": "Length",
"temp-ban.reason": "Reason <span class=\"text-muted\">(Optional)</span>",
"temp-ban.hours": "Hours",
"temp-ban.days": "Days",

View File

@@ -15,6 +15,9 @@
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"headers.coep": "Cross-Origin-Embedder-Policy",
"headers.coep-help": "When enabled (default), will set the header to <code>require-corp</code>",
"headers.corp": "Cross-Origin-Resource-Policy",
"hsts": "Strict Transport Security",
"hsts.enabled": "Enabled HSTS (recommended)",
"hsts.maxAge": "HSTS Max Age",

View File

@@ -43,5 +43,6 @@
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned": "Send emails to users even if they have been banned"
}

View File

@@ -4,6 +4,9 @@
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
"upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
@@ -18,5 +21,6 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned"
}

View File

@@ -2,6 +2,7 @@
"posts": "المشاركات",
"private": "جعل الملفات التي تم رفعها خاصة",
"strip-exif-data": "Strip EXIF Data",
"preserve-orphaned-uploads": "Keep uploaded files on disk after a post is purged",
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",

View File

@@ -107,6 +107,9 @@
"already-bookmarked": "You have already bookmarked this post",
"already-unbookmarked": "You have already unbookmarked this post",
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"cant-mute-other-admins": "You can't mute other admins!",
"user-muted-for-hours": "You have been muted, you will be able to post in %1 hour(s)",
"user-muted-for-minutes": "You have been muted, you will be able to post in %1 minute(s)",
"cant-make-banned-users-admin": "You can't make banned users admin.",
"cant-remove-last-admin": "رجاءًا ، أضف مدير أخر قبل حذف صلاحيات الإدارة من حسابك.",
"account-deletion-disabled": "Account deletion is disabled",
@@ -154,19 +157,22 @@
"already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
"not-enough-reputation-min-rep-website": "You do not have enough reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You do not have enough reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"not-enough-reputation-to-upvote": "You need %1 reputation to upvote",
"not-enough-reputation-to-downvote": "You need %1 reputation to downvote",
"not-enough-reputation-to-flag": "You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website": "You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote": "You cannot vote on your own post",
"too-many-upvotes-today": "You can only upvote %1 times a day",
"too-many-upvotes-today-user": "You can only upvote a user %1 times a day",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",

View File

@@ -81,5 +81,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)"
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -23,7 +23,7 @@
"close": "أغلق",
"pagination": "الصفحات",
"pagination.out_of": "%1 من %2",
"pagination.enter_index": "أدخل الرقم التسلسلي",
"pagination.enter_index": "Go to post index",
"header.admin": "مدير النظام",
"header.categories": "الأقسام",
"header.recent": "حديث",
@@ -56,6 +56,7 @@
"posts": "المشاركات",
"x-posts": "%1 posts",
"best": "الأفضل",
"controversial": "Controversial",
"votes": "Votes",
"x-votes": "%1 votes",
"voters": "Voters",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",

View File

@@ -54,6 +54,7 @@
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"account/controversial": "Controversial posts made by %1",
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"account/sessions": "Login Sessions",

View File

@@ -181,5 +181,7 @@
"timeago_earlier": "%1 earlier",
"first-post": "First post",
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Post quick reply"
}

View File

@@ -12,6 +12,8 @@
"ban_account": "حظر الحساب",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "إزالة حظر الحساب",
"mute_account": "Mute Account",
"unmute_account": "Unmute Account",
"delete_account": "حذف الحساب",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
@@ -105,7 +107,7 @@
"has_no_ignored_topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
"has_no_upvoted_posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
"has_no_downvoted_posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
"has_no_voted_posts": "هذا المستخدم لا يمتلك اية مشاركات تم التصويت عليها",
"has_no_controversial_posts": "This user does not have any downvoted posts yet.",
"has_no_blocks": "You have blocked no users.",
"email_hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي",
@@ -154,6 +156,7 @@
"info.banned-permanently": "محظور بشكل دائم",
"info.banned-reason-label": "سبب",
"info.banned-no-reason": "لم يتم إعطاء سبب.",
"info.muted-no-reason": "No reason given.",
"info.username-history": "سجل اسم المستخدم",
"info.email-history": "سجل البريد الإلكتروني",
"info.moderation-note": "ملاحظة الإشراف",

View File

@@ -5,6 +5,7 @@
"most_flags": "Most Flags",
"search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث",
"search-user-for-chat": "ابحث عن مستخدم لبدء محادثة ",
"load_more": "حمل المزيد",
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.",
"filter-by": "Filter By",

View File

@@ -10,6 +10,7 @@
"upload-files": "Качване на файлове",
"signature": "Подпис",
"ban": "Блокиране",
"mute": "Заглушаване",
"invite": "Пращане на покана",
"search-content": "Търсене на съдържание",
"search-users": "Търсене на потребители",

View File

@@ -18,7 +18,8 @@
"download-csv": "Сваляне във формат „CSV“",
"manage-groups": "Управление на групите",
"add-group": "Добавяне на група",
"invite": "Покана",
"create": "Създаване на потребител",
"invite": "Поканване по е-поща",
"new": "Нов потребител",
"filter-by": "Филтриране по",
"pills.unvalidated": "Няма потвърдена е-поща",
@@ -62,7 +63,7 @@
"create.password": "Парола",
"create.password-confirm": "Потвърдете паролата",
"temp-ban.length": "Продължителност на блокирането",
"temp-ban.length": "Продължителност",
"temp-ban.reason": "Причина <span class=\"text-muted\">(незадължително)</span>",
"temp-ban.hours": "Часове",
"temp-ban.days": "Дни",

View File

@@ -8,13 +8,16 @@
"headers.csp-frame-ancestors": "Задайте заглавката „Content-Security-Policy frame-ancestors“ за да поставите NodeBB „iFrame“",
"headers.csp-frame-ancestors-help": "„none“ (нищо), „self“ (себе си по подразбиране) или списък от позволени адреси.",
"headers.powered-by": "Персонализиране на заглавната част „Захранван от“, която се изпраща от NodeBB",
"headers.acao": "Произход за разрешаване на управлението на достъпа",
"headers.acao-regex": "Регулярен израз за произхода за разрешаване на управлението на достъпа",
"headers.acao": "Access-Control-Allow-Origin",
"headers.acao-regex": "Регулярен израз за „Access-Control-Allow-Origin“",
"headers.acao-help": "За да забраните достъпа до всички уеб сайтове, оставете празно",
"headers.acao-regex-help": "Въведете регулярен израз за съвпадение с динамичните произходи. За да забраните достъпа на всички уеб сайтове, оставете това празно.",
"headers.acac": "Удостоверителни данни за разрешаване на управлението на достъпа",
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Методи за разрешаване на управлението на достъпа",
"headers.acah": "Заглавки за разрешаване на управлението на достъпа",
"headers.acah": "Access-Control-Allow-Headers",
"headers.coep": "Cross-Origin-Embedder-Policy",
"headers.coep-help": "Когато е включено (по подразбиране), стойността на заглавката ще бъде <code>require-corp</code>",
"headers.corp": "Cross-Origin-Resource-Policy",
"hsts": "Стриктна транспортна сигурност",
"hsts.enabled": "Включване на HSTS (препоръчително)",
"hsts.maxAge": "Максимална възраст на HSTS",

View File

@@ -43,5 +43,6 @@
"include-unverified-emails": "Изпращане на е-писма към получатели, които не са потвърдили изрично е-пощата си",
"include-unverified-warning": "За потребителите, които имат свързана е-поща с регистрацията си, тя се смята за потвърдена. Но има ситуации, в които това не е така (например при ползване на регистрация от друга система, но и в други случаи), <strong>Включете тази настройка на собствен риск</strong> &ndash; изпращането на е-писма към непотвърдени адреси може да нарушава определени местни закони против нежеланата поща.",
"prompt": "Подсещане на потребителите да въведат или потвърдят е-пощата си",
"prompt-help": "Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение."
"prompt-help": "Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение.",
"sendEmailToBanned": "Изпращане на е-писма дори до блокираните потребители"
}

View File

@@ -4,6 +4,9 @@
"disable-down-voting": "Забрана на отрицателното гласуване",
"votes-are-public": "Всички гласувания са публични",
"thresholds": "Ограничения на дейността",
"min-rep-upvote": "Минимална репутация, необходима за положително гласуване за публикации",
"upvotes-per-day": "Положителни гласувания за ден (задайте 0 за неограничен брой)",
"upvotes-per-user-per-day": "Положителни гласувания за потребител за ден (задайте 0 за неограничен брой)",
"min-rep-downvote": "Минимална репутация, необходима за отрицателно гласуване за публикации",
"downvotes-per-day": "Отрицателни гласувания за ден (задайте 0 за неограничен брой)",
"downvotes-per-user-per-day": "Отрицателни гласувания за потребител за ден (задайте 0 за неограничен брой)",
@@ -18,5 +21,6 @@
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
"flags.limit-per-target-placeholder": "По подразбиране: 0",
"flags.limit-per-target-help": "Когато публикация или потребител бъде докладван няколко пъти, това се добавя към един общ доклад. Задайте на тази настройка стойност по-голяма от нула, за да ограничите броя на докладванията, които могат да бъдат натрупани към една публикация или потребител.",
"flags.auto-flag-on-downvote-threshold": "Брой отрицателни гласове, при които публикациите да бъдат докладвани автоматично (0 = изключено, по подразбиране: 0)",
"flags.auto-resolve-on-ban": "Автоматично премахване на всички доклади за потребител, когато той бъде блокиран"
}

View File

@@ -2,6 +2,7 @@
"posts": "Публикации",
"private": "Качените файлове да бъдат частни",
"strip-exif-data": "Премахване на данните EXIF",
"preserve-orphaned-uploads": "Запазване на качените файлове на диска дори след изтриването на публикацията",
"private-extensions": "Файлови разширения, които да бъдат частни",
"private-uploads-extensions-help": "Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
"resize-image-width-threshold": "Преоразмеряване на изображенията, ако са по-широки от определената ширина",

View File

@@ -107,6 +107,9 @@
"already-bookmarked": "Вече имате отметка към тази публикация",
"already-unbookmarked": "Вече сте премахнали отметката си от тази публикация",
"cant-ban-other-admins": "Не можете да блокирате другите администратори!",
"cant-mute-other-admins": "Не можете да заглушавате другите администратори!",
"user-muted-for-hours": "Вие бяхте заглушен(а). Ще можете да пускате публикации отново след %1 час(а)",
"user-muted-for-minutes": "Вие бяхте заглушен(а). Ще можете да пускате публикации отново след %1 минута/и",
"cant-make-banned-users-admin": "Не можете да давате администраторски права на блокирани потребители.",
"cant-remove-last-admin": "Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
"account-deletion-disabled": "Изтриването на акаунт е забранено",
@@ -154,19 +157,22 @@
"already-voting-for-this-post": "Вече сте дали глас за тази публикация.",
"reputation-system-disabled": "Системата за репутация е изключена.",
"downvoting-disabled": "Отрицателното гласуване е изключено",
"not-enough-reputation-to-downvote": "Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация",
"not-enough-reputation-to-flag": "Нямате достатъчно репутация, за да докладвате тази публикация",
"not-enough-reputation-min-rep-website": "Нямате достатъчно репутация, за да добавите уеб сайт",
"not-enough-reputation-min-rep-aboutme": "Нямате достатъчно репутация, за да добавите информация за себе си",
"not-enough-reputation-min-rep-signature": "Нямате достатъчно репутация, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture": "Нямате достатъчно репутация, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture": "Нямате достатъчно репутация, за да добавите снимка на корицата",
"not-enough-reputation-to-upvote": "Репутацията Ви трябва да бъде поне %1, за да гласувате положително",
"not-enough-reputation-to-downvote": "Репутацията Ви трябва да бъде поне %1, за да гласувате отрицателно",
"not-enough-reputation-to-flag": "Репутацията Ви трябва да бъде поне %1, за да докладвате тази публикация",
"not-enough-reputation-min-rep-website": "Репутацията Ви трябва да бъде поне %1, за да добавите уеб сайт",
"not-enough-reputation-min-rep-aboutme": "Репутацията Ви трябва да бъде поне %1, за да добавите информация за себе си",
"not-enough-reputation-min-rep-signature": "Репутацията Ви трябва да бъде поне %1, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на корицата",
"post-already-flagged": "Вече сте докладвали тази публикация",
"user-already-flagged": "Вече сте докладвали този потребител",
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
"cant-flag-privileged": "Не можете да докладвате профилите или съдържанието от потребители с по-високи правомощия (модератори, глобални модератори, администратори)",
"self-vote": "Не можете да гласувате за собствената си публикация",
"too-many-upvotes-today": "Можете да гласувате положително не повече от %1 пъти на ден",
"too-many-upvotes-today-user": "Можете да гласувате положително за потребител не повече от %1 пъти на ден",
"too-many-downvotes-today": "Можете да гласувате отрицателно не повече от %1 пъти на ден",
"too-many-downvotes-today-user": "Можете да гласувате отрицателно за потребител не повече от %1 пъти на ден",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",

View File

@@ -81,5 +81,6 @@
"bulk-actions": "Групови действия",
"bulk-resolve": "Разрешаване на доклад(и)",
"bulk-success": "%1 доклада са обновени",
"flagged-timeago-readable": "Докладвано <span class=\"timeago\" title=\"%1\"></span> (%2)"
"flagged-timeago-readable": "Докладвано <span class=\"timeago\" title=\"%1\"></span> (%2)",
"auto-flagged": "[Авт. докладвано] Получени %1 отрицателни гласа."
}

View File

@@ -23,7 +23,7 @@
"close": "Затваряне",
"pagination": "Странициране",
"pagination.out_of": "%1 от %2",
"pagination.enter_index": "Въведете номер",
"pagination.enter_index": "Към публикация номер",
"header.admin": "Администратор",
"header.categories": "Категории",
"header.recent": "Скорошни",
@@ -56,6 +56,7 @@
"posts": "Публ.",
"x-posts": "%1 публикации",
"best": "Най-добри",
"controversial": "Противоречиви",
"votes": "Гласове",
"x-votes": "%1 гласа",
"voters": "Гласували",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Разговор с",
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане",
"chat.placeholder": "Въведете съобщение тук или пуснете снимки и натиснете Ентер за изпращане",
"chat.scroll-up-alert": "В момента разглеждате по-стари съобщения. Щракнете тук, за да се прехвърлите към най-новото съобщение.",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи разговори.",

View File

@@ -54,6 +54,7 @@
"account/upvoted": "Публикации, получили положителен глас от %1",
"account/downvoted": "Публикации, получили отрицателен глас от %1",
"account/best": "Най-добрите публикации от %1",
"account/controversial": "Противоречиви публикации от %1",
"account/blocks": "Блокирани потребители за %1",
"account/uploads": "Качвания от %1",
"account/sessions": "Сесии на вписване",

View File

@@ -181,5 +181,7 @@
"timeago_earlier": "%1 по-рано",
"first-post": "Първа публикация",
"last-post": "Последна публикация",
"go-to-my-next-post": "Към следващата ми публикация",
"no-more-next-post": "Нямате повече публикации в тази тема",
"post-quick-reply": "Пускане на бърза публикация"
}

View File

@@ -12,6 +12,8 @@
"ban_account": "Блокиране на акаунта",
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
"unban_account": "Деблокиране на акаунта",
"mute_account": "Заглушаване на акаунта",
"unmute_account": "Премахване на заглушаването на акаунта",
"delete_account": "Изтриване на акаунта",
"delete_account_as_admin": "Изтриване на <strong>акаунта</strong>",
"delete_content": "Изтриване на <strong>съдържанието</strong> на акаунта",
@@ -105,7 +107,7 @@
"has_no_ignored_topics": "Този потребител не е пренебрегнал нито една тема досега.",
"has_no_upvoted_posts": "Този потребител не е гласувал положително досега.",
"has_no_downvoted_posts": "Този потребител не е гласувал отрицателно досега.",
"has_no_voted_posts": "Този потребител не е гласувал досега.",
"has_no_controversial_posts": "Този потребител няма публикации с отрицателни гласове засега.",
"has_no_blocks": "Не сте блокирали никого.",
"email_hidden": "Е-пощата е скрита",
"hidden": "скрито",
@@ -154,6 +156,7 @@
"info.banned-permanently": "Блокиран за постоянно",
"info.banned-reason-label": "Причина",
"info.banned-no-reason": "Няма посочена причина.",
"info.muted-no-reason": "Няма посочена причина.",
"info.username-history": "История на потребителските имена",
"info.email-history": "Историята на е-пощите",
"info.moderation-note": "Модераторска бележка",

View File

@@ -5,6 +5,7 @@
"most_flags": "С най-много доклади",
"search": "Търсене",
"enter_username": "Въведете потребителско име, което да потърсите",
"search-user-for-chat": "Потърсете потребител, с когото да започнете разговор",
"load_more": "Зареждане на още",
"users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.",
"filter-by": "Филтриране",

View File

@@ -10,6 +10,7 @@
"upload-files": "Upload Files",
"signature": "Signature",
"ban": "Ban",
"mute": "Mute",
"invite": "Invite",
"search-content": "Search Content",
"search-users": "Search Users",

View File

@@ -18,7 +18,8 @@
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
"invite": "Invite",
"create": "Create User",
"invite": "Invite by Email",
"new": "New User",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
@@ -62,7 +63,7 @@
"create.password": "Password",
"create.password-confirm": "Confirm Password",
"temp-ban.length": "Ban Length",
"temp-ban.length": "Length",
"temp-ban.reason": "Reason <span class=\"text-muted\">(Optional)</span>",
"temp-ban.hours": "Hours",
"temp-ban.days": "Days",

View File

@@ -15,6 +15,9 @@
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"headers.coep": "Cross-Origin-Embedder-Policy",
"headers.coep-help": "When enabled (default), will set the header to <code>require-corp</code>",
"headers.corp": "Cross-Origin-Resource-Policy",
"hsts": "Strict Transport Security",
"hsts.enabled": "Enabled HSTS (recommended)",
"hsts.maxAge": "HSTS Max Age",

View File

@@ -43,5 +43,6 @@
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned": "Send emails to users even if they have been banned"
}

View File

@@ -4,6 +4,9 @@
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
"upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
@@ -18,5 +21,6 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned"
}

View File

@@ -2,6 +2,7 @@
"posts": "Posts",
"private": "Make uploaded files private",
"strip-exif-data": "Strip EXIF Data",
"preserve-orphaned-uploads": "Keep uploaded files on disk after a post is purged",
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",

View File

@@ -107,6 +107,9 @@
"already-bookmarked": "You have already bookmarked this post",
"already-unbookmarked": "You have already unbookmarked this post",
"cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
"cant-mute-other-admins": "You can't mute other admins!",
"user-muted-for-hours": "You have been muted, you will be able to post in %1 hour(s)",
"user-muted-for-minutes": "You have been muted, you will be able to post in %1 minute(s)",
"cant-make-banned-users-admin": "You can't make banned users admin.",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"account-deletion-disabled": "Account deletion is disabled",
@@ -154,19 +157,22 @@
"already-voting-for-this-post": "You have already voted for this post.",
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
"not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-min-rep-website": "You do not have enough reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You do not have enough reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"not-enough-reputation-to-upvote": "You need %1 reputation to upvote",
"not-enough-reputation-to-downvote": "You need %1 reputation to downvote",
"not-enough-reputation-to-flag": "You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website": "You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote": "You cannot vote on your own post",
"too-many-upvotes-today": "You can only upvote %1 times a day",
"too-many-upvotes-today-user": "You can only upvote a user %1 times a day",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",

View File

@@ -81,5 +81,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)"
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -23,7 +23,7 @@
"close": "বন্ধ",
"pagination": "পাতা নং",
"pagination.out_of": "%2 এর মাঝে %1",
"pagination.enter_index": "সূচক লিখুন",
"pagination.enter_index": "Go to post index",
"header.admin": "অ্যাডমিন",
"header.categories": "বিভাগ",
"header.recent": "সাম্প্রতিক",
@@ -56,6 +56,7 @@
"posts": "পোস্টগুলি",
"x-posts": "%1 posts",
"best": "Best",
"controversial": "Controversial",
"votes": "Votes",
"x-votes": "%1 votes",
"voters": "Voters",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "এখানে আপনার বার্তা লিখুন। পাঠানোর জন্য Enter চাপুন",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "প্রেরন করুন",
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",

View File

@@ -54,6 +54,7 @@
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"account/controversial": "Controversial posts made by %1",
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"account/sessions": "Login Sessions",

View File

@@ -181,5 +181,7 @@
"timeago_earlier": "%1 earlier",
"first-post": "First post",
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Post quick reply"
}

View File

@@ -12,6 +12,8 @@
"ban_account": "একাউন্ট নিষিদ্ধ করুন",
"ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?",
"unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন",
"mute_account": "Mute Account",
"unmute_account": "Unmute Account",
"delete_account": "একাউন্ট মুছে ফেলুন",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
@@ -105,7 +107,7 @@
"has_no_ignored_topics": "This user hasn't ignored any topics yet.",
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
"has_no_voted_posts": "This user has no voted posts",
"has_no_controversial_posts": "This user does not have any downvoted posts yet.",
"has_no_blocks": "You have blocked no users.",
"email_hidden": "ইমেইল গোপন রাখা হয়েছে",
"hidden": "গোপন করা হয়েছে",
@@ -154,6 +156,7 @@
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",
"info.muted-no-reason": "No reason given.",
"info.username-history": "Username History",
"info.email-history": "Email History",
"info.moderation-note": "Moderation Note",

View File

@@ -5,6 +5,7 @@
"most_flags": "সর্বোচ্চ অভিযোগ",
"search": "খুঁজুন",
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
"search-user-for-chat": "Search a user to start chat",
"load_more": "আরো লোড করুন",
"users-found-search-took": "%1 জন সদস্য(দের) খুঁজে পাওয়া গেছে। খুঁজতে সময় লেগেছে %2 সেকেন্ড ",
"filter-by": "ফিল্টার করার ধরন",

View File

@@ -10,6 +10,7 @@
"upload-files": "Náhrát soubory",
"signature": "Podpis",
"ban": "Blokovat",
"mute": "Mute",
"invite": "Invite",
"search-content": "Hledat obsah",
"search-users": "Hledat uživatele",

View File

@@ -18,7 +18,8 @@
"download-csv": "Stáhnout jako CSV",
"manage-groups": "Spravovat skupiny",
"add-group": "Přidat skupinu",
"invite": "Pozvat",
"create": "Create User",
"invite": "Invite by Email",
"new": "Nový uživatel",
"filter-by": "Filter by",
"pills.unvalidated": "Neověřeno",
@@ -62,7 +63,7 @@
"create.password": "Heslo",
"create.password-confirm": "Potvrdit heslo",
"temp-ban.length": "Trvání zákazu",
"temp-ban.length": "Length",
"temp-ban.reason": "Důvod <span class=\"text-muted\">(volitelné)</span>",
"temp-ban.hours": "Hodiny",
"temp-ban.days": "Dny",

View File

@@ -15,6 +15,9 @@
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"headers.coep": "Cross-Origin-Embedder-Policy",
"headers.coep-help": "When enabled (default), will set the header to <code>require-corp</code>",
"headers.corp": "Cross-Origin-Resource-Policy",
"hsts": "Přísné zabezpečení přenosu",
"hsts.enabled": "Povolit HSTS (doporučeno)",
"hsts.maxAge": "HSTS Max Age",

View File

@@ -43,5 +43,6 @@
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned": "Send emails to users even if they have been banned"
}

View File

@@ -4,6 +4,9 @@
"disable-down-voting": "Zakázat hlasování",
"votes-are-public": "Všechna hlasování jsou veřejná",
"thresholds": "Omezení aktivity",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
"upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)",
"min-rep-downvote": "Minimální reputace pro vyjádření nesouhlasu s příspěvkem",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
@@ -18,5 +21,6 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned"
}

View File

@@ -2,6 +2,7 @@
"posts": "Příspěvky",
"private": "Nahrané soubory jsou soukromé",
"strip-exif-data": "Nepoužít data EXIF",
"preserve-orphaned-uploads": "Keep uploaded files on disk after a post is purged",
"private-extensions": "Přípona souborů je soukromá",
"private-uploads-extensions-help": "Pro nastavení soukromí, zde zadejte seznam souborů oddělený čárkou (tj. <code>pdf, xls,doc</code>). prázdný seznam znamená, že všechny soubory jsou soukromé.",
"resize-image-width-threshold": "Změnit velikost obrázků, jsou-li širší než určená šířka",

View File

@@ -107,6 +107,9 @@
"already-bookmarked": "Již jste tento příspěvek zazáložkoval",
"already-unbookmarked": "Již jste u tohoto příspěvku odebral záložku",
"cant-ban-other-admins": "Nemůžete zablokovat jiné správce.",
"cant-mute-other-admins": "You can't mute other admins!",
"user-muted-for-hours": "You have been muted, you will be able to post in %1 hour(s)",
"user-muted-for-minutes": "You have been muted, you will be able to post in %1 minute(s)",
"cant-make-banned-users-admin": "You can't make banned users admin.",
"cant-remove-last-admin": "Jste jediným správcem. Před vlastním odebráním oprávnění správce nejdříve přidejte jiného uživatele jako správce",
"account-deletion-disabled": "Account deletion is disabled",
@@ -154,19 +157,22 @@
"already-voting-for-this-post": "Již jste v tomto příspěvku hlasoval.",
"reputation-system-disabled": "Systém reputací je zakázán.",
"downvoting-disabled": "Systém nesouhlasu je zakázán",
"not-enough-reputation-to-downvote": "Nemáte dostatečnou reputaci pro vyjádření nesouhlasu u tohoto příspěvku",
"not-enough-reputation-to-flag": "Pro označení tohoto příspěvku nemáte dostatečnou reputaci",
"not-enough-reputation-min-rep-website": "Pro přidání webové stránky nemáte dostatek reputace",
"not-enough-reputation-min-rep-aboutme": "Pro přidání „O mně” nemáte dostatek reputace",
"not-enough-reputation-min-rep-signature": "Pro přidání podpisu nemáte dostatek reputace",
"not-enough-reputation-min-rep-profile-picture": "Pro přidání profilového obrázku nemáte dostatek reputace",
"not-enough-reputation-min-rep-cover-picture": "Pro přidání obrázku nemáte dostatek reputace",
"not-enough-reputation-to-upvote": "You need %1 reputation to upvote",
"not-enough-reputation-to-downvote": "You need %1 reputation to downvote",
"not-enough-reputation-to-flag": "You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website": "You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote": "U svého vlastního příspěvku nemůžete hlasovat",
"too-many-upvotes-today": "You can only upvote %1 times a day",
"too-many-upvotes-today-user": "You can only upvote a user %1 times a day",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "Vyskytla se chyba v NodeBB při znovu načtení: \"%1\". NodeBB bude pokračovat v běhu na straně klienta, nicméně byste měl/a přenastavit zpět to, co jste udělal/a před opětovným načtením.",

View File

@@ -81,5 +81,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)"
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -23,7 +23,7 @@
"close": "Zrušit",
"pagination": "Stránkování",
"pagination.out_of": "%1 z %2",
"pagination.enter_index": "Zadejte index",
"pagination.enter_index": "Go to post index",
"header.admin": "Administrace",
"header.categories": "Kategorie",
"header.recent": "Nejnovější",
@@ -56,6 +56,7 @@
"posts": "Příspěvky",
"x-posts": "%1 posts",
"best": "Nejlepší",
"controversial": "Controversial",
"votes": "Počet hlasů",
"x-votes": "%1 votes",
"voters": "Voters",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Konverzace s",
"chat.placeholder": "Konverzační zprávu napište zde, pro odeslání stiskněte klávesu Enter",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "Odeslat",
"chat.no_active": "Nemáte žádné aktivní konverzace.",

View File

@@ -54,6 +54,7 @@
"account/upvoted": "Souhlasí s příspěvkem %1",
"account/downvoted": "Nesouhlasí s příspěvkem %1",
"account/best": "Nejlepší příspěvky od %1",
"account/controversial": "Controversial posts made by %1",
"account/blocks": "Zablokovaní uživatelé z %1",
"account/uploads": "Nahráno od %1",
"account/sessions": "Relace s přihlášením",

View File

@@ -181,5 +181,7 @@
"timeago_earlier": "%1 dříve",
"first-post": "First post",
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Post quick reply"
}

View File

@@ -12,6 +12,8 @@
"ban_account": "Zablokovat účet",
"ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?",
"unban_account": "Odblokovat účet",
"mute_account": "Mute Account",
"unmute_account": "Unmute Account",
"delete_account": "Odstranit účet",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
@@ -105,7 +107,7 @@
"has_no_ignored_topics": "Tento uživatel ještě neignoruje žádné témata.",
"has_no_upvoted_posts": "Tento uživatel zatím nevyjádřil souhlas u žádného příspěvku.",
"has_no_downvoted_posts": "Tento uživatel zatím nevyjádřil nesouhlas u žádného příspěvku.",
"has_no_voted_posts": "Tento uživatel nemá žádné hlasovací příspěvky",
"has_no_controversial_posts": "This user does not have any downvoted posts yet.",
"has_no_blocks": "Nezablokoval/a jste žádné uživatele.",
"email_hidden": "E-mail je skryt",
"hidden": "skrytý",
@@ -154,6 +156,7 @@
"info.banned-permanently": "Trvale zablokován",
"info.banned-reason-label": "Důvod",
"info.banned-no-reason": "Bez důvodu",
"info.muted-no-reason": "No reason given.",
"info.username-history": "Historie uživatelského jména",
"info.email-history": "E-mailová historie",
"info.moderation-note": "Poznámka moderace",

View File

@@ -5,6 +5,7 @@
"most_flags": "Nejoznačovanější",
"search": "Hledat",
"enter_username": "Zadej uživatelské jméno k hledání",
"search-user-for-chat": "Search a user to start chat",
"load_more": "Načíst další",
"users-found-search-took": "Nalezeno %1 uživatel(ů) za %2 vteřiny.",
"filter-by": "Filtrovat dle",

View File

@@ -10,6 +10,7 @@
"upload-files": "Upload Files",
"signature": "Signature",
"ban": "Ban",
"mute": "Mute",
"invite": "Invite",
"search-content": "Search Content",
"search-users": "Search Users",

View File

@@ -18,7 +18,8 @@
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
"invite": "Invite",
"create": "Create User",
"invite": "Invite by Email",
"new": "New User",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
@@ -62,7 +63,7 @@
"create.password": "Password",
"create.password-confirm": "Confirm Password",
"temp-ban.length": "Ban Length",
"temp-ban.length": "Length",
"temp-ban.reason": "Reason <span class=\"text-muted\">(Optional)</span>",
"temp-ban.hours": "Hours",
"temp-ban.days": "Days",

View File

@@ -15,6 +15,9 @@
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"headers.coep": "Cross-Origin-Embedder-Policy",
"headers.coep-help": "When enabled (default), will set the header to <code>require-corp</code>",
"headers.corp": "Cross-Origin-Resource-Policy",
"hsts": "Strict Transport Security",
"hsts.enabled": "Enabled HSTS (recommended)",
"hsts.maxAge": "HSTS Max Age",

View File

@@ -43,5 +43,6 @@
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned": "Send emails to users even if they have been banned"
}

View File

@@ -4,6 +4,9 @@
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
"upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
@@ -18,5 +21,6 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned"
}

View File

@@ -2,6 +2,7 @@
"posts": "Posts",
"private": "Make uploaded files private",
"strip-exif-data": "Strip EXIF Data",
"preserve-orphaned-uploads": "Keep uploaded files on disk after a post is purged",
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",

View File

@@ -107,6 +107,9 @@
"already-bookmarked": "You have already bookmarked this post",
"already-unbookmarked": "You have already unbookmarked this post",
"cant-ban-other-admins": "Du kan ikke udlukke andre administatrorer!",
"cant-mute-other-admins": "You can't mute other admins!",
"user-muted-for-hours": "You have been muted, you will be able to post in %1 hour(s)",
"user-muted-for-minutes": "You have been muted, you will be able to post in %1 minute(s)",
"cant-make-banned-users-admin": "You can't make banned users admin.",
"cant-remove-last-admin": "Du er den eneste administrator. Tilføj en anden bruger som administrator før du fjerner dig selv som administrator",
"account-deletion-disabled": "Account deletion is disabled",
@@ -154,19 +157,22 @@
"already-voting-for-this-post": "You have already voted for this post.",
"reputation-system-disabled": "Vurderingssystem er slået fra.",
"downvoting-disabled": "Nedvurdering er slået fra",
"not-enough-reputation-to-downvote": "Du har ikke nok omdømme til at nedstemme dette indlæg",
"not-enough-reputation-to-flag": "Du har ikke nok omdømme til at vurdere dette indlæg",
"not-enough-reputation-min-rep-website": "You do not have enough reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You do not have enough reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"not-enough-reputation-to-upvote": "You need %1 reputation to upvote",
"not-enough-reputation-to-downvote": "You need %1 reputation to downvote",
"not-enough-reputation-to-flag": "You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website": "You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote": "You cannot vote on your own post",
"too-many-upvotes-today": "You can only upvote %1 times a day",
"too-many-upvotes-today-user": "You can only upvote a user %1 times a day",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "NodeBB stødte på et problem under genindlæsningen : \"%1\". NodeBB vil fortsætte med en ældre version, og det er nok god ide at genoptage fra lige før du genindlæste siden.",

View File

@@ -81,5 +81,6 @@
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)"
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -23,7 +23,7 @@
"close": "Luk",
"pagination": "Sidetal",
"pagination.out_of": "%1 ud af %2",
"pagination.enter_index": "Indtast indeks",
"pagination.enter_index": "Go to post index",
"header.admin": "Administrator",
"header.categories": "Kategorier",
"header.recent": "Seneste",
@@ -56,6 +56,7 @@
"posts": "Indlæg",
"x-posts": "%1 posts",
"best": "Bedste",
"controversial": "Controversial",
"votes": "Votes",
"x-votes": "%1 votes",
"voters": "Voters",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "Skriv din chatbesked her, tryk enter for at sende",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "Send",
"chat.no_active": "Du har ingen aktive chats.",

View File

@@ -54,6 +54,7 @@
"account/upvoted": "Indlæg syntes godt om af %1",
"account/downvoted": "Indlæg syntes ikke godt om af %1",
"account/best": "Bedste indlæg skrevet af %1",
"account/controversial": "Controversial posts made by %1",
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"account/sessions": "Login Sessions",

View File

@@ -181,5 +181,7 @@
"timeago_earlier": "%1 earlier",
"first-post": "First post",
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Post quick reply"
}

View File

@@ -12,6 +12,8 @@
"ban_account": "Ban Konto",
"ban_account_confirm": "Ønsker du virkelig at banne denne konto?",
"unban_account": "Afban Konto",
"mute_account": "Mute Account",
"unmute_account": "Unmute Account",
"delete_account": "Slet konto",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
@@ -105,7 +107,7 @@
"has_no_ignored_topics": "This user hasn't ignored any topics yet.",
"has_no_upvoted_posts": "Denne bruger har ikke syntes godt om nogle indlæg endnu.",
"has_no_downvoted_posts": "Denne bruger har ikke, syntes ikke godt om nogle indlæg endnu.",
"has_no_voted_posts": "Denne bruger har ingen stemte indlæg",
"has_no_controversial_posts": "This user does not have any downvoted posts yet.",
"has_no_blocks": "You have blocked no users.",
"email_hidden": "Email Skjult",
"hidden": "skjult",
@@ -154,6 +156,7 @@
"info.banned-permanently": "Banned permanently",
"info.banned-reason-label": "Reason",
"info.banned-no-reason": "No reason given.",
"info.muted-no-reason": "No reason given.",
"info.username-history": "Username History",
"info.email-history": "Email History",
"info.moderation-note": "Moderation Note",

View File

@@ -5,6 +5,7 @@
"most_flags": "Most Flags",
"search": "Søg",
"enter_username": "Indtast brugernavn for at søge",
"search-user-for-chat": "Search a user to start chat",
"load_more": "Indlæs mere",
"users-found-search-took": "%1 bruger(e) fundet! Søgning tog %2 sekunder.",
"filter-by": "Filtre Efter",

View File

@@ -56,8 +56,8 @@
"active-users.total": "Gesamt",
"active-users.connections": "Verbindungen",
"guest-registered-users": "Guest vs Registered Users",
"guest": "Guest",
"guest-registered-users": "Gast vs. registrierte Benutzer",
"guest": "Gast",
"registered": "Registriert",
"user-presence": "Benutzerpräsenz",
@@ -68,7 +68,7 @@
"unread": "Ungelesen",
"high-presence-topics": "Meist besuchte Themen",
"popular-searches": "Popular Searches",
"popular-searches": "Beliebte Suchanfragen",
"graphs.page-views": "Seitenaufrufe",
"graphs.page-views-registered": "Registrierte Seitenaufrufe",
@@ -76,14 +76,14 @@
"graphs.page-views-bot": "Seitenaufrufe von Bots",
"graphs.unique-visitors": "Verschiedene Besucher",
"graphs.registered-users": "Registrierte Benutzer",
"graphs.guest-users": "Guest Users",
"graphs.guest-users": "Gast-Benutzer",
"last-restarted-by": "Zuletzt Neugestartet von: ",
"no-users-browsing": "Keine aktiven Benutzer",
"back-to-dashboard": "Zurück zur Übersicht",
"details.no-users": "Keine Benutzer sind im gewählten Zeitraum beigetreten",
"details.no-topics": "Keine Themen wurden im gewählten Zeitraum beigetreten",
"details.no-searches": "No searches have been made yet",
"details.no-searches": "Es wurden noch keine Suchen durchgeführt",
"details.no-logins": "Keine Logins wurden im gewählten Zeitraum festgestellt",
"details.logins-static": "NodeBB speichert Sitzungsdaten nur für %1 Tage, deshalb zeigt die untere Tabelle nur die neuesten, aktiven Sitzungen",
"details.logins-login-time": "Anmelde Zeit"

View File

@@ -8,11 +8,11 @@
"nodejs": "Node.js Version",
"online": "Online",
"git": "git",
"process-memory": "process memory",
"system-memory": "system memory",
"used-memory-process": "Used memory by process",
"used-memory-os": "Used system memory",
"total-memory-os": "Total system memory",
"process-memory": "Prozess-Speicher",
"system-memory": "System-Speicher",
"used-memory-process": "Verwendeter Prozess-Speicher",
"used-memory-os": "Verwendeter System-Speicher",
"total-memory-os": "Gesamter System-Speicher",
"load": "Systemlast",
"cpu-usage": "CPU Benutzung",
"uptime": "Uptime",

View File

@@ -10,6 +10,7 @@
"upload-files": "Dateien hochladen",
"signature": "Signatur",
"ban": "Bannen",
"mute": "Mute",
"invite": "Einladen",
"search-content": "Inhalt durchsuchen",
"search-users": "Benutzersuche",
@@ -52,9 +53,9 @@
"alert.confirm-discard": "Bist du sicher, dass du die Änderungen an den Rechten verwerfen möchtest?",
"alert.discarded": "Änderungen an Rechten verworfen",
"alert.confirm-copyToAll": "Bist Du dir sicher, dass Du die Rechte von <strong>%1</strong> auf <strong>alle Kategorien</strong> anwenden möchtest?",
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of <strong>%1</strong> to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this set of <strong>%1</strong> to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of <strong>%1</strong> to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToAllGroup": "Bist Du dir sicher, dass Du diesen Gruppen-Satz <strong>%1</strong> auf <strong>alle Kategorien</strong> anwenden möchtest?",
"alert.confirm-copyToChildren": "Bist Du dir sicher, dass Du diesen Satz von <strong>%1</strong> auf <strong>alle (untergeordneten) Kategorien</strong> anwenden möchtest?",
"alert.confirm-copyToChildrenGroup": "Bist Du dir sicher, dass Du den Gruppen-Satz von <strong>%1</strong> auf <strong>alle (untergeordneten) Kategorien</strong> anwenden möchten?",
"alert.no-undo": "<em>Dieser Vorgang kann nicht rückgängig gemacht werden.</em>",
"alert.admin-warning": "Administratoren erhalten implizit alle Berechtigungen",
"alert.copyPrivilegesFrom-title": "Wähle eine Kategorie aus, aus der kopiert werden soll",

View File

@@ -18,7 +18,8 @@
"download-csv": "CSV herunterladen",
"manage-groups": "Gruppen verwalten",
"add-group": "Gruppe hinzufügen",
"invite": "Einladen",
"create": "Create User",
"invite": "Invite by Email",
"new": "Neuer Benutzer",
"filter-by": "Filtern nach",
"pills.unvalidated": "Nicht bestätigt",
@@ -62,7 +63,7 @@
"create.password": "Passwort",
"create.password-confirm": "Passwort bestätigen",
"temp-ban.length": "Banndauer",
"temp-ban.length": "Length",
"temp-ban.reason": "Grund <span class=\"text-muted\">(optional)</span>",
"temp-ban.hours": "Stunden",
"temp-ban.days": "Tage",
@@ -93,8 +94,8 @@
"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": "Benutzer gelöscht!",
"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.delete-content-success": "Beiträge des/der Nutzer(s) gelöscht!",
"alerts.confirm-purge": "<strong>Warnung!</strong><p>Bist du sicher, dass Du den/die <strong>Nutzer und deren Beiträge</strong> löschen möchtest?</p><p>Diese Aktion kann nicht rückgängig gemacht werden! Alle Nutzerdaten und Beiträge werden dabei gelöscht!</p>",
"alerts.create": "Nutzer Erstellen",
"alerts.button-create": "Erstellen",
"alerts.button-cancel": "Abbrechen",
@@ -104,7 +105,7 @@
"alerts.prompt-email": "E-Mails:",
"alerts.email-sent-to": "Eine Einladungsemail wurde an %1 gesendet",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.x-users-found": "%1 Benutzer gefunden, (%2 Sekunden)",
"export-users-started": "Der Export von Benutzern als CSV kann eine Weile dauern. Sie erhalten eine Benachrichtigung, wenn es abgeschlossen ist.",
"export-users-completed": "Benutzer wurden als CSV exportiert, klicken Sie hier, um sie herunterzuladen."
}

View File

@@ -1,10 +1,10 @@
{
"section-dashboard": "Dashboards",
"dashboard/overview": "Overview",
"dashboard/logins": "Logins",
"dashboard/users": "Users",
"dashboard/topics": "Topics",
"dashboard/searches": "Searches",
"dashboard/overview": "Übersicht",
"dashboard/logins": "Anmeldungen",
"dashboard/users": "Benutzer",
"dashboard/topics": "Themen",
"dashboard/searches": "Suchen",
"section-general": "Allgemein",
"section-manage": "Verwalten",
@@ -76,7 +76,7 @@
"logout": "Abmelden",
"view-forum": "Forum anzeigen",
"search.placeholder": "Press &quot;/&quot; to search for settings",
"search.placeholder": "Drücke &quot;/&quot; um nach Einstellungen zu suchen",
"search.no-results": "Keine Ergebnisse...",
"search.search-forum": "Suche im Forum nach <strong></strong>",
"search.keep-typing": "Gib mehr ein, um die Ergebnisse zu sehen...",

View File

@@ -15,6 +15,9 @@
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"headers.coep": "Cross-Origin-Embedder-Policy",
"headers.coep-help": "When enabled (default), will set the header to <code>require-corp</code>",
"headers.corp": "Cross-Origin-Resource-Policy",
"hsts": "Strict Transport Security",
"hsts.enabled": "HSTS Aktivieren (empfohlen)",
"hsts.maxAge": "HSTS Maximales Alter",

View File

@@ -43,5 +43,6 @@
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help": "If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned": "Send emails to users even if they have been banned"
}

View File

@@ -4,6 +4,9 @@
"disable-down-voting": "Negative Bewertungen deaktivieren",
"votes-are-public": "Alle Bewertungen sind öffentlich",
"thresholds": "Aktivitätsschwelle",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
"upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)",
"min-rep-downvote": "Minimales Ansehen um Beiträge negativ zu bewerten",
"downvotes-per-day": "Runtervoten pro Tag (auf 0 gesetzt für unbegrenzte Runtervotes)",
"downvotes-per-user-per-day": "Runtervoten pro Benutzer pro Tag (auf 0 gesetzt für unbegrenzte Runtervotes)",
@@ -18,5 +21,6 @@
"flags.limit-per-target": "Maximale Häufigkeit, mit der etwas markiert werden kann",
"flags.limit-per-target-placeholder": "Standardwert: 0",
"flags.limit-per-target-help": "Wenn ein Beitrag oder ein Benutzer mehrfach markiert wird, wird jede zusätzliche Markierung als &quot;Nachricht&quot; betrachtet und zur ursprünglichen Markierung hinzugezählt. Setzen Sie diese Option auf eine andere Zahl als Null, um die Anzahl der Nachricht, die ein Artikel erhalten kann, zu begrenzen.",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatisches Beenden aller Tickets eines Benutzers, wenn dieser gesperrt wird"
}

View File

@@ -2,6 +2,7 @@
"posts": "Beiträge",
"private": "Hochgeladene Dateien privatisieren",
"strip-exif-data": "EXIF-Daten entfernen",
"preserve-orphaned-uploads": "Keep uploaded files on disk after a post is purged",
"private-extensions": "Private Dateiendungen",
"private-uploads-extensions-help": "Gib eine Komma-Separierte Liste mit Dateiendungen an, die privatisiert werden sollen (z.B. <code>pdf,xls,doc</code>). Eine leere Liste bedeutet, dass alle Dateien privat sind.",
"resize-image-width-threshold": "Bilder zu einer bestimmten Breite runterskalieren wenn sie breiter sind als die angegebene Breite.",

View File

@@ -107,6 +107,9 @@
"already-bookmarked": "Du hast diesen Beitrag bereits als Lesezeichen gespeichert",
"already-unbookmarked": "Du hast diesen Beitrag bereits aus deinen Lesezeichen entfernt",
"cant-ban-other-admins": "Du kannst andere Administratoren nicht sperren!",
"cant-mute-other-admins": "You can't mute other admins!",
"user-muted-for-hours": "You have been muted, you will be able to post in %1 hour(s)",
"user-muted-for-minutes": "You have been muted, you will be able to post in %1 minute(s)",
"cant-make-banned-users-admin": "Sie können gesperrte Benutzer nicht zum Administrator machen.",
"cant-remove-last-admin": "Du bist der einzige Administrator. Füge zuerst einen anderen Administrator hinzu, bevor du dich selbst als Administrator entfernst",
"account-deletion-disabled": "Kontolöschung ist deaktiviert",
@@ -154,19 +157,22 @@
"already-voting-for-this-post": "Du hast diesen Beitrag bereits bewertet.",
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
"downvoting-disabled": "Downvotes sind deaktiviert.",
"not-enough-reputation-to-downvote": "Dein Ansehen ist zu niedrig, um diesen Beitrag negativ zu bewerten.",
"not-enough-reputation-to-flag": "Dein Ansehen ist zu niedrig, um diesen Beitrag zu melden",
"not-enough-reputation-min-rep-website": "Deine Reputation um eine \"Website\" zum Benutzerprofil hinzuzufügen ist zu niedrig",
"not-enough-reputation-min-rep-aboutme": "Deine Reputation um eine \"Über mich\"-Sektion zum Benutzerprofil hinzuzufügen ist zu niedrig",
"not-enough-reputation-min-rep-signature": "Deine Reputation um eine \"Signatur\" zum Benutzerprofil hinzuzufügen ist zu niedrig",
"not-enough-reputation-min-rep-profile-picture": "Deine Reputation ist zu niedrig um ein Profilbild hinzuzufügen.",
"not-enough-reputation-min-rep-cover-picture": "Deine Reputation ist zu niedrig um ein Deckbild hinzuzufügen.",
"not-enough-reputation-to-upvote": "You need %1 reputation to upvote",
"not-enough-reputation-to-downvote": "You need %1 reputation to downvote",
"not-enough-reputation-to-flag": "You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website": "You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"post-already-flagged": "Du hast diesen Beitrag bereits gemeldet",
"user-already-flagged": "Du hast diesen Benutzer bereits gemeldet",
"post-flagged-too-many-times": "Dieser Beitrag wurde bereits von anderen Benutzern gemeldet",
"user-flagged-too-many-times": "Dieser Benutzer wurde bereits von anderen Benutzern gemeldet",
"cant-flag-privileged": "Sie dürfen die Profile oder Inhalte von privilegierten Benutzern (Moderatoren/Globalmoderatoren/Admins) nicht kennzeichnen.",
"self-vote": "Du kannst deine eigenen Beiträge nicht bewerten",
"too-many-upvotes-today": "You can only upvote %1 times a day",
"too-many-upvotes-today-user": "You can only upvote a user %1 times a day",
"too-many-downvotes-today": "Du kannst nur %1 mal am Tag eine schlechte Bewertung abgeben",
"too-many-downvotes-today-user": "Du kannst einen Benutzer nur %1 mal am Tag schlecht bewerten",
"reload-failed": "Es ist ein Problem während des Reloads von NodeBB aufgetreten: \"%1\". NodeBB wird weiterhin clientseitige Assets bereitstellen, allerdings solltest du das, was du vor dem Reload gemacht hast, rückgängig machen.",

View File

@@ -81,5 +81,6 @@
"bulk-actions": "Massenaktionen",
"bulk-resolve": "Meldungen bereiningen",
"bulk-success": "%1 Meldungen aktualisiert",
"flagged-timeago-readable": "Markiert <span class=\"timeago\" title=\"%1\"></span>(%2)"
"flagged-timeago-readable": "Markiert <span class=\"timeago\" title=\"%1\"></span>(%2)",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
}

View File

@@ -23,7 +23,7 @@
"close": "Schließen",
"pagination": "Seitennummerierung",
"pagination.out_of": "%1 von %2",
"pagination.enter_index": "Seitenzahl eingeben",
"pagination.enter_index": "Go to post index",
"header.admin": "Admin",
"header.categories": "Kategorien",
"header.recent": "Aktuell",
@@ -56,6 +56,7 @@
"posts": "Beiträge",
"x-posts": "%1 Beiträge",
"best": "Bestbewertet",
"controversial": "Controversial",
"votes": "Stimmen",
"x-votes": "%1 Stimmen",
"voters": "Wähler",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Chat mit",
"chat.placeholder": "Schreibe hier etwas, und drücke Enter zum Absenden.",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.scroll-up-alert": "Diese Nachrichten sind möglicherweise veraltet, klicke hier um neuere Nachrichten anzuzeigen.",
"chat.send": "Senden",
"chat.no_active": "Du hast keine aktiven Chats.",

View File

@@ -54,6 +54,7 @@
"account/upvoted": "Von %1 positiv bewertete Beiträge",
"account/downvoted": "Von %1 negativ bewertete Beiträge",
"account/best": "Bestbewertete Beiträge von %1",
"account/controversial": "Controversial posts made by %1",
"account/blocks": "Für %1 geblockte Benutzer",
"account/uploads": "Uploads von %1",
"account/sessions": "Login-Sitzungen",

View File

@@ -4,5 +4,5 @@
"enter_tags_here": "Hier Schlagworte eingeben. Jeweils %1 bis %2 Zeichen.",
"enter_tags_here_short": "Schlagworte eingeben...",
"no_tags": "Es gibt noch keine Schlagworte.",
"select_tags": "Schlagwort auswählen"
"select_tags": "Schlagworte auswählen"
}

View File

@@ -181,5 +181,7 @@
"timeago_earlier": "%1 früher",
"first-post": "Erster Beitrag",
"last-post": "Letzter Beitrag",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Beitrag schnell Beantworten"
}

View File

@@ -12,10 +12,12 @@
"ban_account": "Konto sperren",
"ban_account_confirm": "Bist du sicher, dass du diesen Benutzer sperren möchtest?",
"unban_account": "Konto entsperren",
"mute_account": "Mute Account",
"unmute_account": "Unmute Account",
"delete_account": "Konto löschen",
"delete_account_as_admin": "<strong>Konto</strong> löschen",
"delete_content": "Konto-<strong>Inhalt</strong> löschen",
"delete_all": "<strong>Konto</strong> und<strong>Inhalt</strong> löschen",
"delete_all": "<strong>Konto</strong> und <strong>Inhalt</strong> löschen",
"delete_account_confirm": "Bist du sicher, dass du diesen Account löschen und deine Beiträge anonymisieren mnöchtest?<br /><strong>Diese Aktion kann nicht rückgängig gemacht werden und die Daten können nicht wiederhergestellt werden.</strong><br /><br />Gib dein Passwort ein um das Löschen des Accounts zu bestätigen.",
"delete_this_account_confirm": "Bist du sicher, dass du diesen Account löschen und seine Inhalte beibehalten möchstes?<br /><strong>Diese Aktion kann nicht rückgängig gemacht werden. Beiträge werden anonymisiert und können nicht wieder mit dem gelöschten Account verknüpft werden.</strong><br /><br />",
"delete_account_content_confirm": "Bist du sicher, dass du die Inhalte dieses Accounts (Beiträge/Themen/Uploads) löschen möchtest? <br /><strong>Diese Aktion ist irreversibel und die Daten können nicht wiederhergestellt werden.</strong><br /><br />",
@@ -105,7 +107,7 @@
"has_no_ignored_topics": "Dieser Benutzer ignoriert bisher keine Themen.",
"has_no_upvoted_posts": "Dieser Benutzer hat bisher keine Beiträge positiv bewertet.",
"has_no_downvoted_posts": "Dieser Benutzer hat bisher keine Beiträge negativ bewertet.",
"has_no_voted_posts": "Dieser Benutzer hat keine bewerteten Beiträge.",
"has_no_controversial_posts": "This user does not have any downvoted posts yet.",
"has_no_blocks": "Du hast keine Benutzer geblockt",
"email_hidden": "E-Mail Adresse versteckt",
"hidden": "versteckt",
@@ -154,6 +156,7 @@
"info.banned-permanently": "Permanent gesperrt",
"info.banned-reason-label": "Grund",
"info.banned-no-reason": "Kein Grund angegeben.",
"info.muted-no-reason": "No reason given.",
"info.username-history": "Benutzernamen Verlauf",
"info.email-history": "E-Mail Verlauf",
"info.moderation-note": "Moderationsnotiz",

View File

@@ -5,6 +5,7 @@
"most_flags": "Meiste Meldungen",
"search": "Suchen",
"enter_username": "Benutzer durchsuchen",
"search-user-for-chat": "Search a user to start chat",
"load_more": "Mehr laden",
"users-found-search-took": "%1 Benutzer gefunden! Die Suche dauerte %2 s.",
"filter-by": "Filtern nach",

View File

@@ -10,6 +10,7 @@
"upload-files": "Upload Files",
"signature": "Signature",
"ban": "Ban",
"mute": "Mute",
"invite": "Invite",
"search-content": "Search Content",
"search-users": "Search Users",

View File

@@ -18,7 +18,8 @@
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
"invite": "Invite",
"create": "Create User",
"invite": "Invite by Email",
"new": "New User",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
@@ -62,7 +63,7 @@
"create.password": "Password",
"create.password-confirm": "Confirm Password",
"temp-ban.length": "Ban Length",
"temp-ban.length": "Length",
"temp-ban.reason": "Reason <span class=\"text-muted\">(Optional)</span>",
"temp-ban.hours": "Hours",
"temp-ban.days": "Days",

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