Compare commits

...

1467 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
6e011b8ff5 fix: #10586, fix webinstaller folders 2022-05-06 13:15:07 -04:00
Barış Soner Uşaklı
e93ecc74fb fix: add missing fs-extra, #10580 2022-05-05 13:19:24 -04:00
Misty Release Bot
1fcfde9d98 chore: incrementing version number - v2.0.0
(cherry picked from commit f23c3ff5b2)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2022-05-04 19:19:01 +00:00
Misty Release Bot
3f2aea4437 Latest translations and fallbacks 2022-05-04 09:06:35 +00:00
renovate[bot]
c3c779153a fix(deps): update dependency @socket.io/redis-adapter to v7.2.0 (#10571)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-03 16:35:20 -04:00
renovate[bot]
68168a7d74 fix(deps): update dependency autoprefixer to v10.4.7 (#10563)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-03 16:33:33 -04:00
Barış Soner Uşaklı
ea01ba0152 fix: #10569, fix category move event text 2022-05-03 14:19:38 -04:00
Misty Release Bot
0035e5f868 Latest translations and fallbacks 2022-05-03 09:06:41 +00:00
Misty Release Bot
1764f2f7fb Latest translations and fallbacks 2022-05-02 09:06:42 +00:00
Barış Soner Uşaklı
d2e6f31717 refactor: not used anymore 2022-05-01 23:04:57 -04:00
renovate[bot]
1d446e14fc fix(deps): update dependency nodebb-theme-persona to v12.0.1 (#10561)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-01 13:26:30 -04:00
Renovate Bot
a7986773fe chore(deps): update dependency mocha to v10 2022-05-01 13:23:43 +00:00
Misty Release Bot
fa118c6ba4 Latest translations and fallbacks 2022-05-01 09:06:04 +00:00
renovate[bot]
eb3c398e26 fix(deps): update dependency nodebb-plugin-mentions to v3.0.10 (#10560)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 21:20:41 -04:00
renovate[bot]
c3ff28ff55 fix(deps): update dependency nodebb-plugin-dbsearch to v5.1.5 (#10559)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 21:20:33 -04:00
Misty Release Bot
d617c6651b chore(i18n): fallback strings for new resources: nodebb.post-queue 2022-04-30 23:18:25 +00:00
Barış Soner Uşaklı
40047e1599 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-04-30 19:17:26 -04:00
Barış Soner Uşaklı
012860a49a feat: show number of selected posts in reject confirm 2022-04-30 19:17:22 -04:00
Misty Release Bot
3492dd11e6 chore(i18n): fallback strings for new resources: nodebb.post-queue 2022-04-30 23:08:36 +00:00
Barış Soner Uşaklı
23175110a2 feat: post queue bulk actions closes #10520, fix #10555, 2022-04-30 19:07:49 -04:00
renovate[bot]
1acbe4c10f fix(deps): update dependency nodebb-plugin-mentions to v3.0.9 (#10554)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 18:51:11 -04:00
renovate[bot]
6217db0041 fix(deps): update dependency postcss to v8.4.13 (#10553)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 09:58:04 -04:00
renovate[bot]
b0dc561579 fix(deps): update dependency express to v4.18.1 (#10550)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 09:57:37 -04:00
renovate[bot]
672ab25ab4 fix(deps): pin dependency webpack to 5.72.0 (#10549)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-30 09:56:38 -04:00
Misty Release Bot
72d47a0b8a chore(i18n): fallback strings for new resources: nodebb.error, nodebb.flags 2022-04-30 01:40:55 +00:00
Barış Soner Uşaklı
d20b07cfea Webpack5 (#10311)
* feat: webpack 5 part 1

* fix: gruntfile fixes

* fix: fix taskbar warning

add app.importScript
copy public/src/modules to build folder

* refactor: remove commented old code

* feat: reenable admin

* fix: acp settings pages, fix sortable on manage categories

embedded require in html not allowed

* fix: bundle serialize/deserizeli so plugins dont break

* test: fixe util tests

* test: fix require path

* test: more test fixes

* test: require correct utils module

* test: require correct utils

* test: log stack

* test: fix db require blowing up tests

* test: move and disable bundle test

* refactor: add aliases

* test: disable testing route

* fix: move webpack modules necessary for build, into `dependencies`

* test: fix one more test

remove 500-embed.tpl

* fix: restore use of assets/nodebb.min.js, at least for now

* fix: remove unnecessary line break

* fix: point to proper ACP bundle

* test: maybe fix build test

* test: composer

* refactor: dont need dist

* refactor: more cleanup

use everything from build/public folder

* get rid of conditional import in app.js

* fix: ace

* refactor: cropper alias

* test: lint and test fixes

* lint: fix

* refactor: rename function to app.require

* refactor: go back to using app.require

* chore: use github branch

* chore: use webpack branch

* feat: webpack webinstaller

* feat: add chunkFile name with contenthash

* refactor: move hooks to top

* refactor: get rid of template500Function

* fix(deps): use webpack5 branch of 2factor plugin

* chore: tagging v2.0.0-beta.0 pre-release version 💥 :shipit: 🎉 🚀

* refactor: disable cache on templates

loadTemplate is called once by benchpress and the result is cache internally

* refactor: add server side helpers.js

* feat: deprecate /plugins shorthand route, closes #10343

* refactor: use build/public for webpack

* test: fix filename

* fix: more specific selector

* lint: ignore

* refactor: fix comments

* test: add debug for random failing test

* refactor: cleanup

remove test page, remove dupe functions in utils.common

* lint: use relative path  for now

* chore: bump prerelease version

* feat: add translateKeys

* fix: optional params

* fix: get rid of extra timeago files

* refactor: cleanup, require timeago locale earlier

remove translator.prepareDOM, it is in header.tpl html tag

* 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

* 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

* feat: allow app.require('bootbox'/'benchpressjs')

* refactor: require server side utils

* test: jquery ready

* change istaller to use build/public

* test: use document.addEventListener

* refactor: closes #10301

* refactor: generateTopicClass

* fix: column counts for other privileges

* fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking]

* fix: typo in hook name

* refactor: introduce a generic autocomplete.init() method that can be called to add nodebb-style autocompletion but using different data sources (e.g. not user/groups/tags)

* fix: crash if `delay` not passed in (as it cannot be destructured)

* refactor: replace substr

* feat: set --panel-offset style in html element based on stored value in localStorage

* refactor: addDropupHandler() logic to be less naive

- Take into account height of the menu
- Don't apply dropUp logic if there's nothing in the dropdown
- Remove 'hidden' class (added by default in Persona for post tools) when menu items are added

closes #10423

* refactor: simplify utils.params [breaking]

Retrospective analysis of the usage of this method suggests that the options passed in are superfluous, and that only `url` is required. Using a browser built-in makes more sense to accomplish what this method sets out to do.

* feat: add support for returning full URLSearchParams for utils.params

* fix: utils.params() fallback handling

* fix: default empty obj for params()

* fix: remove \'loggedin\' and \'register\' qs parameters once they have been used, delay invocation of messages until ajaxify.end

* fix: utils.params() not allowing relative paths to be passed in

* refactor(DRY): new assertPasswordValidity utils method

* fix: incorrect error message returned on insufficient privilege on flag edit

* fix: read/update/delete access to flags API should be limited for moderators to only post flags in categories they moderate

- added failing tests and patched up middleware.assert.flags to fix

* refactor: flag api v3 tests to create new post and flags on every round

* fix: missing error:no-flag language key

* refactor: flags.canView to check flag existence, simplify middleware.assert.flag

* feat: flag deletion API endpoint, #10426

* feat: UI for flag deletion, closes #10426

* chore: update plugin versions

* chore: up emoji

* chore: update markdown

* chore: up emoji-android

* fix: regression caused by utils.params() refactor, supports arrays and pipes all values through utils.toType, adjusts tests to type check

Co-authored-by: Julian Lam <julian@nodebb.org>
2022-04-29 21:39:33 -04:00
renovate[bot]
d6843294fc fix(deps): update dependency cron to v1.8.3 (#10543)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-29 12:49:30 -04:00
dependabot[bot]
a2e263a12a chore(deps): bump nodebb-plugin-dbsearch from 5.1.3 to 5.1.4 in /install (#10545)
Bumps [nodebb-plugin-dbsearch](https://github.com/barisusakli/nodebb-plugin-dbsearch) from 5.1.3 to 5.1.4.
- [Release notes](https://github.com/barisusakli/nodebb-plugin-dbsearch/releases)
- [Commits](https://github.com/barisusakli/nodebb-plugin-dbsearch/compare/v5.1.3...v5.1.4)

---
updated-dependencies:
- dependency-name: nodebb-plugin-dbsearch
  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-04-29 12:38:21 -04:00
renovate[bot]
8d47f352e5 fix(deps): update dependency bootbox to v5.5.3 (#10531)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-29 12:03:41 -04:00
renovate[bot]
afefee0802 fix(deps): update dependency nodemailer to v6.7.4 (#10540)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-29 12:02:54 -04:00
Julian Lam
e4a9c07817 feat: output canonical URL as last line on NodeBB boot 2022-04-29 11:29:02 -04:00
Renovate Bot
62f1c78a06 chore(deps): update dependency smtp-server to v3.11.0 2022-04-29 00:52:11 +00:00
Misty Release Bot
a764df5212 chore: update changelog for v1.19.7 2022-04-28 13:40:05 +00:00
Misty Release Bot
0c4850e287 chore: incrementing version number - v1.19.7 2022-04-28 13:40:04 +00:00
Renovate Bot
0d9179f7a1 chore(deps): update commitlint monorepo to v16.2.4 2022-04-28 06:37:13 +00:00
Misty Release Bot
4345439895 Latest translations and fallbacks 2022-04-27 09:06:30 +00:00
renovate[bot]
804542e403 chore(deps): update dependency lint-staged to v12.4.1 (#10527)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-26 13:40:41 -04:00
Barış Soner Uşaklı
50658a82f0 test: remove node18 until nodemailer is fixed 2022-04-26 13:35:29 -04:00
Julian Lam
21dbd47688 fix: typo in hook name 2022-04-26 11:31:46 -04:00
Julian Lam
46fbe15665 fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking] 2022-04-26 11:31:42 -04:00
Misty Release Bot
78afb88284 Latest translations and fallbacks 2022-04-26 09:08:14 +00:00
renovate[bot]
5ae690a672 fix(deps): update dependency express to v4.18.0 (#10526)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-25 22:10:29 -04:00
renovate[bot]
d86c447a6c fix(deps): update socket.io packages to v4.5.0 (#10522)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-25 22:10:06 -04:00
dependabot[bot]
0c2d015cdc chore(deps): bump socket.io from 4.4.1 to 4.5.0 in /install (#10523)
Bumps [socket.io](https://github.com/socketio/socket.io) from 4.4.1 to 4.5.0.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.4.1...4.5.0)

---
updated-dependencies:
- dependency-name: socket.io
  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-04-25 18:56:22 -04:00
renovate[bot]
5ce4c87473 fix(deps): update dependency autoprefixer to v10.4.5 (#10521)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-24 22:34:35 -04:00
renovate[bot]
b81a0cfe8a fix(deps): update dependency nodebb-plugin-2factor to v3.0.7 (#10510)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-24 22:06:44 -04:00
renovate[bot]
40b7ff4b7b chore(deps): update dependency eslint to v8.14.0 (#10514)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-24 22:06:31 -04:00
renovate[bot]
a767d623a6 fix(deps): update dependency nodebb-widget-essentials to v5.0.11 (#10517)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-24 22:06:16 -04:00
Barış Soner Uşaklı
82389469f6 feat: make it simpler to use redis sentinels 2022-04-22 15:39:27 -04:00
Barış Soner Uşaklı
d98ca43799 Revert "refactor: closes #10509"
This reverts commit 7f241dbbe6.
2022-04-22 15:24:02 -04:00
Barış Soner Uşaklı
7f241dbbe6 refactor: closes #10509
deprecate third param(middleware) to setupPageRoute/setupAdminPageRoute
make middlewares optional on all 3 helpers
2022-04-22 15:22:08 -04:00
Barış Soner Uşaklı
976914e71f test: remove node 12, add 18 2022-04-22 13:29:41 -04:00
Barış Soner Uşaklı
ac125538d0 refactor: show invalid uri 2022-04-22 12:13:43 -04:00
Misty Release Bot
dba12fd4bf Latest translations and fallbacks 2022-04-22 09:06:40 +00:00
Barış Soner Uşaklı
a8e642ade2 refactor: skip content length check if submitting from post-queue 2022-04-21 12:23:37 -04:00
Misty Release Bot
0afe1d5f73 Latest translations and fallbacks 2022-04-21 09:06:18 +00:00
Renovate Bot
fff818c65f chore(deps): update dependency lint-staged to v12.4.0 2022-04-21 03:21:41 +00:00
renovate[bot]
a36911fc49 fix(deps): update dependency sharp to v0.30.4 (#10504)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-19 13:19:16 -04:00
Barış Soner Uşaklı
983197b236 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-04-19 13:17:13 -04:00
Barış Soner Uşaklı
424db9ff37 fix: upload test for latest sharp 2022-04-19 13:17:03 -04:00
Misty Release Bot
56888b1de7 Latest translations and fallbacks 2022-04-19 09:07:07 +00:00
Misty Release Bot
01e65395ef chore(i18n): fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.error 2022-04-18 19:30:38 +00:00
Misty Release Bot
9007afb995 Latest translations and fallbacks 2022-04-18 19:24:44 +00:00
Barış Soner Uşaklı
b9f9164308 fix: #10502, allow unblocking admin/mod
if they were blocked before becoming admin/mod it wasn't possible to unblock them
2022-04-17 18:15:49 -04:00
Barış Soner Uşaklı
b28f9f776a feat: closes #10501, minimum reputation to chat 2022-04-16 21:37:54 -04:00
renovate[bot]
07678fb5a4 fix(deps): update dependency prompt to v1.3.0 (#10487)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-15 22:14:08 -04:00
renovate[bot]
fe492b1127 fix(deps): update dependency nconf to v0.12.0 (#10496)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-15 22:12:46 -04:00
renovate[bot]
6c72785971 fix(deps): update dependency archiver to v5.3.1 (#10500)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-15 22:11:39 -04:00
Renovate Bot
7c1d98c7fa chore(deps): update dependency lint-staged to v12.3.8 2022-04-15 13:34:01 +00:00
Misty Release Bot
acca78117a chore: update changelog for v1.19.6 2022-04-13 21:25:10 +00:00
Misty Release Bot
283a0072a8 chore: incrementing version number - v1.19.6 2022-04-13 21:25:09 +00:00
Barış Soner Uşaklı
5316029f91 fix: dont add caller to arrays 2022-04-13 15:09:58 -04:00
dependabot[bot]
65cec8d026 chore(deps): bump semver from 7.3.6 to 7.3.7 in /install (#10493)
Bumps [semver](https://github.com/npm/node-semver) from 7.3.6 to 7.3.7.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.6...v7.3.7)

---
updated-dependencies:
- dependency-name: semver
  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-04-13 13:30:32 -04:00
Barış Soner Uşaklı
c52401da02 fix: #10491, don't leak deleted message in cleanedContent 2022-04-12 15:36:06 -04:00
renovate[bot]
7c733e9cf1 fix(deps): update dependency nodebb-plugin-mentions to v3.0.8 (#10490)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-12 12:13:24 -04:00
Renovate Bot
9f49665958 chore(deps): update dependency grunt to v1.5.2 2022-04-12 15:46:44 +00:00
renovate[bot]
dc03a2f95c fix(deps): update dependency winston to v3.7.2 (#10454)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-11 18:39:39 -04:00
renovate[bot]
f253bbddae fix(deps): update dependency nconf to v0.11.4 (#10481)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-11 18:39:02 -04:00
Renovate Bot
0a8bf44e63 chore(deps): update dependency grunt to v1.5.1 2022-04-11 18:25:45 +00:00
Renovate Bot
e82d8bb69b chore(deps): update dependency grunt to v1.5.0 2022-04-11 12:30:07 +00:00
renovate[bot]
bbf2b73e91 fix(deps): update dependency yargs to v17.4.1 (#10480)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-09 21:35:44 -04:00
renovate[bot]
88200ec12f fix(deps): update dependency ioredis to v5.0.4 (#10479)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-09 21:35:16 -04:00
Renovate Bot
bc3aabb453 chore(deps): update dependency eslint to v8.13.0 2022-04-09 01:47:45 +00:00
Julian Lam
9f91db16cb fix: #10473, trim trailing slashes on config url 2022-04-08 10:28:15 -04:00
renovate[bot]
91026e5f14 fix(deps): update dependency html-to-text to v8.2.0 (#10471)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-07 18:05:41 -04:00
Barış Soner Uşaklı
398777633f fix: closes #10436, fix DST issue on acp dashboard 2022-04-07 14:14:28 -04:00
renovate[bot]
c50de9112d fix(deps): update dependency semver to v7.3.6 (#10466)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-07 14:07:03 -04:00
renovate[bot]
b3ec805988 fix(deps): update dependency html-to-text to v8.1.1 (#10470)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-07 14:06:53 -04:00
Barış Soner Uşaklı
767973717b perf: WIP #10449, allow array of pids for posts.purge (#10465)
* perf: WIP #10449, allow array of pids for posts.purge

* refactor: deletePostDiffs

* perf: deletePostFromReplies/deletePostFromGroups

* refactor: upload

* refactor: deleteFromCategoryRecentPosts

deleteFromUsersBookmarks
deleteFromUsersVotes

* feat: closes #10468, add incrObjectFieldByBulk

* refactor: allow nids for notifications.rescind

* refactor: allow uids array for user.updatePostCount

* refactor: rewrite deleteFromTopicUserNotification to work with an array

* feat: deprecate action:post.purge as well

* lint: add missing comma
2022-04-07 14:06:25 -04:00
Renovate Bot
a2ebf53b60 chore(deps): update dependency eslint-plugin-import to v2.26.0 2022-04-06 01:06:19 +00:00
renovate[bot]
b6517cfd64 fix(deps): update dependency nodebb-widget-essentials to v5.0.10 (#10461)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-05 18:43:57 -04:00
Barış Soner Uşaklı
799e94e02e feat: #10460, add cutoff to suggested topics 2022-04-05 15:37:31 -04:00
renovate[bot]
26511185ac fix(deps): update dependency body-parser to v1.20.0 (#10450)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 20:21:19 -04:00
renovate[bot]
5e37f34e19 fix(deps): update dependency spdx-license-list to v6.5.0 (#10452)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 20:20:56 -04:00
renovate[bot]
947fa193a9 fix(deps): update dependency graceful-fs to v4.2.10 (#10457)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 20:20:17 -04:00
renovate[bot]
30f728ca2d fix(deps): update dependency mongodb to v4.5.0 (#10458)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-04 20:20:08 -04:00
Barış Soner Uşaklı
e8058ca35c feat: add response:helpers.notAllowed 2022-04-04 17:34:52 -04:00
Barış Soner Uşaklı
b8765df5f4 feat: add filter:image.stripEXIF 2022-03-31 14:58:43 -04:00
CommanderRoot
200f0b2e4f refactor: replace deprecated String.prototype.substr() (#10432)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-03-31 13:49:56 -04:00
renovate[bot]
0d744d30f2 fix(deps): update dependency ioredis to v5.0.3 (#10446)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-31 11:25:05 -04:00
chadjw
fe072d6091 Allows socket authentication to be handled within plugins (#10428) 2022-03-30 14:58:08 -04:00
renovate[bot]
060ad1b003 fix(deps): update dependency ioredis to v5 (#10434)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-30 14:56:20 -04:00
renovate[bot]
0ac426e0fc fix(deps): update dependency nodebb-plugin-2factor to v3.0.6 (#10435)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-30 14:54:23 -04:00
dependabot[bot]
5b1789c139 chore(deps): bump nodebb-theme-persona from 11.4.3 to 11.4.4 in /install (#10437)
Bumps [nodebb-theme-persona](https://github.com/NodeBB/nodebb-theme-persona) from 11.4.3 to 11.4.4.
- [Release notes](https://github.com/NodeBB/nodebb-theme-persona/releases)
- [Commits](https://github.com/NodeBB/nodebb-theme-persona/compare/v11.4.3...v11.4.4)

---
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-03-30 14:30:30 -04:00
dependabot[bot]
c8c4293306 chore(deps): bump nodebb-plugin-composer-default in /install (#10438)
Bumps [nodebb-plugin-composer-default](https://github.com/NodeBB/nodebb-plugin-composer-default) from 7.0.21 to 7.0.22.
- [Release notes](https://github.com/NodeBB/nodebb-plugin-composer-default/releases)
- [Commits](https://github.com/NodeBB/nodebb-plugin-composer-default/compare/v7.0.21...v7.0.22)

---
updated-dependencies:
- dependency-name: nodebb-plugin-composer-default
  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-30 14:30:22 -04:00
Misty (Bot)
7acc3ea3f8 Latest translations and fallbacks 2022-03-28 09:05:56 -04:00
Misty (Bot)
829870391b Latest translations and fallbacks 2022-03-26 09:05:57 -04:00
Renovate Bot
a6590e20e4 chore(deps): update dependency eslint to v8.12.0 2022-03-26 01:27:27 +00:00
renovate[bot]
898e0e8925 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.21 (#10429)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-25 12:47:02 -04:00
Misty (Bot)
4fe531fc2a Latest translations and fallbacks 2022-03-25 09:06:01 -04:00
Misty (Bot)
a06d1246fd chore(i18n): fallback strings for new resources: nodebb.post-queue 2022-03-24 13:00:35 -04:00
Barış Soner Uşaklı
538ad9e18b feat: add confirm to reject, closes #10427 2022-03-24 12:59:38 -04:00
Misty (Bot)
56db0b56ab Latest translations and fallbacks 2022-03-24 09:06:14 -04:00
Barış Soner Uşaklı
002a241cc5 fix: delete history as well 2022-03-23 19:07:18 -04:00
Barış Soner Uşaklı
93b6053284 fix: handle purge posts as well 2022-03-23 18:38:36 -04:00
Barış Soner Uşaklı
41e70901a6 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-03-23 18:38:20 -04:00
Julian Lam
b88bb3cfbb feat: allow client-side hook registration chaining 2022-03-23 16:35:59 -04:00
Barış Soner Uşaklı
edd7144946 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-03-23 15:38:26 -04:00
Barış Soner Uşaklı
31251282ad feat: delete flagId field from post/user on flag purge 2022-03-23 15:38:21 -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
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
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
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
2b9b2b4a25 fix: column counts for other privileges 2022-03-17 13:38:40 -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ı
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
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
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
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
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ı
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ı
997ab7d416 fix: #10377, remove logging of env vars 2022-03-10 12:14: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ı
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ı
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ı
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
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ı
56345777ce fix: always show self on /users?online 2022-03-04 13:28:54 -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
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
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ı
50ed3a324c test: possible fix random psql test failure 2022-03-02 17:51:07 -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
fec907d99d fix: #10354, flag actions regression 2022-03-01 14:30:29 -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ı
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
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ı
0e12f82dd8 fix: dont overwrite asset_base_url if its set 2022-02-25 18:42:45 -05:00
Barış Soner Uşaklı
e0b1c374e4 feat: resolve paths for staticDirs as well 2022-02-25 14:43:10 -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
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
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ı
6b22d0e15f fix: #10334, use the correct env vars for web install 2022-02-21 20:12:45 -05:00
Misty (Bot)
496e9013d3 Latest translations and fallbacks 2022-02-21 04:05:55 -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
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ı
5694e62e59 fix: #10322 2022-02-18 17:22:14 -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
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
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
Barış Soner Uşaklı
9db90a3098 test: log configJSON 2022-02-17 15:11:24 -05:00
Barış Soner Uşaklı
32f693019b test: check contents of config.json in tests 2022-02-17 14:47:23 -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ı
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ı
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
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
Misty (Bot)
8d85dfe3f5 Latest translations and fallbacks 2022-02-15 09:06:36 +00:00
Barış Soner Uşaklı
946d351f3a refactor: lazy load slugify 2022-02-14 21:50:30 -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
Julian Lam
d098e26f82 User Email and email validation API (#10160)
* feat: wip user emails api

* fix: allow admins with manage-users access to email confirmation api as well

* fix: wrong route path

* docs: openapi spec
2022-01-21 11:20:39 -05:00
Julian Lam
868bff302c Update SECURITY.md
- fixed link to bounty page
2022-01-21 10:39:54 -05:00
Misty (Bot)
890b1201b9 Latest translations and fallbacks 2022-01-21 09:06:06 +00:00
dependabot[bot]
4a5182e4aa chore(deps): bump compare-versions from 4.1.2 to 4.1.3 in /install (#10154)
Bumps [compare-versions](https://github.com/omichelsen/compare-versions) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/omichelsen/compare-versions/releases)
- [Changelog](https://github.com/omichelsen/compare-versions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/omichelsen/compare-versions/commits)

---
updated-dependencies:
- dependency-name: compare-versions
  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-20 23:18:20 -05:00
renovate[bot]
55b3a355be fix(deps): update dependency jquery-ui to v1.13.1 (#10186)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 23:18:02 -05:00
renovate[bot]
7fa2ba70d9 fix(deps): update dependency multiparty to v4.2.3 (#10188)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 23:17:50 -05:00
Barış Soner Uşaklı
10949184ca test: add failing guest csrf test (#10169)
* test: add failing guest csrf test

* test: use correct var

* fix: use applyCsrf for guests as well
2022-01-20 18:22:10 -05:00
Renovate Bot
f090de3688 chore(deps): update dependency lint-staged to v12.2.2 2022-01-20 21:18:48 +00:00
Renovate Bot
44d81a95bc chore(deps): update dependency @commitlint/cli to v16.1.0 2022-01-20 12:54:14 +00:00
Misty (Bot)
4e0b4b0759 Latest translations and fallbacks 2022-01-20 09:06:00 +00:00
Barış Soner Uşaklı
89871d714a chore: up persona 2022-01-19 21:53:17 -05:00
Barış Soner Uşaklı
2835966518 fix: urls used when recent/unread/popular/top is used as the homepage
if recent is used as the homepage then changing the selected category or filters was redirecting the user to forum.com/recent?cid=1 instead of staying at forum.com/?cid=1

also fix unread page mark read button showing the selected category
2022-01-19 21:48:49 -05:00
Barış Soner Uşaklı
1c80adf1ef feat: revert label js change 2022-01-19 21:41:39 -05:00
Barış Soner Uşaklı
fdfafb44fb fix: mark unread button showing the selected category 2022-01-19 21:30:14 -05:00
Barış Soner Uşaklı
a8c0a56bcc Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-01-19 20:52:18 -05:00
Barış Soner Uşaklı
c1ec20470b fix: catch exceptions from sendNotifications 2022-01-19 20:52:12 -05:00
renovate[bot]
e03d47473b fix(deps): update dependency nodebb-theme-persona to v11.3.15 (#10155)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Barış Soner Uşaklı <baris@nodebb.org>
2022-01-19 20:51:22 -05:00
Barış Soner Uşaklı
d7796f0b73 chore: add test.sh to gitignore 2022-01-19 20:32:00 -05:00
Barış Soner Uşaklı
250274c72b chore: delete test script 2022-01-19 20:31:20 -05:00
Barış Soner Uşaklı
e9d0db2892 feat: hide all categories link on flags filters 2022-01-19 20:30:52 -05:00
Barış Soner Uşaklı
3e8cb732c5 fix: multiple cid filter on flags page
if multiple categories were selected it wasnt applied because of typeof string check
2022-01-19 20:30:31 -05:00
renovate[bot]
693ca1f11f fix(deps): update dependency mongodb to v4.3.1 (#10178)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 10:19:23 -05:00
Magnus
7bd3e31dec Fullname in notifications (#10157)
* init - fullname notifications setting

* fullname in topic reply

* fullname for group-request-membership

* fullname for group-leave notification

* fullname for new-post-flag & new-user-flag

* removed log

* fullname for user follow

* fullname in message notification

* fullname in follow

* fullname for sendNotificationToPostOwner

* fullname in sendNotificationToTopicOwner

* fullname in doExport

* shorthand name set

* shorter name set

* fullname in notifications

* displayname for notifications

* removed unused require
2022-01-19 10:19:11 -05:00
Renovate Bot
857ac48021 chore(deps): update dependency lint-staged to v12.2.1 2022-01-19 15:11:43 +00:00
Renovate Bot
9c63d076db chore(deps): update dependency @commitlint/cli to v16.0.3 2022-01-19 13:42:50 +00:00
Barış Soner Uşaklı
f9279b636b fix: post indices if there is a blocked user in topic 2022-01-18 20:31:06 -05:00
Barış Soner Uşaklı
3b72ff8742 fix: dont add duplicate link backs 2022-01-18 20:12:50 -05:00
Misty (Bot)
78cd6de7e7 chore(i18n): fallback strings for new resources: nodebb.admin-settings-user 2022-01-19 00:39:12 +00:00
Barış Soner Uşaklı
2fe91e364e chore: remove unused lang key #10180 2022-01-18 19:38:25 -05:00
Renovate Bot
1a0c117dde chore(deps): update dependency lint-staged to v12.2.0 2022-01-18 17:58:47 +00:00
Misty (Bot)
8c9609fdd0 Latest translations and fallbacks 2022-01-18 09:05:54 +00:00
Barış Soner Uşaklı
b06c6329e4 fix: #10175, fix topic linkbacks duplicating on post edit 2022-01-17 19:05:07 -05:00
Misty (Bot)
8b06d3770d Latest translations and fallbacks 2022-01-17 09:05:55 +00:00
Renovate Bot
8abaf3f643 chore(deps): update dependency eslint to v8.7.0 2022-01-17 02:20:09 +00:00
Misty (Bot)
3ec9197c5c chore(i18n): fallback strings for new resources: nodebb.user 2022-01-16 23:34:48 +00:00
Barış Soner Uşaklı
d1eb21c56d fix: #10173, don't show optional message if email is required 2022-01-16 18:34:05 -05:00
Barış Soner Uşaklı
6a75ed50fa fix: #10172, fix postqueue accept/reject notification text 2022-01-16 16:13:42 -05:00
Barış Soner Uşaklı
4799efc790 fix: #10167, fix regression prevent guest post 2022-01-15 10:29:52 -05:00
Renovate Bot
f5ad173b56 chore(deps): update dependency mocha to v9.1.4 2022-01-14 23:54:49 +00:00
renovate[bot]
2c75cce654 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.18 (#10164)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-14 17:08:26 -05:00
Misty (Bot)
354aa1a58b chore(i18n): fallback strings for new resources: nodebb.email 2022-01-14 20:35:33 +00:00
Julian Lam
31ea2266a6 feat: nicer error handling for bad jwt in unsubscribe template 2022-01-14 15:34:46 -05:00
Barış Soner Uşaklı
c9fabb0e1d refactor: add method to error messages 2022-01-14 14:34:08 -05:00
Julian Lam
e9ee843b27 fix: CSRF handler to go back to saving in session (#10159) 2022-01-14 13:38:24 -05:00
Barış Soner Uşaklı
03f5cbcce1 fix: #10158, fix extra padding 2022-01-13 19:52:11 -05:00
Misty (Bot)
18b0a29f6f chore: incrementing version number - v1.19.0
(cherry picked from commit aa77758afd)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2022-01-13 18:51:22 +00:00
Misty (Bot)
c8f1bc530b chore: update changelog for v1.19.0 2022-01-13 18:51:22 +00:00
Misty (Bot)
d35ed55b5c Latest translations and fallbacks 2022-01-13 09:06:53 +00:00
Renovate Bot
ad6f6051bd fix(deps): update dependency nodebb-plugin-markdown to v8.14.6 2022-01-12 22:04:29 -05:00
Julian Lam
31b4b8fd6e feat: bundling nodebb-plugin-2factor with all NodeBB installations, v1.19.0 onwards 🎉 2022-01-12 11:18:44 -05:00
Julian Lam
6ca216ab6e feat: revoke user sessions on successful password reset 2022-01-12 11:09:02 -05:00
Julian Lam
be4dbe3441 chore: org; merge consecutive await calls into one Promise.all 2022-01-12 11:08:34 -05:00
Misty (Bot)
53ac159e28 Latest translations and fallbacks 2022-01-12 09:06:03 +00:00
renovate[bot]
2fee1d074e fix(deps): update dependency winston to v3.4.0 (#10150)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 18:52:39 -05:00
renovate[bot]
bfad04ab85 fix(deps): update dependency ioredis to v4.28.3 (#10151)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 18:51:56 -05:00
Renovate Bot
56d134c317 chore(deps): update commitlint monorepo 2022-01-11 23:50:19 +00:00
Julian Lam
0a5420ed74 chore: fix #9213 2022-01-11 14:35:38 -05:00
Julian Lam
487f25ba29 chore: revert engines change in install/package.json 2022-01-11 14:33:41 -05:00
Julian Lam
f95acce3b5 chore: update renovate config
- Auto-merge dev dependencies only
- Do not touch
2022-01-11 14:33:10 -05:00
Julian Lam
ffdf26afef docs: comment hint :shipit: 2022-01-11 13:54:02 -05:00
Misty (Bot)
2633d8a53c Latest translations and fallbacks 2022-01-11 09:05:42 +00:00
Renovate Bot
da2bb340ac fix(deps): pin dependencies 2022-01-11 08:36:35 +00:00
renovate[bot]
15bf3db2b6 fix(deps): pin dependency socket.io-adapter-cluster to 1.0.1 (#10146)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 20:15:29 -05:00
renovate[bot]
2fa3cd0de7 fix(deps): update dependency nodebb-theme-vanilla to v12.1.15 (#10149)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 20:15:14 -05:00
Barış Soner Uşaklı
6c1e184c74 test: fix util test 2022-01-10 18:54:06 -05:00
Barış Soner Uşaklı
afc75ba48a lint: remove unused 2022-01-10 18:45:42 -05:00
Barış Soner Uşaklı
9b75b1ede2 test: update tag tests, fix linux symlink error 2022-01-10 18:41:07 -05:00
renovate[bot]
762de2d862 fix(deps): update dependency nodebb-theme-slick to v1.4.23 (#10148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 18:18:56 -05:00
renovate[bot]
385d4c71d8 fix(deps): update dependency nodebb-theme-persona to v11.3.13 (#10147)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 18:17:22 -05:00
Barış Soner Uşaklı
ea735bc245 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-01-10 18:02:26 -05:00
Barış Soner Uşaklı
c9592e173c fix: lint 2022-01-10 18:02:25 -05:00
Julian Lam
37a71291af fix: icon alignment issue that was also bugging me :shipit: 2022-01-10 17:33:29 -05:00
Julian Lam
bc0f33df95 chore: update renovate range strategy...
... to pin dependencies, and not use a range

@barisusakli @pitaj @oplik0
2022-01-10 16:53:12 -05:00
Barış Soner Uşaklı
a75a043b61 feat: allow % in tags, #10135 2022-01-10 16:44:16 -05:00
Barış Soner Uşaklı
42caef7fa7 fix: #10143, add back ace editor searchbox 2022-01-10 16:22:39 -05:00
Renovate Bot
4bada01b2d fix(deps): update dependency winston to v3.3.4 2022-01-10 05:16:25 +00:00
Opliko
1adc898ba7 Stop colors.js vandalism (#10131)
* fix: pin colors to 1.4.0

* fix: exclude colors from renovate updates
2022-01-08 19:26:28 -05:00
Renovate Bot
40e7007fee chore(deps): update dependency lint-staged to v12.1.7 2022-01-07 20:29:46 +00:00
Renovate Bot
a47883e89b fix(deps): update dependency autoprefixer to v10.4.2 2022-01-07 18:11:13 +00:00
Renovate Bot
f78108ace5 chore(deps): update dependency lint-staged to v12.1.6 2022-01-07 11:49:41 +00:00
Renovate Bot
50eb4556cf fix(deps): update dependency mongodb to v4.3.0 2022-01-07 03:30:21 +00:00
Renovate Bot
9eb00cb2e0 fix(deps): update socket.io packages to v4.4.1 2022-01-06 11:44:52 +00:00
Misty (Bot)
418a6cf04c Latest translations and fallbacks 2022-01-06 09:05:48 +00:00
Misty (Bot)
b610db09e5 Latest translations and fallbacks 2022-01-05 09:06:12 +00:00
Misty (Bot)
d79d7e8081 chore(i18n): fallback strings for new resources: nodebb.user 2022-01-04 15:51:02 +00:00
Barış Soner Uşaklı
5eb02f59c2 fix: #10095, add login info to email interstitial 2022-01-04 10:50:19 -05:00
Barış Soner Uşaklı
8ad64ec0f9 fix: #10121, fix error messages in user creation 2022-01-04 10:24:10 -05:00
Misty (Bot)
6b1cd17e4a Latest translations and fallbacks 2022-01-03 09:05:39 +00:00
Renovate Bot
a69afdb60b chore(deps): update dependency eslint-plugin-import to v2.25.4 2022-01-03 01:37:37 +00:00
Renovate Bot
12038039f5 chore(deps): update dependency lint-staged to v12.1.5 2022-01-02 23:27:13 +00:00
Barış Soner Uşaklı
69a7634a78 fix: #10115, fix chat autocomplete hook 2022-01-02 15:13:30 -05:00
Misty (Bot)
bec0ef8995 Latest translations and fallbacks 2022-01-02 09:05:42 +00:00
Renovate Bot
0a15c99e4f fix(deps): update dependency nodebb-rewards-essentials to v0.2.1 2022-01-02 00:27:18 +00:00
Misty (Bot)
9260355a96 Latest translations and fallbacks 2022-01-01 09:05:41 +00:00
Renovate Bot
b546ff4e84 chore(deps): update dependency eslint to v8.6.0 2022-01-01 01:41:48 +00:00
Misty (Bot)
ccdf65884e Latest translations and fallbacks 2021-12-31 09:05:47 +00:00
Barış Soner Uşaklı
cc27a324b5 fix: notice links in subfolder installs 2021-12-30 23:06:43 -05:00
Julian Lam
d89fc44c03 fix: move authenticateRequest before interstitial and maintenance mode middlewares, allowed plugins to disable authentication on certain routes
fixes #10112
2021-12-30 16:14:50 -05:00
Renovate Bot
f1aa5f7d18 fix(deps): update dependency autoprefixer to v10.4.1 2021-12-29 19:17:10 +00:00
Barış Soner Uşaklı
0d9ec9d30e test: fix restore test 2021-12-28 21:36:37 -05:00
Misty (Bot)
e6a46ef6ce chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2021-12-28 17:41:44 +00:00
Barış Soner Uşaklı
a78e58f252 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-12-28 12:40:57 -05:00
Barış Soner Uşaklı
5278b11a01 refactor: remove unused language key 2021-12-28 12:40:48 -05:00
Misty (Bot)
5439e45f3e Latest translations and fallbacks 2021-12-28 09:05:54 +00:00
Misty (Bot)
1a6d5250fb Latest translations and fallbacks 2021-12-26 09:16:51 +00:00
Renovate Bot
87779fc8f9 chore(deps): update dependency lint-staged to v12.1.4 2021-12-24 13:04:03 +00:00
Misty (Bot)
a395596fbc Latest translations and fallbacks 2021-12-24 09:05:54 +00:00
Renovate Bot
5c3335b799 fix(deps): update dependency yargs to v17.3.1 2021-12-24 01:50:17 +00:00
Julian Lam
b5b188fd53 feat: allow isCluster, isPrimary, and jobsDisabled to be passed in as numbers in addition to string/bool
/cc @barisusakli
2021-12-23 15:20:34 -05:00
renovate[bot]
dd8b1f757d fix(deps): update dependency nodebb-theme-vanilla to v12.1.14 (#10102)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:58:44 -05:00
renovate[bot]
dd1633fff8 fix(deps): update dependency nodebb-theme-slick to v1.4.22 (#10101)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:54:50 -05:00
renovate[bot]
eccdfc9d6b fix(deps): update dependency nodebb-theme-lavender to v5.3.2 (#10099)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:27:12 -05:00
renovate[bot]
ee05b76264 chore(deps): update dependency jsdom to v19 (#10053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:23:11 -05:00
renovate[bot]
4f6fc10b84 fix(deps): update dependency nodebb-theme-persona to v11.3.12 (#10100)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:22:22 -05:00
Barış Soner Uşaklı
07232a8cf6 fix: retry incrObjtFieldBy 2021-12-23 11:28:48 -05:00
Barış Soner Uşaklı
b179f0fc0f fix: use component instead of class name 2021-12-23 11:05:37 -05:00
Misty (Bot)
842f96fc68 Latest translations and fallbacks 2021-12-23 09:05:46 +00:00
Julian Lam
d960f601a1 style: eslint 2021-12-22 15:37:23 -05:00
Julian Lam
2fe53cf849 feat: GET /api/v3/chats/:roomId/messages 2021-12-22 15:19:37 -05:00
Julian Lam
d95b4ee29a fix: assertion check to ensure messages are in the room when editing/deleting, etc 2021-12-22 14:58:42 -05:00
Julian Lam
82768fcf6e chore: remove debug logs in test/api.js 2021-12-22 14:39:31 -05:00
Julian Lam
aaa6f752d0 refactor: put message api calls behind /messages prefix, #10097 2021-12-22 14:39:18 -05:00
Misty (Bot)
207ae8cd6e chore(i18n): fallback strings for new resources: nodebb.error 2021-12-22 16:14:58 +00:00
Julian Lam
aeb43b9bb1 fix: rename language key for incorrect parameter type error 2021-12-22 10:59:36 -05:00
Julian Lam
e747998cba test: fix user tests calling deprecated socket methods 2021-12-22 10:59:36 -05:00
Julian Lam
47ab952639 docs: fix description for route 2021-12-22 10:59:36 -05:00
Julian Lam
0aa25f20d5 docs: roomId is number 2021-12-22 10:59:36 -05:00
Julian Lam
16ba16cdc4 fix: deprecate chats.leave 2021-12-22 10:59:36 -05:00
Julian Lam
fe17c94c35 feat: DELETE /api/v3/chats/:roomId/users and DELETE /api/v3/chats/:roomId/users/:uid 2021-12-22 10:59:36 -05:00
Julian Lam
6294beea0b fix: re-allow kicking of the other party in a 1-to-1 chat 2021-12-22 10:59:36 -05:00
Julian Lam
d62ee84637 feat: POST /chats/:roomId/users 2021-12-22 10:59:36 -05:00
Julian Lam
6eea6451d2 feat: GET /chats/:roomId/users [breaking] 2021-12-22 10:59:36 -05:00
Julian Lam
d5fd098ecf feat: POST /chats/:roomId/:mid and DELETE /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
90fcbe4416 feat: middleware.assert.message 2021-12-22 10:59:36 -05:00
Julian Lam
b292960594 feat: GET /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
f48ed3658a feat: PUT /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
140f9d2481 fix: isFinite check for room assertion, more test migrating 2021-12-22 10:59:36 -05:00
Julian Lam
e745e21242 chore: use apiv3 for room rename tests 2021-12-22 10:59:36 -05:00
Julian Lam
74f1905ea8 feat: allow API checkRequired middleware error to be internationalized 2021-12-22 10:59:36 -05:00
Julian Lam
c990211cf2 refactor: rewrite messaging tests to use API v3 calls when available, rewrote a bunch of tests to async..await 2021-12-22 10:59:36 -05:00
Julian Lam
9a4fd5dc7e feat: PUT /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
eeffb9d978 feat: POST /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
09cf9c7770 feat: GET /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
55e68e2fd5 docs: openAPI documentation for routes 2021-12-22 10:59:36 -05:00
Julian Lam
40b4544e70 feat: POST /api/v3/chats, chat room creation, plus openAPI docs update 2021-12-22 10:59:36 -05:00
Julian Lam
94bead71fe feat: GET /api/v3/chats 2021-12-22 10:59:36 -05:00
Julian Lam
02e878be72 feat: stub code for v3 chats api 2021-12-22 10:59:36 -05:00
Barış Soner Uşaklı
a115b771f0 fix: #10096, don't display preview for links if hostname doesnt match 2021-12-22 10:55:30 -05:00
Misty (Bot)
139a4378b3 Latest translations and fallbacks 2021-12-22 09:05:51 +00:00
Barış Soner Uşaklı
35fea58a57 refactor: only write analytics data on nbb that has runJobs=true
prevents mongodb index error when lots of nodebbs try to write to the same key
2021-12-21 23:09:01 -05:00
Barış Soner Uşaklı
a9f81215cf fix: only render preview on topic page 2021-12-21 11:52:16 -05:00
Julian Lam
33c8b1971e docs: use social media card in readme header 2021-12-21 01:10:47 -05:00
Julian Lam
f7b3f69f6a docs: add social media card 2021-12-21 01:10:15 -05:00
Barış Soner Uşaklı
42781467d2 refactor: remove knonwOwner param 2021-12-20 17:43:45 -05:00
Barış Soner Uşaklı
8fb89d761a fix: don't crash server if analytics fails to save
fixes
MongoBulkWriteError: E11000 duplicate key error collection:
 community.objects index: _key_1_value_-1 dup key: { _key: "analytics:pageviews", value: "1639807200000" }
2021-12-20 16:28:03 -05:00
Barış Soner Uşaklı
e332acf3f7 fix: upgrade script to handle strings as well 2021-12-20 15:43:44 -05:00
Renovate Bot
32cbf760f6 fix(deps): update dependency nodebb-theme-persona to v11.3.11 2021-12-20 13:58:36 -05:00
Nazim
d23ac79839 Revert 2021-12-20 10:11:19 -05:00
Nils Ramsperger
c046b8f41d fixed version number 2021-12-20 10:09:52 -05:00
Renovate Bot
9253519c72 fix(deps): update dependency nodebb-theme-slick to v1.4.21 2021-12-19 17:31:40 +00:00
Misty (Bot)
a1729e1afd Latest translations and fallbacks 2021-12-19 09:05:48 +00:00
Barış Soner Uşaklı
fdaf8274cf fix: #10090, remove left over necro posts messages 2021-12-18 16:46:49 -05:00
Renovate Bot
c0dd8dcb1f chore(deps): update dependency lint-staged to v12.1.3 2021-12-18 13:45:45 +00:00
Misty (Bot)
34ffe69f27 Latest translations and fallbacks 2021-12-18 09:05:48 +00:00
Renovate Bot
55b9fab1be chore(deps): update dependency eslint to v8.5.0 2021-12-18 02:25:28 +00:00
Barış Soner Uşaklı
a76444662c refactor: remove console.log 2021-12-17 19:06:41 -05:00
Barış Soner Uşaklı
59214ca297 fix: #10086, if pidfile is empty delete 2021-12-17 19:06:01 -05:00
Misty (Bot)
edba10e22c chore(i18n): fallback strings for new resources: nodebb.post-queue 2021-12-17 20:31:45 +00:00
Julian Lam
5e68a99e73 Revert "chore: trigger lang"
This reverts commit 540eeae9bc.
2021-12-17 15:30:58 -05:00
Barış Soner Uşaklı
540eeae9bc chore: trigger lang 2021-12-17 13:50:37 -05:00
renovate[bot]
019804e177 fix(deps): update dependency nodebb-theme-slick to v1.4.20 (#10084)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-17 12:22:33 -05:00
renovate[bot]
66c759ed2b fix(deps): update dependency nodebb-theme-vanilla to v12.1.13 (#10085)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-17 12:18:03 -05:00
Misty (Bot)
98abf30b18 Latest translations and fallbacks 2021-12-17 09:06:11 +00:00
renovate[bot]
d276c9cdb1 fix(deps): update dependency nodebb-theme-persona to v11.3.10 (#10083)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:50:27 -05:00
renovate[bot]
0ef9c7ab2e fix(deps): update dependency nodebb-plugin-composer-default to v7.0.17 (#10082)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:50:21 -05:00
Barış Soner Uşaklı
4e1d421722 refactor: remove unused validator 2021-12-16 22:45:31 -05:00
Misty (Bot)
fd939f8bec chore(i18n): fallback strings for new resources: nodebb.modules, nodebb.notifications 2021-12-17 03:26:55 +00:00
Barış Soner Uşaklı
c4042c70de feat: #9506, allow seeing and editing your queued posts
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
2021-12-16 22:25:39 -05:00
Barış Soner Uşaklı
b8896d1328 refactor: only pass qs 2021-12-16 13:46:49 -05:00
Barış Soner Uşaklı
599bffd8e0 feat: pass in all query params to category search filter 2021-12-16 13:26:07 -05:00
Barış Soner Uşaklı
c4156bdd7b feat: add data param to filter:categories.search
so plugins can do custom search for categories
2021-12-16 09:42:16 -05:00
Misty (Bot)
2170c8a8f5 Latest translations and fallbacks 2021-12-16 09:06:09 +00:00
Barış Soner Uşaklı
1e60ae8703 refactor: change error message 2021-12-15 21:32:30 -05:00
Barış Soner Uşaklı
1264dcb555 test: add email interstitial tests 2021-12-15 21:28:46 -05:00
Barış Soner Uşaklı
91e21ecc62 fix: utils method 2021-12-15 14:03:46 -05:00
Barış Soner Uşaklı
9f1b8a3b1e refactor: use hasOwnProperty 2021-12-15 13:48:59 -05:00
Barış Soner Uşaklı
dbba0c396b refactor: remove object.create 2021-12-15 13:48:31 -05:00
Barış Soner Uşaklı
3d3ae82f5b refactor: remove unused args 2021-12-15 13:42:16 -05:00
Barış Soner Uşaklı
633061f4a7 refactor: remove comment 2021-12-15 12:51:52 -05:00
Barış Soner Uşaklı
d4f3ee67fa refactor: use .map to return promises 2021-12-15 12:49:50 -05:00
Renovate Bot
dda7c0753e fix(deps): update dependency nodebb-theme-vanilla to v12.1.12 2021-12-14 23:51:42 +00:00
Barış Soner Uşaklı
5e08f7e604 test: don't use csrf_token for get,head, options 2021-12-14 14:44:05 -05:00
Renovate Bot
4577600e98 fix(deps): update dependency nodebb-theme-slick to v1.4.19 2021-12-14 19:15:13 +00:00
Barış Soner Uşaklı
0e273ab25a test: fix tests 2021-12-14 12:15:08 -05:00
Barış Soner Uşaklı
1f063058f0 breaking: remove socket.emit('user.exists')
remove socket.emit('user.deleteAccount')
remove socket.emit('user.follow')
remove socket.emit('user.unfollow')
remove socket.emit('user.saveSettings')
2021-12-14 12:05:12 -05:00
Renovate Bot
5e2281c350 fix(deps): update dependency nodebb-theme-persona to v11.3.8 2021-12-14 08:01:20 +00:00
Renovate Bot
0551a19e6e fix(deps): update dependency mongodb to v4.2.2 2021-12-14 04:26:09 +00:00
Barış Soner Uşaklı
6b45dee9c5 breaking: remove socket.emit('user.changeUsernameEmail')
remove socket.emit('user.changePassword')
remove socket.emit('user.updateProfile')
2021-12-13 20:10:45 -05:00
Barış Soner Uşaklı
cc0a087a70 fix: prevent crash if groups is not valid json 2021-12-13 19:19:56 -05:00
Barış Soner Uşaklı
968d461692 fix: upgrade script 2021-12-13 19:18:51 -05:00
Barış Soner Uşaklı
682f60890b lint: fix 2021-12-13 16:57:26 -05:00
Barış Soner Uşaklı
737e1c191e fix: delete left over nav items after removal of some 2021-12-13 16:29:39 -05:00
Barış Soner Uşaklı
10e890e41f fix: targetBlank/dropdown not getting cleared
show caret if nav item is dropdown
2021-12-13 16:24:17 -05:00
Barış Soner Uşaklı
69c96078ea breaking: #10077, store nav items in objects 2021-12-13 16:00:22 -05:00
Barış Soner Uşaklı
3b0c42a591 fix: prettier bulk method usage 2021-12-13 14:46:52 -05:00
Julian Lam
42959df053 fix: bug where groupChat property was not set for chat rooms 2021-12-13 14:46:47 -05:00
Barış Soner Uşaklı
f918a38164 breaking: remove socket.emit('topics.follow')
remove socket.emit('topics.changeWatching')
2021-12-13 12:55:54 -05:00
Renovate Bot
16398dd92f fix(deps): update dependency postcss to v8.4.5 2021-12-13 03:45:21 +00:00
Barış Soner Uşaklı
68fd087567 test: remove old test 2021-12-12 13:58:21 -05:00
Barış Soner Uşaklı
6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
2021-12-12 13:14:08 -05:00
Barış Soner Uşaklı
49641a3217 breaking: remove socket.emit('user.banUsers');
remove socket.emit('user.unbanUsers');
2021-12-12 12:47:02 -05:00
Barış Soner Uşaklı
4604a5724c breaking: remove socket.emit('posts.reply')
remove socket.emit('posts.getPost')
2021-12-12 12:19:24 -05:00
Barış Soner Uşaklı
6d95684bc8 breaking: remove socket.emit('user.changePicture') 2021-12-12 11:53:00 -05:00
Barış Soner Uşaklı
0d694c781c breaking: remove socket.emit('user.search') 2021-12-12 11:38:15 -05:00
Misty (Bot)
5e232f17f6 Latest translations and fallbacks 2021-12-11 09:05:40 +00:00
Barış Soner Uşaklı
99f865c618 breaking: remove socketHelpers.setDefaultPostData 2021-12-10 22:14:21 -05:00
Barış Soner Uşaklı
02ea17ea1b breaking: remove deprecated groups socket calls
socket.emit('groups.join') removed use `PUT /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.leave') removed use `DELETE /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.grant') removed, `PUT /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.rescind') removed, `DELETE /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.update') removed, `PUT /api/v3/groups/:slug`
socket.emit('groups.create') removed, `POST /api/v3/groups`
socket.emit('groups.delete') removed, `DELETE /api/v3/groups`
2021-12-10 21:50:23 -05:00
Julian Lam
bc7707aa88 fix: #9484 show user history only to admins and gmods 2021-12-10 15:38:50 -05:00
Baris Usakli
20e76699a2 lint: missing ; 2021-12-10 12:16:58 -05:00
Baris Usakli
0d1e57dce0 breaking: remove deprecated methods
socket.emit('topics.delete') removed use `DELETE /api/v3/topics/state`
socket.emit('topics.restore') removed use `PUT /api/v3/topics/state`
socket.emit('topics.purge') removed use `DELETE /api/v3/topics`
socket.emit('topics.lock') removed use `PUT /api/v3/topics/lock`
socket.emit('topics.unlock') removed use `DELETE /api/v3/topics/lock`
socket.emit('topics.pin') removed use `PUT /api/v3/topics/pin`
socket.emit('topics.unpin') removed use `DELETE /api/v3/topics/pin`
2021-12-10 12:12:04 -05:00
Julian Lam
45c9dde319 fix: no need to pass 'img' to teaser tags stripping as images are already converted to alt text 2021-12-10 10:18:16 -05:00
Renovate Bot
de1ed01d81 fix(deps): update dependency compare-versions to v4.1.2 2021-12-10 08:37:51 +00:00
Barış Soner Uşaklı
bd1cb2d4f9 breaking: remove socket.emit('posts.delete')
remove socket.emit('posts.restore')
remove socket.emit('posts.purge')
remove socket.emit('posts.deletePosts')
remove socket.emit('posts.purgePosts')
2021-12-09 19:58:40 -05:00
Barış Soner Uşaklı
ec1d5e38da breaking: remove socket.emit('posts.upvote')
socket.emit('posts.downvote')
socket.emit('posts.unvote')
2021-12-09 19:12:49 -05:00
Barış Soner Uşaklı
8427c5d9db breaking: remove socket.emit('posts.move') 2021-12-09 18:59:23 -05:00
Barış Soner Uşaklı
4247f62441 breaking: remove socket.emit('posts.edit') 2021-12-09 18:42:43 -05:00
Barış Soner Uşaklı
f7418ccd47 breaking: remove socket.emit('posts.bookmark/unbookmark') 2021-12-09 17:59:23 -05:00
Julian Lam
16c88a977c fix(deps): bump persona 2021-12-09 09:41:06 -05:00
Misty (Bot)
f2ca69d8f7 Latest translations and fallbacks 2021-12-09 09:05:43 +00:00
Barış Soner Uşaklı
5c3d5f1f40 test: make it async 2021-12-08 22:59:12 -05:00
Barış Soner Uşaklı
26f00ffb60 test: fix 2021-12-08 20:48:19 -05:00
Barış Soner Uşaklı
cfd474487a refactor: async 2021-12-08 19:45:18 -05:00
Barış Soner Uşaklı
f0394c4965 refactor: async 2021-12-08 19:40:50 -05:00
Barış Soner Uşaklı
8491f67daf refactor: use async 2021-12-08 19:40:33 -05:00
Barış Soner Uşaklı
e3c0f0be0a refactor: remove unused 2021-12-08 19:30:12 -05:00
Barış Soner Uşaklı
07e2741ea6 breaking: remove deprecated admin.groups methods 2021-12-08 19:28:08 -05:00
Barış Soner Uşaklı
a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
2021-12-08 18:38:02 -05:00
Julian Lam
c90a89264c fix(deps): bump persona 2021-12-08 16:58:09 -05:00
Barış Soner Uşaklı
236d4e8056 fix: #10068, update data-index values after sort 2021-12-08 11:16:49 -05:00
Barış Soner Uşaklı
9af2335134 fix: #10068, baseIndex should be read before sort update fix off by one error 2021-12-08 09:41:48 -05:00
Barış Soner Uşaklı
45d8157fee fix: tests 2021-12-07 19:03:20 -05:00
Barış Soner Uşaklı
9627fa9029 refactor: always returns array 2021-12-07 18:43:14 -05:00
Barış Soner Uşaklı
830166d120 fix: #10067, count posts instead of incr/decr 2021-12-07 18:40:23 -05:00
Barış Soner Uşaklı
f4aa249d8c refactor: use async/await 2021-12-07 15:24:22 -05:00
renovate[bot]
07217762e6 fix(deps): update dependency nodebb-plugin-mentions to v3.0.4 (#10063)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 12:14:21 -05:00
renovate[bot]
a5840c5aff fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.12 (#10064)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:50:07 -05:00
renovate[bot]
5477cf32ad fix(deps): update dependency nodebb-theme-slick to v1.4.18 (#10065)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:49:58 -05:00
renovate[bot]
60d778f063 fix(deps): update dependency nodebb-plugin-markdown to v8.14.5 (#10062)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:08:44 -05:00
renovate[bot]
8695d370ce fix(deps): update dependency nodebb-theme-persona to v11.3.5 (#10059)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:08:34 -05:00
Renovate Bot
70068d6c8b fix(deps): update dependency nodebb-plugin-dbsearch to v5.1.1 2021-12-07 15:28:27 +00:00
Renovate Bot
84b03a348c fix(deps): update dependency nodebb-plugin-composer-default to v7.0.15 2021-12-07 14:06:41 +00:00
Misty (Bot)
cf6032b1b2 Latest translations and fallbacks 2021-12-07 09:06:28 +00:00
Renovate Bot
ba02f01553 chore(deps): update dependency eslint to v8.4.1 2021-12-07 08:37:16 +00:00
Barış Soner Uşaklı
cbf198fe9b lint: remove unused 2021-12-06 22:07:25 -05:00
Barış Soner Uşaklı
45d755b6ae breaking: remove socket.emit('categories.getCategory') 2021-12-06 21:58:56 -05:00
Barış Soner Uşaklı
cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 2021-12-06 21:47:47 -05:00
Barış Soner Uşaklı
0b9c01f9a0 breaking: remove deprecated socket.emit('admin.categories.update') 2021-12-06 20:34:33 -05:00
Barış Soner Uşaklı
ba5d2e7b81 breaking: remove deprecated socket.emit('admin.categories.purge') 2021-12-06 20:22:09 -05:00
Barış Soner Uşaklı
b335372348 breaking: remove deprecated socket.emit('admin.categories.create') 2021-12-06 20:14:44 -05:00
Barış Soner Uşaklı
10c19af2ad breaking: remove deprecated socket.emit('admin.categories.getAll') 2021-12-06 20:06:15 -05:00
Barış Soner Uşaklı
f8f0a83b52 test: one more getTopicPosts test 2021-12-06 17:18:38 -05:00
Barış Soner Uşaklı
a20abdce02 lint: remove unused 2021-12-06 17:07:32 -05:00
Barış Soner Uşaklı
36eb47d9a0 refactor: change var name 2021-12-06 17:00:50 -05:00
Barış Soner Uşaklı
170e5dd941 breaking: remove getTopicPosts(tid, ...) usage 2021-12-06 17:00:25 -05:00
Barış Soner Uşaklı
906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
2021-12-06 16:36:30 -05:00
Barış Soner Uşaklı
621c142f8e refactor: alerts 2021-12-06 16:24:09 -05:00
Barış Soner Uşaklı
0a6eeb933e lint: fix 2021-12-06 15:25:10 -05:00
Barış Soner Uşaklı
cba78aee16 refactor: use alerts.error/success 2021-12-06 14:31:35 -05:00
Barış Soner Uşaklı
4f4236101b fix: wrong usage of is ACP 2021-12-06 14:27:43 -05:00
Misty (Bot)
4a53adf626 chore(i18n): fallback strings for new resources: nodebb.admin-admin 2021-12-06 17:52:30 +00:00
Barış Soner Uşaklı
b4a0af4972 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-12-06 12:51:06 -05:00
Barış Soner Uşaklı
dd02c49f43 refactor: use lang keys, fix typo 2021-12-06 12:50:59 -05:00
Misty (Bot)
b052a8e763 chore(i18n): fallback strings for new resources: nodebb.admin-admin 2021-12-06 17:46:20 +00:00
Barış Soner Uşaklı
1980feed46 refactor: use alerts module 2021-12-06 12:45:35 -05:00
Renovate Bot
8cbe0df2e5 fix(deps): update dependency nodebb-theme-persona to v11.3.3 2021-12-06 00:06:12 +00:00
Renovate Bot
4b11371586 chore(deps): update dependency eslint to v8.4.0 2021-12-04 11:32:58 +00:00
Misty (Bot)
0b88cfd9dd Latest translations and fallbacks 2021-12-04 09:06:26 +00:00
Julian Lam
fa01801f64 fix: don't throw on invalid session, just return early so socket is not opened.
Also updated the plugin hook call to `static:sockets.validateSession` to not return a result, because in static calls that result is always null anyway
2021-12-02 14:13:20 -05:00
Renovate Bot
b342338935 chore(deps): update dependency lint-staged to v12 2021-12-02 12:09:58 -05:00
Renovate Bot
e9aadde180 chore(deps): update dependency eslint to v8 2021-12-02 12:09:50 -05:00
Renovate Bot
f6c6425d68 chore(deps): update commitlint monorepo to v15 2021-12-02 12:09:43 -05:00
Barış Soner Uşaklı
71fa8175bb chore: up themes 2021-12-02 11:43:32 -05:00
Barış Soner Uşaklı
a29535833f fix: #10052, dont use spaces in tag class name 2021-12-02 10:58:23 -05:00
Barış Soner Uşaklı
41db9436e8 perf: only add middleware if relativePath is set 2021-12-01 17:18:38 -05:00
Julian Lam
a3bdb70617 feat: ensure that all requests handled by NodeBB fall under the relative_path as configured 2021-12-01 16:57:46 -05:00
Julian Lam
14e352470d fix(deps): bump emoji plugin 2021-12-01 16:28:23 -05:00
Renovate Bot
597d826b26 fix(deps): update dependency ioredis to v4.28.2 2021-12-01 13:46:55 +00:00
Misty (Bot)
7af902fc31 Latest translations and fallbacks 2021-12-01 09:06:09 +00:00
Renovate Bot
115de4e544 fix(deps): update dependency yargs to v17.3.0 2021-12-01 03:34:52 +00:00
renovate[bot]
49813cce42 fix(deps): update dependency mime to v3 (#9963)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-30 20:28:44 -05:00
Barış Soner Uşaklı
2bb0828af6 refactor: dont need local function 2021-11-30 20:27:16 -05:00
sadaszewski
a1c9a69cd3 incr by bulk. (#9952)
* incr by bulk.

* Update analytics.js

* Update analytics.js

* lint: fix

Co-authored-by: Barış Soner Uşaklı <baris@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2021-11-30 20:26:07 -05:00
Barış Soner Uşaklı
6ea3b51f12 Zincrybulk (#9975)
* feat: zincry bulk

* feat: psql bulk incr placeholder

* test: redis test fix

* test: redis test
2021-11-30 19:59:47 -05:00
Barış Soner Uşaklı
d9c42c000c feat: show 10 members 2021-11-30 18:42:52 -05:00
Barış Soner Uşaklı
7b99dc46eb test: utils.params 2021-11-30 18:36:18 -05:00
Renovate Bot
f72af319fb fix(deps): update dependency mongodb to v4.2.1 2021-11-30 22:50:25 +00:00
Barış Soner Uşaklı
594293c763 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-30 15:47:24 -05:00
Barış Soner Uşaklı
1cdb0b1e19 fix: don't crash if tid is falsy 2021-11-30 15:47:19 -05:00
Misty (Bot)
32326c22fd Latest translations and fallbacks 2021-11-30 09:07:46 +00:00
Renovate Bot
ed4b0cf73d fix(deps): update dependency @socket.io/redis-adapter to v7.1.0 2021-11-30 02:56:32 +00:00
Barış Soner Uşaklı
0414356cf7 perf: don't load all set members to get count 2021-11-29 19:29:18 -05:00
Barış Soner Uşaklı
50063fe238 fix: regression from 27c05448e1 2021-11-29 15:17:02 -05:00
Misty (Bot)
7e6fa7b490 Latest translations and fallbacks 2021-11-29 09:07:01 +00:00
Barış Soner Uşaklı
cd2040ac6b test: regular user shouldn't see admin:privileges 2021-11-28 20:47:13 -05:00
Barış Soner Uşaklı
82b72f7edc lint: remove unused utils 2021-11-28 20:26:27 -05:00
Barış Soner Uşaklı
5843122178 test: add missing tests 2021-11-28 20:18:36 -05:00
Barış Soner Uşaklı
8117b7f22f breaking: remove deprecated post diff socket calls 2021-11-28 19:45:29 -05:00
Barış Soner Uşaklı
324262cbb5 refactor: DRY 2021-11-28 19:31:08 -05:00
Barış Soner Uşaklı
1a7fffc7e9 breaking: remove deprecated user middlewares 2021-11-28 18:58:17 -05:00
Barış Soner Uşaklı
941ecaf899 fix: keep query params on /me redirects 2021-11-28 18:48:52 -05:00
Barış Soner Uşaklı
65c5504193 fix: 403/400/500 page not generating csrf_token 2021-11-28 07:31:09 -05:00
Barış Soner Uşaklı
747b2e7f70 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-28 06:42:21 -05:00
Barış Soner Uşaklı
3dd681ebce fix: error pages dont have config.csrf_token 2021-11-28 06:42:19 -05:00
Misty (Bot)
6b054d7a23 Latest translations and fallbacks 2021-11-28 09:06:35 +00:00
Barış Soner Uşaklı
36aa60346b breaking: remove action:category.loaded, use action:topics.loading
action:category.loaded will not fire on infintite load of topics
2021-11-27 14:58:03 -05:00
Renovate Bot
b34b8aa969 fix(deps): update dependency postcss to v8.4.4 2021-11-27 18:10:53 +00:00
Renovate Bot
2dadf7865a fix(deps): update dependency postcss to v8.4.3 2021-11-27 04:22:19 +00:00
Barış Soner Uşaklı
7434cbf66f test: add api token tests 2021-11-26 18:59:29 -05:00
Barış Soner Uşaklı
1e53552874 feat: closes #10018 2021-11-26 17:08:47 -05:00
Baris Usakli
9239582e36 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-26 14:43:06 -05:00
Baris Usakli
06bfec8840 feat: #10018 add href 2021-11-26 14:42:57 -05:00
Misty (Bot)
23c915ba66 chore(i18n): fallback strings for new resources: nodebb.topic 2021-11-26 19:42:35 +00:00
Baris Usakli
0f14f23b2a feat: #10018 , wip 2021-11-26 14:41:46 -05:00
Julian Lam
6c07433dea refactor: use routePrefixMap instead of routeRegexpMap, +tests (#10035)
* refactor: use routePrefixMap instead of routeRegexpMap, +tests

Currently tests fail because privilege pages resolve if passed garbage... hmm

* fix: priv check paths

remove /v3 from path as well

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2021-11-26 13:53:53 -05:00
Baris Usakli
d378bf4c9c fix: quote button staying on screen on slow computers 2021-11-26 12:57:13 -05:00
Misty (Bot)
2c08a2b3bd Latest translations and fallbacks 2021-11-26 09:06:42 +00:00
Misty (Bot)
bfb29fea07 Latest translations and fallbacks 2021-11-25 09:08:47 +00:00
Renovate Bot
6a2737980e fix(deps): update dependency postcss to v8.4.1 2021-11-25 02:11:34 +00:00
Barış Soner Uşaklı
daf385cd42 refactor: use hasOwnProprety 2021-11-24 18:17:58 -05:00
Renovate Bot
2934527532 fix(deps): update dependency postcss to v8.4.0 2021-11-24 16:38:04 +00:00
Misty (Bot)
ffc26bc9be Latest translations and fallbacks 2021-11-24 09:07:06 +00:00
Barış Soner Uşaklı
404a877408 test: add missing tests 2021-11-23 19:47:29 -05:00
Barış Soner Uşaklı
2bdb4906ec test: upgrade.runParticular 2021-11-23 19:02:49 -05:00
Barış Soner Uşaklı
6dcdf1d342 breaking: remove setTopicSort/setCategorySort 2021-11-23 18:45:30 -05:00
Barış Soner Uşaklı
7aa85882d5 chore: right dropdown 2021-11-23 18:25:30 -05:00
Barış Soner Uşaklı
a998cc1c47 chore: right dropdown 2021-11-23 18:25:01 -05:00
Barış Soner Uşaklı
c17ec996e0 test: add missing acp root category test 2021-11-23 18:18:02 -05:00
Barış Soner Uşaklı
a7d1dfb65c breaking: remove deprecated socket user create/delete functions
add missing tests
2021-11-23 18:02:44 -05:00
Barış Soner Uşaklı
217aae4c81 test: cache dump test 2021-11-23 15:20:44 -05:00
Barış Soner Uşaklı
a0e2704da1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-23 15:16:47 -05:00
Barış Soner Uşaklı
c93d7fdbdd breaking: remove deprecated uploads.delete 2021-11-23 15:16:41 -05:00
Julian Lam
e0caa5e0c4 fix: removed unused var 2021-11-23 14:53:30 -05:00
Misty (Bot)
eecd02fbee chore(i18n): fallback strings for new resources: nodebb.admin-settings-user, nodebb.login 2021-11-23 19:47:37 +00:00
Julian Lam
01bd8a8694 remove email only login (#10030)
* feat: remove ACP option for email-only logins

* feat: remove email-only login, upgrade script to fix config
2021-11-23 14:46:24 -05:00
Barış Soner Uşaklı
79de48c57f breaking: remove deprecated methods 2021-11-23 13:21:18 -05:00
Renovate Bot
9966a00fbe fix(deps): update dependency ioredis to v4.28.1 2021-11-23 11:05:44 +00:00
Misty (Bot)
9fdbfe6779 Latest translations and fallbacks 2021-11-23 09:07:43 +00:00
Barış Soner Uşaklı
bc120dba68 test: add missing controllers 2021-11-23 00:13:54 -05:00
Barış Soner Uşaklı
edf7c647e8 test: fix tpl name 2021-11-23 00:04:10 -05:00
Barış Soner Uşaklı
6d186ff10d test: add mising email.test tpls 2021-11-22 23:53:13 -05:00
Barış Soner Uşaklı
754cdab896 test: debug routes in dev 2021-11-22 23:38:04 -05:00
Barış Soner Uşaklı
1280d9ae85 test: add digest route test 2021-11-22 23:28:04 -05:00
Barış Soner Uşaklı
2473d5d873 fix: #10027, properly auto confirm first user 2021-11-22 23:20:31 -05:00
Barış Soner Uşaklı
71e34be565 fix: cli password reset 2021-11-22 22:20:01 -05:00
Barış Soner Uşaklı
f11bc33ac5 test: digest 2021-11-22 21:22:44 -05:00
Barış Soner Uşaklı
0e72512509 test: fix function name 2021-11-22 21:17:54 -05:00
Barış Soner Uşaklı
d375dcb873 test: submitUsage 2021-11-22 21:10:12 -05:00
Barış Soner Uşaklı
d7c32ccbc2 test: remove log 2021-11-22 20:01:47 -05:00
Barış Soner Uşaklı
29b3587d91 test: middleware/expose.js 2021-11-22 19:56:12 -05:00
Barış Soner Uşaklı
fa1ac04dc6 lint: fix 2021-11-22 19:26:18 -05:00
Barış Soner Uşaklı
c5f08fdc81 breaking: remove socket.io/flags.js
refactor: helpers.loginUser returns a single object {jar, csrf_token}
2021-11-22 19:23:51 -05:00
Julian Lam
f0d192fbfd feat: autocomplete for activate/reset
useless features™️
2021-11-22 15:37:37 -05:00
Renovate Bot
fdae69911b fix(deps): update dependency nodebb-theme-persona to v11.3.1 2021-11-22 14:33:37 -05:00
Julian Lam
a10ea03c3a fix: #10023, bump persona 2021-11-22 11:14:29 -05:00
Misty (Bot)
6eac500a50 Latest translations and fallbacks 2021-11-22 09:06:27 +00:00
Renovate Bot
87433b79ef chore(deps): update dependency jsdom to v18.1.1 2021-11-22 05:21:28 +00:00
Barış Soner Uşaklı
242f8e95ad fix: #10020, /api/post/upload returns v3 style response 2021-11-21 19:45:04 -05:00
Misty (Bot)
34de9608d0 Latest translations and fallbacks 2021-11-21 09:06:13 +00:00
Misty (Bot)
387f2a07eb Latest translations and fallbacks 2021-11-20 09:06:23 +00:00
Julian Lam
5b42b6b369 API route for returning tracked analytics keys (#10019)
* feat: track metrics saved by NodeBB (and assoc. plugins), #9949

* feat: route to retrieve analytics keys, closes #9949
2021-11-19 15:12:13 -05:00
Julian Lam
449366ca83 fix: consolidate plugin reset logic 2021-11-19 12:21:14 -05:00
Barış Soner Uşaklı
9245f71a66 fix: search crash 2021-11-18 20:12:07 -05:00
Barış Soner Uşaklı
fb363957d1 refactor: tab rules 2021-11-18 16:42:18 -05:00
Barış Soner Uşaklı
c26870d227 feat: #10008, add history entry for note deletion 2021-11-18 13:59:39 -05:00
Barış Soner Uşaklı
697dd37670 refactor: change category feed so it is not updated on every reply
allow cid query param for recent/top/popular feeds
2021-11-18 13:11:05 -05:00
Renovate Bot
f05d308ac7 fix(deps): update socket.io packages to v4.4.0 2021-11-18 16:03:55 +00:00
Renovate Bot
68dddbd946 fix(deps): update dependency nodebb-theme-vanilla to v12.1.10 2021-11-18 13:07:31 +00:00
Renovate Bot
3eb91a2011 fix(deps): update dependency nodebb-theme-persona to v11.2.22 2021-11-18 11:14:11 +00:00
Renovate Bot
5ec32c3145 fix(deps): update dependency nodebb-plugin-mentions to v3.0.3 2021-11-18 09:10:41 +00:00
Barış Soner Uşaklı
d5bfd51267 fix: #10010, handle reverse sorting for topic events
dont add events to dom if sort is most votes
if sorting is reverse add new events after the main post or at the top instead of bottom
2021-11-17 23:34:01 -05:00
Barış Soner Uşaklı
e368feef51 refactor: dont expost entire res._locals to client side 2021-11-17 22:11:24 -05:00
renovate[bot]
2378fc84fa fix(deps): update dependency mongodb to v4.2.0 (#10011)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 13:42:10 -05:00
Barış Soner Uşaklı
af5393ecdc chore: update readme mongodb version 2021-11-17 13:20:07 -05:00
Barış Soner Uşaklı
500cad78e5 test: up mongodb version 2021-11-17 13:07:58 -05:00
Barış Soner Uşaklı
190532b3b4 refactor: shorter meta.settings.get 2021-11-16 19:25:40 -05:00
Barış Soner Uşaklı
51cbeccb08 refactor: clone settings before returning
prevents plugins from mistakenly modifying saved settings in cache
2021-11-16 19:20:18 -05:00
Barış Soner Uşaklı
27c05448e1 refactor: remove another async.series 2021-11-16 17:11:26 -05:00
Barış Soner Uşaklı
4359e5c97c refactor: remove tabs after declaration 2021-11-16 16:24:17 -05:00
Barış Soner Uşaklı
0532c1b2a1 feat: #9957, don't remove existing fields form config.json 2021-11-16 16:20:39 -05:00
Barış Soner Uşaklı
047f031dd7 fix: #10006, dont allow new rooms or adding to a room if target is blocked 2021-11-16 11:57:00 -05:00
Misty (Bot)
c16dad40cf Latest translations and fallbacks 2021-11-16 09:07:13 +00:00
Barış Soner Uşaklı
aac0792ab8 test: mainPost removed from inf scroll 2021-11-15 18:31:55 -05:00
Barış Soner Uşaklı
6d38eab69a refactor: update dates 2021-11-15 18:27:22 -05:00
Barış Soner Uşaklı
f729e51921 refactor: clone before returning 2021-11-15 18:21:52 -05:00
Barış Soner Uşaklı
258f368e32 refactor: add filter:topic.getPosts
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
2021-11-15 18:08:09 -05:00
dependabot[bot]
ea9f2c731c chore(deps): bump compare-versions from 3.6.0 to 4.1.1 in /install
Bumps [compare-versions](https://github.com/omichelsen/compare-versions) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/omichelsen/compare-versions/releases)
- [Changelog](https://github.com/omichelsen/compare-versions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/omichelsen/compare-versions/compare/v3.6.0...v4.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 12:10:59 -05:00
Renovate Bot
aae7be027e fix(deps): update dependency @socket.io/redis-adapter to v7.0.1 2021-11-15 12:56:30 +00:00
Renovate Bot
4616253755 fix(deps): update dependency sharp to v0.29.3 2021-11-14 14:30:14 +00:00
Misty (Bot)
2b39dc4dea Latest translations and fallbacks 2021-11-14 09:05:56 +00:00
Barış Soner Uşaklı
231472354e perf: create user tooltips on demand 2021-11-13 20:25:09 -05:00
Barış Soner Uşaklı
7f8783555b Revert "perf: remove createUserTooltips"
This reverts commit facc10e40f.
2021-11-13 20:16:24 -05:00
Renovate Bot
d7c2a311ab chore(deps): update dependency jsdom to v18.1.0 2021-11-13 03:59:36 +00:00
Barış Soner Uşaklı
8379c11b22 refactor: setObjectBulk to match sortedSetAddBulk 2021-11-12 19:51:59 -05:00
Julian Lam
1a85aaad23 docs: add docs link higher up 2021-11-12 15:26:00 -05:00
Julian Lam
e325aa935a docs: update readme blurb 2021-11-12 15:23:46 -05:00
Baris Usakli
d412ba4411 perf: closes #9994, bulk methods for settings 2021-11-12 15:13:36 -05:00
Misty (Bot)
72e1c281d7 chore(i18n): fallback strings for new resources: nodebb.admin-settings-email 2021-11-12 19:59:42 +00:00
Julian Lam
09e0c6d503 feat: add feature flag to disable verification emails, closes #9996 2021-11-12 14:58:56 -05:00
Baris Usakli
facc10e40f perf: remove createUserTooltips 2021-11-12 11:18:44 -05:00
Barış Soner Uşaklı
d196409580 refactor: remove more async.eachSeries/mapSeries 2021-11-10 20:55:06 -05:00
Barış Soner Uşaklı
8750ee04a6 refactor: make a single call to set widgets per template 2021-11-10 20:40:34 -05:00
Barış Soner Uşaklı
80f9963bed refactor: remove jshint, remove async.parallel 2021-11-10 20:19:13 -05:00
Misty (Bot)
3a78a15134 chore: incrementing version number - v1.18.6
(cherry picked from commit 22e74dc0bb)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-11-10 20:45:25 +00:00
Misty (Bot)
3c8109e27f chore: update changelog for v1.18.6 2021-11-10 20:45:25 +00:00
Barış Soner Uşaklı
a0f0dd021b chore: make it a link 2021-11-10 15:33:15 -05:00
Barış Soner Uşaklı
dad31c8ea2 chore: update badges, remove david doesnt work 2021-11-10 15:32:36 -05:00
Renovate Bot
45a0895c34 chore(deps): update dependency eslint-plugin-import to v2.25.3 2021-11-10 12:35:52 +00:00
Misty (Bot)
975cb51262 Latest translations and fallbacks 2021-11-10 09:07:28 +00:00
Barış Soner Uşaklı
41c3eb8298 refactor: shorter require 2021-11-09 19:38:35 -05:00
Barış Soner Uşaklı
96f13e4f5d feat: #9992, hooks.one 2021-11-09 19:29:29 -05:00
Barış Soner Uşaklı
0428912c6d refactor: deprecate app.alert functions user alerts module directly 2021-11-09 13:34:59 -05:00
Barış Soner Uşaklı
ae64b9f495 test: add another assert for random failing test 2021-11-09 11:05:03 -05:00
Barış Soner Uşaklı
61d1f56500 test: socket.emit doesnt exist in tests 2021-11-09 10:51:44 -05:00
Julian Lam
1719bff89c feat: use auto-generated meta and link tags in ACP, closes #9991 2021-11-09 10:39:48 -05:00
Barış Soner Uşaklı
8b4510cc70 refactor: deprecate app.logout
use logout module instead
move header related code out of app.js
2021-11-08 23:28:26 -05:00
Barış Soner Uşaklı
415dfbb9f7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-08 22:55:40 -05:00
renovate[bot]
cf30876fbf fix(deps): update dependency nodebb-theme-slick to v1.4.16 (#9990)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-08 22:50:11 -05:00
renovate[bot]
ef02bdc467 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.14 (#9989)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-08 22:50:05 -05:00
Barış Soner Uşaklı
a9265dbf5c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-08 22:48:07 -05:00
Barış Soner Uşaklı
619034484f refactor: simpler rejoin
remove pointless app.cacheBuster = null
2021-11-08 22:48:02 -05:00
renovate[bot]
654c8e6148 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.13 (#9988)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-08 22:37:57 -05:00
Barış Soner Uşaklı
e3f5b706a5 test: show body when test fails 2021-11-08 22:36:10 -05:00
Barış Soner Uşaklı
f352be63dc refactor: deprecate app.openChat/newChat
use chat.openChat/newChat instead
2021-11-08 22:20:41 -05:00
Barış Soner Uşaklı
1a9b15989b refactor: move search functions from app.js to search module
deprecate:
app.handleSearch, use search.init(options) instead
app.enableTopicSearch, use search.enableQuickSearch(options) instead
app.prepareSearch, use search.showAndFocusInput() instead
2021-11-08 21:31:49 -05:00
Barış Soner Uşaklı
666fe209f0 refactor: move session messages 2021-11-08 21:00:37 -05:00
Barış Soner Uşaklı
3d2398ac4c test: lint 2021-11-08 20:48:32 -05:00
Barış Soner Uşaklı
518552543d refactor: move warnings/messages out of app.js 2021-11-08 20:40:41 -05:00
Barış Soner Uşaklı
cb0d74bdd1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-08 16:55:31 -05:00
Barış Soner Uşaklı
0a7ff2085e refactor: remove jshint 2021-11-08 16:55:25 -05:00
Julian Lam
c1ac291284 fix: ability to enumerate email via updateProfile method 2021-11-08 15:36:37 -05:00
Julian Lam
b912a564e3 fix: accidentally not clearing email when said email is confirmed for a different uid 2021-11-08 15:16:48 -05:00
Renovate Bot
1a22b0ecf2 fix(deps): update dependency nodebb-plugin-mentions to v3.0.2 2021-11-08 18:08:11 +00:00
Renovate Bot
98ebc4d9ac fix(deps): update dependency socket.io to v4.3.2 2021-11-08 11:54:00 +00:00
Misty (Bot)
b736347cd3 Latest translations and fallbacks 2021-11-08 09:07:54 +00:00
Renovate Bot
c1f5889f13 fix(deps): update dependency html-to-text to v8.1.0 2021-11-07 20:26:00 +00:00
Misty (Bot)
91676c6c7c chore(i18n): fallback strings for new resources: nodebb.admin-development-info 2021-11-07 02:07:52 +00:00
Barış Soner Uşaklı
4b738c8cd3 refactor: cleanup info, better cpu usage % 2021-11-06 22:07:06 -04:00
Barış Soner Uşaklı
890bf03fcc refactor: acp only uses 3 modes and a single theme
so only copy 7 files to build folder instead of 400+
2021-11-06 21:20:05 -04:00
Misty (Bot)
8a12ac3470 Latest translations and fallbacks 2021-11-06 09:06:33 +00:00
Barış Soner Uşaklı
30cce14204 test: fix tpl test 2021-11-05 20:21:19 -04:00
renovate[bot]
4f1ee1fcb1 fix(deps): update dependency nodebb-plugin-dbsearch to v5.1.0 (#9983)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-05 18:16:36 -04:00
Barış Soner Uşaklı
3386893b58 test: dbsearch no longer has staticDir 2021-11-05 18:14:08 -04:00
Renovate Bot
7fee0e3272 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.12 2021-11-05 15:47:53 -04:00
renovate[bot]
8224a2a930 fix(deps): update dependency nodebb-plugin-mentions to v3.0.1 (#9979)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Julian Lam <julian@nodebb.org>
2021-11-05 15:47:36 -04:00
Renovate Bot
91293ecc6d fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.11 2021-11-05 15:45:53 -04:00
Renovate Bot
f7295aaad5 fix(deps): update dependency nodebb-theme-lavender to v5.3.1 2021-11-05 15:45:42 -04:00
Barış Soner Uşaklı
4ac9270a2a test: increase timeout 2021-11-05 14:25:43 -04:00
Barış Soner Uşaklı
28dd31a8e7 fix: #9976 2021-11-05 14:12:45 -04:00
Barış Soner Uşaklı
9bfb6c7281 fix: #9976, handle array or object 2021-11-05 14:11:03 -04:00
Barış Soner Uşaklı
41e0240010 fix: dont show previews on mobile 2021-11-05 13:20:13 -04:00
Misty (Bot)
9e1d8da643 Latest translations and fallbacks 2021-11-05 09:06:51 +00:00
Barış Soner Uşaklı
c1cc35a949 refactor: display errors from category drag/drop 2021-11-04 14:23:16 -04:00
Barış Soner Uşaklı
054685265d fix: category load more btn visibility 2021-11-04 13:19:37 -04:00
Barış Soner Uşaklı
66e7cdac7a fix: #9973, ignore if assigning to same parent 2021-11-04 11:45:06 -04:00
Misty (Bot)
fb0588576d Latest translations and fallbacks 2021-11-04 09:07:12 +00:00
Barış Soner Uşaklı
d27c9696e3 feat: add node 16 (#9847)
* feat: add node 16

* fix: check errors in fork

* test: add use-spawn

* test: another test

* Revert "test: another test"

This reverts commit 606efe26fe.

* test: another test

* fix: lint

* fix: remove spawn-wrap

* test: comment out plugin installs

* fix: lint

* test: uncomment all tests except npm i

* fix: lint

* test: bring back tests

* test: remove leftover override
2021-11-04 00:09:14 -04:00
Barış Soner Uşaklı
67cb249122 fix: #9972 2021-11-03 22:47:15 -04:00
Barış Soner Uşaklı
b1d6c9ba29 chore: up themes 2021-11-03 19:05:02 -04:00
renovate[bot]
0888aae6d2 fix(deps): update dependency nodebb-plugin-mentions to v3 (#9966)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-03 19:02:38 -04:00
renovate[bot]
f59937314b fix(deps): update dependency mongodb to v4.1.4 (#9968)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-03 19:02:29 -04:00
renovate[bot]
8fac8d6188 fix(deps): update dependency nodebb-theme-persona to v11.2.21 (#9969)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-03 19:02:13 -04:00
Misty (Bot)
3727e39f87 chore(i18n): fallback strings for new resources: nodebb.admin-settings-navigation 2021-11-03 20:02:19 +00:00
Barış Soner Uşaklı
2e623dd271 feat: #9967, allow dropdowns in navigation 2021-11-03 16:01:32 -04:00
Barış Soner Uşaklı
98b98a1130 chore: up mentions 2021-11-03 12:25:58 -04:00
Barış Soner Uşaklı
cbe19cb8b4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-03 10:52:10 -04:00
Barış Soner Uşaklı
f728abda06 fix: remove tooltip on ajaxify 2021-11-03 10:52:03 -04:00
Renovate Bot
0f8a68c045 fix(deps): update dependency nodebb-plugin-mentions to v2.15.1 2021-11-03 11:32:40 +00:00
Misty (Bot)
ddeeee7f1a Latest translations and fallbacks 2021-11-03 09:07:30 +00:00
Barış Soner Uşaklı
3e4d477e48 chore: up mentions 2021-11-03 00:09:30 -04:00
Barış Soner Uşaklı
8a88295d04 fix: don't highlight external nav items 2021-11-02 20:05:17 -04:00
Renovate Bot
dc78125aa6 chore(deps): update commitlint monorepo to v14 2021-11-02 09:44:23 -04:00
Misty (Bot)
1fce1056c5 Latest translations and fallbacks 2021-11-02 09:07:51 +00:00
Renovate Bot
81c8d70c51 fix(deps): update dependency validator to v13.7.0 2021-11-02 02:54:53 +00:00
Barış Soner Uşaklı
b916e42f40 feat: show number of events per type in acp 2021-11-01 19:36:18 -04:00
Barış Soner Uşaklı
9fbb3b11ef perf: only load posts once 2021-11-01 18:22:39 -04:00
Barış Soner Uşaklı
63976c42fe Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-01 15:30:42 -04:00
Barış Soner Uşaklı
5a0efd2d42 fix: don't use # for previews 2021-11-01 15:30:36 -04:00
Misty (Bot)
46789910a8 chore(i18n): fallback strings for new resources: nodebb.admin-settings-post 2021-11-01 19:09:49 +00:00
Barış Soner Uşaklı
8c67031609 feat: show posts previews if enabled on mouse over 2021-11-01 15:09:05 -04:00
Renovate Bot
7d468e7203 chore(deps): update dependency jsdom to v18.0.1 2021-11-01 18:33:09 +00:00
Misty (Bot)
2ca40c6729 Latest translations and fallbacks 2021-11-01 09:07:17 +00:00
Barış Soner Uşaklı
3d611ab70e fix: events for just topic with main post 2021-10-31 16:13:16 -04:00
Barış Soner Uşaklı
89399c0ed5 fix: #9954, get next post timestamp
fixes topic events being inserted in after first page but at the wrong spot
2021-10-31 15:09:33 -04:00
Barış Soner Uşaklı
a7f235dbac fix: topic events not rendered in infinitescroll 2021-10-31 10:51:16 -04:00
Misty (Bot)
1452557838 Latest translations and fallbacks 2021-10-30 09:06:24 +00:00
Julian Lam
10bb8cf747 test: fix account export test routes 2021-10-29 15:18:40 -04:00
Julian Lam
485b6ced1d fix: broken post uploads due to 6a976a9db0 2021-10-29 14:23:22 -04:00
Julian Lam
591424cea1 chore: fix type.yaml example and summary 2021-10-29 14:21:42 -04:00
Julian Lam
0ee85d5a0b fix: #9950, rename account export routes to remove uid/ prefix 2021-10-29 14:12:14 -04:00
Julian Lam
60352eca54 fix: double invocation of authenticateRequest 2021-10-29 11:16:37 -04:00
Julian Lam
6a976a9db0 fix: #9945, call authenticateRequest middleware for mount points in /api 2021-10-29 10:56:06 -04:00
Misty (Bot)
d8d5f416cc Latest translations and fallbacks 2021-10-29 09:06:56 +00:00
Barış Soner Uşaklı
74aa12c95b fix: hooks is sometimes undefined 2021-10-28 21:33:21 -04:00
Barış Soner Uşaklı
62ac9a8bbb test: add test aliases.buildTargets 2021-10-28 15:40:53 -04:00
Barış Soner Uşaklı
bc4b19b4d7 fix: typo in flags 2021-10-28 15:12:12 -04:00
Renovate Bot
755860f16b fix(deps): update dependency autoprefixer to v10.4.0 2021-10-28 18:37:33 +00:00
Barış Soner Uşaklı
e8c17feedb refactor: use utils.debounce 2021-10-28 12:00:51 -04:00
Barış Soner Uşaklı
783db5748b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-28 09:46:27 -04:00
Barış Soner Uşaklı
50b2ebf844 fix: remove unused code 2021-10-28 09:46:21 -04:00
Misty (Bot)
4ffbbae878 Latest translations and fallbacks 2021-10-28 09:07:10 +00:00
Barış Soner Uşaklı
bda5d14425 test: empty query params for search 2021-10-27 14:40:42 -04:00
Barış Soner Uşaklı
8f08d9cac0 fix: handle undefined data.query 2021-10-27 14:21:36 -04:00
Misty (Bot)
1e418f5b5e chore: incrementing version number - v1.18.5
(cherry picked from commit c248805165)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-10-27 16:47:59 +00:00
Misty (Bot)
82eda23a9e chore: update changelog for v1.18.5 2021-10-27 16:47:59 +00:00
Julian Lam
28efcb59cb chore: remove .opacity() mixin as it is supported cross-browser 2021-10-27 12:35:10 -04:00
renovate[bot]
bf20965f0b fix(deps): update dependency nodebb-theme-vanilla to v12.1.7 (#9944)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-27 12:14:11 -04:00
renovate[bot]
bcf85fcfba fix(deps): update dependency nodebb-theme-persona to v11.2.19 (#9943)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-27 12:14:04 -04:00
Barış Soner Uşaklı
3d1cf168f2 revert: lazy load 2021-10-27 09:52:46 -04:00
Barış Soner Uşaklı
196a98c6ff Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-27 09:39:53 -04:00
Barış Soner Uşaklı
015727855f fix: remove loading="lazy", fixes inf. scroll loaded images 2021-10-27 09:39:48 -04:00
Misty (Bot)
f2bf33a28c Latest translations and fallbacks 2021-10-27 09:07:24 +00:00
Renovate Bot
8d4bb8bbbe chore(deps): update dependency lint-staged to v11.2.6 2021-10-27 03:00:24 +00:00
Renovate Bot
7c2ecb1234 fix(deps): update dependency nodebb-rewards-essentials to v0.2.0 2021-10-27 02:00:40 +00:00
Barış Soner Uşaklı
c428ba80aa refactor: wider value field 2021-10-26 16:20:24 -04:00
Barış Soner Uşaklı
c7e078d495 refactor: dont save partial searches 2021-10-26 15:51:42 -04:00
Barış Soner Uşaklı
25ebbd6563 fix: windows tests 2021-10-26 14:51:49 -04:00
Misty (Bot)
9b68dc37cc chore(i18n): fallback strings for new resources: nodebb.admin-settings-email, nodebb.error 2021-10-26 18:30:00 +00:00
Julian Lam
80ea12c1c1 feat: new ACP option emailPrompt
... which allows administrators to disable the client-side prompt to
encourage users to enter or confirm their email addresses
2021-10-26 14:28:42 -04:00
Julian Lam
5a328485dd Revert "fix: only show email confirmation warning toast on pages that it applies"
This reverts commit 1bd1cc74a4.
2021-10-26 14:28:42 -04:00
Renovate Bot
0728a99453 chore(deps): update dependency lint-staged to v11.2.5 2021-10-26 13:25:06 +00:00
Renovate Bot
49b8b983b6 fix(deps): update dependency nodebb-theme-vanilla to v12.1.6 2021-10-26 11:01:15 +00:00
Misty (Bot)
3e94def687 Latest translations and fallbacks 2021-10-26 09:09:53 +00:00
Renovate Bot
ed0adf2ccf fix(deps): update dependency nodebb-theme-persona to v11.2.18 2021-10-26 08:05:11 +00:00
Barış Soner Uşaklı
64192731a0 refactor: use search api for topic search 2021-10-25 23:12:34 -04:00
Barış Soner Uşaklı
6cfaea06f0 fix: undefined query showing in searches 2021-10-25 22:06:28 -04:00
Barış Soner Uşaklı
89f5e06bbf fix: don't repeat search if on same page 2021-10-25 22:03:59 -04:00
Barış Soner Uşaklı
19ee717444 refactor: slowdown quick search 2021-10-25 21:22:44 -04:00
Barış Soner Uşaklı
0926ae6ecf fix: api session revoke test 2021-10-25 20:47:10 -04:00
Barış Soner Uşaklı
62e44dc5be Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-25 16:37:41 -04:00
Barış Soner Uşaklı
da64810a4a fix: crash 2021-10-25 16:37:36 -04:00
Misty (Bot)
ff962b5ddf chore(i18n): fallback strings for new resources: nodebb.admin-dashboard 2021-10-25 20:36:22 +00:00
Barış Soner Uşaklı
eb075c7328 fix: add missing translation 2021-10-25 16:35:37 -04:00
Barış Soner Uşaklı
a528790615 refactor: typo 2021-10-25 16:34:24 -04:00
Barış Soner Uşaklı
178600b1bb Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-25 16:32:40 -04:00
Barış Soner Uşaklı
ee8e048015 fix: move record to controller 2021-10-25 16:32:35 -04:00
Misty (Bot)
abe59131dd chore(i18n): fallback strings for new resources: nodebb.admin-dashboard, nodebb.admin-menu 2021-10-25 20:28:14 +00:00
Barış Soner Uşaklı
f4cf482a87 feat: show popular searches 2021-10-25 16:26:50 -04:00
Barış Soner Uşaklı
63572c23ce fix: profile edit fields showing translated values 2021-10-25 15:00:05 -04:00
Barış Soner Uşaklı
8d316d1859 fix: #9934, fix translator test 2021-10-25 13:59:43 -04:00
Barış Soner Uşaklı
719cfc0d57 breaking: disable javascript in custom less tab 2021-10-25 13:53:45 -04:00
Barış Soner Uşaklı
04dab1d550 fix: token verify 2021-10-25 13:23:54 -04:00
Barış Soner Uşaklı
1783f918bc fix: guard against prototype pollution 2021-10-25 13:17:33 -04:00
Barış Soner Uşaklı
c8b2fc46dc fix: translator path traversal 2021-10-25 12:51:56 -04:00
Barış Soner Uşaklı
835c73c431 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-25 10:44:05 -04:00
Barış Soner Uşaklı
e62948f73d fix: there is no alltime digest, fixes translation in test email
there is no digest.title.alltime
2021-10-25 10:44:04 -04:00
Misty (Bot)
ab70ba3905 Latest translations and fallbacks 2021-10-24 09:06:39 +00:00
Barış Soner Uşaklı
47df62e700 fix: clicking outside postContainer should close tooltip 2021-10-23 20:49:14 -04:00
Renovate Bot
7866107988 fix(deps): update dependency nodebb-theme-persona to v11.2.17 2021-10-24 00:40:39 +00:00
Renovate Bot
f76a788290 chore(deps): update dependency lint-staged to v11.2.4 2021-10-23 22:23:39 +00:00
Barış Soner Uşaklı
4246f59729 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-23 14:56:23 -04:00
Barış Soner Uşaklı
f02fba29dc refactor: add callback to loadNotifications 2021-10-23 14:56:17 -04:00
Misty (Bot)
e6982da955 Latest translations and fallbacks 2021-10-23 09:06:38 +00:00
Julian Lam
7ef5214ef9 test: fix broken openapi3 schema 2021-10-22 16:14:41 -04:00
Julian Lam
506c34a84d refactor: simplified utilities API > login rout
Removed continueLogin override in favour of a simpler `redirectAfterLogin` override
Use passport to authenticate username and password instead of duplicated logic.
2021-10-22 15:56:31 -04:00
Julian Lam
6b4f35c2fa feat: new plugin hook to allow plugins to reject email address on new registration or email change 2021-10-22 15:06:51 -04:00
Julian Lam
806a1e50d2 feat: utilities login API route now starts an actual login session, if requested 2021-10-22 15:06:51 -04:00
Renovate Bot
a5f4e20681 fix(deps): update dependency postcss to v8.3.11 2021-10-21 21:56:52 +00:00
Barış Soner Uşaklı
b91ae0880d feat: add method name to deprecation message 2021-10-21 15:40:42 -04:00
Renovate Bot
d74a6bd35e fix(deps): update dependency nodebb-theme-vanilla to v12.1.5 2021-10-21 19:18:32 +00:00
Renovate Bot
2a3e13f360 chore(deps): update dependency husky to v7.0.4 2021-10-21 18:04:05 +00:00
Barış Soner Uşaklı
1d62bd6d7b refactor: log error as well 2021-10-21 12:34:26 -04:00
Barış Soner Uşaklı
73a9ca09c9 refactor: catch errors from buildHeader in error handler 🔥 2021-10-21 10:28:27 -04:00
Barış Soner Uşaklı
d4da98404c refactor: add missing helpers.tryRoute 2021-10-21 10:14:53 -04:00
Renovate Bot
8b8fe39303 fix(deps): update dependency sharp to v0.29.2 2021-10-21 12:34:43 +00:00
Barış Soner Uşaklı
998b9e7918 fix: minification regression 2021-10-20 21:17:15 -04:00
Barış Soner Uşaklı
463b2076a6 chore: up themes 2021-10-20 20:32:16 -04:00
Barış Soner Uşaklı
fec7ebed04 fix: tooltip 2021-10-20 20:31:27 -04:00
Barış Soner Uşaklı
66fca4e066 feat: quote tooltip 2021-10-20 19:58:25 -04:00
Renovate Bot
b18a24e97b fix(deps): update dependency postcss to v8.3.10 2021-10-20 21:37:34 +00:00
Julian Lam
d22b076b2e feat: additional quality options for jpeg uploads, added quality and compression settings for png uploads 2021-10-20 14:07:25 -04:00
Barış Soner Uşaklı
ee0282f5aa refactor: shorter middleware 2021-10-20 12:45:09 -04:00
Barış Soner Uşaklı
b2429ef00e refactor: meta/minifier use async/await 2021-10-20 11:52:23 -04:00
Julian Lam
fa1afbcf4a test: restore commented-out i18n test 2021-10-19 14:06:27 -04:00
Misty (Bot)
2bed40bed0 chore(i18n): fallback strings for new resources: nodebb.admin-manage-digest, nodebb.admin-settings-user, nodebb.user 2021-10-19 18:05:17 +00:00
Barış Soner Uşaklı
90b81262fa refactor: remove unused var 2021-10-19 12:38:40 -04:00
Barış Soner Uşaklı
9cb4de50a2 fix: biweekly digest #8053 2021-10-19 12:21:54 -04:00
Julian Lam
44687394dc fix: restore plugin upgrade checking logic
unintended regression from ac86937c88
2021-10-19 10:25:51 -04:00
Misty (Bot)
22f05b3961 Latest translations and fallbacks 2021-10-19 09:06:44 +00:00
Renovate Bot
f3c8d7da8e fix(deps): update dependency nodebb-theme-persona to v11.2.15 2021-10-19 08:38:11 +00:00
Barış Soner Uşaklı
8e319a9b25 refactor: catch errors from digest 2021-10-18 20:17:35 -04:00
Barış Soner Uşaklı
f7967bdf68 feat: #8053, biweekly digest option 2021-10-18 20:10:14 -04:00
Barış Soner Uşaklı
14bc83a88e refactor: less.render returns promise 2021-10-18 18:19:21 -04:00
Barış Soner Uşaklı
6da3239230 refactor: less.render already returns promise
rename callback to next to match other controllers
2021-10-18 18:12:23 -04:00
Barış Soner Uşaklı
c70eaa0a34 refactor: prompt.get already returns promise 2021-10-18 17:34:26 -04:00
Barış Soner Uşaklı
057d1d58e3 refactor: no need for async/callbacks 2021-10-18 17:31:14 -04:00
Barış Soner Uşaklı
38756a0c34 refactor: no more 🐮 2021-10-18 17:24:03 -04:00
bukajsytlos
ced8e72a69 Run nodebb docker process under node user (#9913)
Closes #9888
2021-10-18 17:09:40 -04:00
Julian Lam
ed4ebd2277 fix: fallbacks for new langauge key 2021-10-18 14:49:08 -04:00
Julian Lam
605a53812e feat: core submit button dropdown 2021-10-18 14:49:08 -04:00
Barış Soner Uşaklı
4333d217a1 fix: #9917, show topics as unread for guests 2021-10-18 14:17:42 -04:00
Misty (Bot)
fe2cfa8039 Latest translations and fallbacks 2021-10-18 09:06:16 +00:00
renovate[bot]
5e08e67b0e fix(deps): update dependency nodebb-theme-persona to v11.2.14 (#9919)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-17 16:27:24 -04:00
Misty (Bot)
1339c75781 Latest translations and fallbacks 2021-10-17 09:06:04 +00:00
Renovate Bot
deba3e2752 fix(deps): update dependency socket.io-client to v4.3.2 2021-10-17 01:13:28 +00:00
Renovate Bot
e1554f619a fix(deps): update dependency socket.io to v4.3.1 2021-10-16 23:13:02 +00:00
Barış Soner Uşaklı
a9bc6a0962 refactor: allow array of uids for blocks.is/list
remove async.filter
use cacheCreate
2021-10-16 13:09:14 -04:00
Peter Jaszkowiak
6436aa65ad fix: clarify site settings urls vs config.json url (#9912) 2021-10-16 10:36:21 -04:00
Peter Jaszkowiak
09f198fc37 fix: clarify SMTP enable toggle (#9911) 2021-10-16 10:24:04 -04:00
Misty (Bot)
e7f0a77fd8 Latest translations and fallbacks 2021-10-16 09:06:01 +00:00
Renovate Bot
ce5a0a2113 fix(deps): update socket.io packages 2021-10-16 04:43:38 +00:00
Renovate Bot
600a872031 fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.10 2021-10-16 00:44:32 +00:00
Renovate Bot
b0128f8572 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.10 2021-10-15 14:46:36 -04:00
Barış Soner Uşaklı
9e0ce0272c fix: don't overwrite reloadRequired with false
1. meta.settings.set('name', values); // reloadRequired is set to true
2. meta.settings.set('otherName', values, false); // reloadRequired was set to false, even though it should stay true until restart due to step 1
2021-10-15 10:31:33 -04:00
Renovate Bot
4784f016a7 chore(deps): update dependency mocha to v9.1.3 2021-10-15 10:56:55 +00:00
Misty (Bot)
54ae334995 Latest translations and fallbacks 2021-10-15 09:07:19 +00:00
Renovate Bot
f8f35d7e7e fix(deps): update dependency nodebb-plugin-markdown to v8.14.4 2021-10-15 04:25:26 +00:00
Renovate Bot
ed87466208 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.9 2021-10-15 02:19:46 +00:00
Barış Soner Uşaklı
8e6bd7e913 refactor: show full url on error log 2021-10-14 19:00:03 -04:00
Renovate Bot
1dba75e9c9 fix(deps): update dependency nodebb-theme-persona to v11.2.13 2021-10-14 22:17:47 +00:00
Julian Lam
b460e5909c fix: delete translations in admin/general folder (since general was removed and relocated elsewhere)
Also added "flags.json" for language uk (which was missing for some reason...)
2021-10-14 14:45:50 -04:00
Julian Lam
21b610826c fix: pushed missing key to tx and pulled fallbacks 2021-10-14 14:45:50 -04:00
Julian Lam
0f9b0b7846 fix: adding missing language namespace "top" 2021-10-14 14:45:50 -04:00
Julian Lam
35af763418 feat: added failing i18n tests 2021-10-14 14:45:50 -04:00
Julian Lam
bd893cdaa3 fix: extra debug log 2021-10-14 13:59:11 -04:00
Misty (Bot)
c84ad776c2 Latest translations and fallbacks 2021-10-14 09:07:36 +00:00
Julian Lam
154ffea01b test: moved topic event and topic thumb tests to subfolder for better organisation 2021-10-13 21:02:05 -04:00
Renovate Bot
4ff5452d6f fix(deps): update dependency ioredis to v4.28.0 2021-10-13 16:18:37 +00:00
Renovate Bot
fe9f82f6b4 fix(deps): update dependency nodebb-theme-persona to v11.2.12 2021-10-12 23:20:12 -04:00
Renovate Bot
3c3f45d91b chore(deps): update dependency eslint-plugin-import to v2.25.2 2021-10-13 02:43:12 +00:00
Barış Soner Uşaklı
1feb111ade perf: dont fs.open if plugin doesnt have language namespace (#9893)
closes #9892
2021-10-12 17:40:08 -04:00
gasoved
b0a24d6dd5 refactor: var to const and let (#9885)
* refactor: var to const and let

* fix: missed global bootbox usage

* refactor: align with eslint expectations
2021-10-12 10:26:18 -04:00
Julian Lam
eddb98681c fix: have renovate add dependencies label to its PRs 2021-10-12 10:13:53 -04:00
Renovate Bot
4b8dcd4c2b chore(deps): update dependency jsdom to v18 2021-10-12 09:59:20 -04:00
Renovate Bot
7c4aebbdf0 chore(deps): update dependency eslint-plugin-import to v2.25.1 2021-10-12 09:21:18 +00:00
Renovate Bot
6d2e0aa970 fix(deps): update dependency ioredis to v4.27.11 2021-10-11 04:34:30 +00:00
Renovate Bot
288b5456f7 chore(deps): update dependency lint-staged to v11.2.3 2021-10-10 20:47:33 +00:00
Renovate Bot
f96c8c4db0 chore(deps): update dependency lint-staged to v11.2.2 2021-10-09 20:27:08 +00:00
Renovate Bot
52c38a1dc8 chore(deps): update dependency @commitlint/cli to v13.2.1 2021-10-09 10:47:09 +00:00
Renovate Bot
022e8df035 chore(deps): update dependency lint-staged to v11.2.1 2021-10-09 07:43:03 +00:00
Renovate Bot
820f8cdf87 fix(deps): update dependency nodebb-plugin-mentions to v2.14.1 2021-10-08 21:57:15 +00:00
gasoved
227456fb17 fix: no global bootbox (#9879)
* fix: require bootbox (easy ones)

* fix: require bootbox (ugly ones)

* fix(eslint): a lengthy line
2021-10-08 15:25:36 -04:00
Julian Lam
94c4f87b2f docs: update verbiage re: login API route 2021-10-08 15:24:34 -04:00
Baris Usakli
997fb2b348 refactor: remove unused code 2021-10-08 15:16:17 -04:00
Renovate Bot
4b92df821b chore(deps): update dependency eslint-config-nodebb to v0.0.3 2021-10-08 13:31:40 -04:00
Julian Lam
3e69bcdf1f fix: #9872 update app badge with notification count if applicable 2021-10-08 11:32:54 -04:00
gasoved
c1149d045c fix: better nomenclature 2021-10-08 10:37:55 -04:00
gasoved
3acaac4c7c fix: html attributes (#9877)
* fix: some empty xml tag bodies

* fix: missing/wrong attributing of label tags

* fix: attribute fixes

* fix: misassociated label

* fix: missing alt attributes

* fix: some more missing associated labels
2021-10-08 10:36:51 -04:00
Misty (Bot)
1958dffa04 Latest translations and fallbacks 2021-10-08 09:07:02 +00:00
Barış Soner Uşaklı
6c25b9dbaa test: remove escape 2021-10-07 16:24:53 -04:00
Barış Soner Uşaklı
176ed9199b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-10-07 15:20:47 -04:00
Barış Soner Uşaklı
4f9717fb08 fix: escape thumbs, allow robots meta tag 2021-10-07 15:20:41 -04:00
gasoved
7935bd9efb fix: missing translations (#9876) 2021-10-07 14:59:03 -04:00
gasoved
56d05b4e86 feat: confirm before deleting all events (#9875) 2021-10-07 14:53:51 -04:00
Renovate Bot
b0eb2aed0e fix(deps): update dependency jquery-ui to v1.13.0 2021-10-07 18:33:17 +00:00
Barış Soner Uşaklı
543d85212b refactor: remove unused colorpicker 2021-10-07 12:45:44 -04:00
Barış Soner Uşaklı
63109c0705 test: possible fix to timeout 2021-10-07 11:24:12 -04:00
Barış Soner Uşaklı
8654a996d3 test: increase timeout 2021-10-07 11:10:58 -04:00
Barış Soner Uşaklı
1438f40984 chore: up persona 2021-10-07 09:16:53 -04:00
Misty (Bot)
21166069dc Latest translations and fallbacks 2021-10-07 09:06:41 +00:00
Misty (Bot)
945c2b0b8a chore: incrementing version number - v1.18.4
(cherry picked from commit 8593ea87e9)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-10-06 17:59:38 +00:00
Misty (Bot)
7cbcb52151 chore: update changelog for v1.18.4 2021-10-06 17:59:38 +00:00
Barış Soner Uşaklı
f4e62fb1cd chore: up persona 2021-10-06 13:50:03 -04:00
Barış Soner Uşaklı
27e53b42f3 feat: use unread icon in mobile 2021-10-06 12:58:34 -04:00
Misty (Bot)
d30c316be9 Latest translations and fallbacks 2021-10-06 09:06:39 +00:00
Renovate Bot
b4fc277307 fix(deps): update dependency mongodb to v4.1.3 2021-10-05 22:39:55 +00:00
Barış Soner Uşaklı
8ad9a103b3 fix: #9866, fire vote hooks after reputation changes (#9867) 2021-10-05 12:20:09 -04:00
Barış Soner Uşaklı
96f5312de9 fix: #9865, don't display register messages after login 2021-10-05 10:41:26 -04:00
Barış Soner Uşaklı
a0df389021 fix: dont show decimails on auto approva minutes 2021-10-05 10:13:24 -04:00
Julian Lam
e954ca1025 fix: #9864 2021-10-05 09:54:14 -04:00
Barış Soner Uşaklı
a70c69fa83 fix: delete old topic tags 2021-10-04 20:12:11 -04:00
Renovate Bot
9455e5b2b9 fix(deps): update dependency postcss to v8.3.9 2021-10-04 23:55:33 +00:00
Renovate Bot
78895d0586 fix(deps): update dependency autoprefixer to v10.3.7 2021-10-04 22:39:03 +00:00
gasoved
d1ff3d6298 feat: cli user management commands (#9848)
* feat: cli user management commands

* fix: consistent nomenclature
2021-10-04 15:59:09 -04:00
Renovate Bot
9215c7d1e1 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.8 2021-10-04 17:21:16 +00:00
Barış Soner Uşaklı
a7668a7fb1 refactor: use utils.debounce
fixes socket message spam in chat resize
2021-10-04 10:58:32 -04:00
Renovate Bot
840b49b9b2 chore(deps): update dependency lint-staged to v11.2.0 2021-10-04 13:46:50 +00:00
Renovate Bot
4694382cc7 fix(deps): update dependency ioredis to v4.27.10 2021-10-04 11:21:39 +00:00
Misty (Bot)
c5e49b08ce Latest translations and fallbacks 2021-10-04 09:06:03 +00:00
Barış Soner Uşaklı
5aea6c6aa1 feat: #9855, allow uid for post queue notifications 2021-10-03 15:05:30 -04:00
Barış Soner Uşaklı
4404e81991 fix: switch inf. scroll to xhr (#9854)
this fixes infinitescroll when url has custom query parameters
also fixes infinitescroll for plugins like QnA
fixes infinitescroll on tags page
deprecate topics.loadMoreSortedTopics
deprecate topics.loadMoreFromSet
2021-10-02 13:35:58 -04:00
Misty (Bot)
cb25faaa2d Latest translations and fallbacks 2021-10-02 09:06:06 +00:00
Barış Soner Uşaklı
e6a17a6349 Psql multikey (#9852)
* perf: convert promise.all to single query

* perf: single query for removeBulk

* perf: list
2021-10-01 19:36:42 -04:00
Barış Soner Uşaklı
ea04aeded4 perf: convert promise.all to single query (#9851) 2021-10-01 15:24:19 -04:00
Misty (Bot)
7d1c7e0a7b Latest translations and fallbacks 2021-10-01 09:06:21 +00:00
Misty (Bot)
a658757382 Latest translations and fallbacks 2021-09-30 09:07:35 +00:00
Barış Soner Uşaklı
409151050a fix: #9828, max-width 2021-09-29 20:22:21 -04:00
Julian Lam
be43cd2597 Topic Linkbacks (#9825)
* feat: WIP topic linkbacks, + failing tests

* test: don't accidentally comment out all of the post tests

* fix: rename to "backlinks"

* feat: more stub code, more failing tests

* feat: backend methods and passing tests for topic backlinks

* test: uncomment test/posts.js again

* fix: missing quotation mark in topic event helper

* fix: superfluous usage of Promise.all

* test: fix broken test -- used hardcoded (and incorrect) url

* test: parseInt shenanigans
2021-09-29 12:26:15 -04:00
Barış Soner Uşaklı
f24b630e1a feat: add userData to static:user.delete 2021-09-29 09:38:31 -04:00
Misty (Bot)
c40bdad87e Latest translations and fallbacks 2021-09-29 09:06:40 +00:00
Renovate Bot
346e08908b fix(deps): update dependency nodebb-theme-persona to v11.2.9 2021-09-28 18:20:18 +00:00
Barış Soner Uşaklı
6399b42826 feat: closes #9845, sort by views 2021-09-28 11:13:56 -04:00
Renovate Bot
aa370310a1 chore(deps): update commitlint monorepo to v13.2.0 2021-09-28 04:06:33 +00:00
Julian Lam
c5a48b44a5 docs: added link to unofficial IRC channel 2021-09-27 18:14:34 -04:00
Peter Jaszkowiak
ff84d6c52f Add more chat hooks, replace toobig.jpg (#9843)
* feat: more hooks for messaging

for use in global chat plugin

* fix: replace toobig.jpg

toobig.png is a real 10000x10000 image
2021-09-27 13:22:12 -04:00
gasoved
ac1b9692f2 fix: handle undefined returnTo on registerAbort 2021-09-26 09:09:49 -04:00
Renovate Bot
058fdca44e fix(deps): update dependency autoprefixer to v10.3.6 2021-09-26 11:40:04 +00:00
Misty (Bot)
659685722c Latest translations and fallbacks 2021-09-26 09:05:36 +00:00
Renovate Bot
d50dd801ed fix(deps): update dependency yargs to v17.2.1 2021-09-25 23:12:27 +00:00
Renovate Bot
193c92e386 fix(deps): update dependency postcss to v8.3.8 2021-09-25 10:49:02 +00:00
Renovate Bot
6385b88e99 chore(deps): update dependency mocha to v9.1.2 2021-09-25 09:55:10 +00:00
Barış Soner Uşaklı
ff850b2431 fix: lint 2021-09-24 21:44:55 -04:00
Barış Soner Uşaklı
4f8647a59c test: dashboard 2021-09-24 21:41:56 -04:00
Barış Soner Uşaklı
9fe9ab0869 test: add tests for admin privileges 2021-09-24 21:28:54 -04:00
Barış Soner Uşaklı
123354ca36 fix: psql tests 2021-09-24 20:06:56 -04:00
Barış Soner Uşaklı
f8d4ec6ca6 fix: psql test 2021-09-24 19:58:10 -04:00
Barış Soner Uşaklı
3605ac811d fix: possible test fix for subfolder redirect 2021-09-24 19:23:46 -04:00
Barış Soner Uşaklı
3479832593 test: add missing tests 2021-09-24 18:32:59 -04:00
Julian Lam
8cb475482a test: remove debug log 2021-09-24 17:08:36 -04:00
Julian Lam
4eacfef02b fix: missing relative path in test 2021-09-24 17:07:21 -04:00
Julian Lam
58e0a366c8 fix: #9834, missing null email check on new registrations, added tests 2021-09-24 12:15:40 -04:00
Julian Lam
cb69934ad0 test: no need to create fake interstitial as NodeBB comes with some by default 2021-09-24 10:43:45 -04:00
Julian Lam
a9645475fe feat: duplicate requireEmailAddress settings block to Settings > User 2021-09-24 10:34:13 -04:00
Renovate Bot
daea8a86c1 fix(deps): update dependency passport to ^0.5.0 2021-09-24 00:30:23 +00:00
renovate[bot]
054f3da65d fix(deps): update dependency connect-pg-simple to v7 (#9785)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-23 17:09:45 -04:00
Barış Soner Uşaklı
07adb49e7f feat: mongodb driver 4.x (#9832)
* feat: mongodb driver 4.x

* feat: up dbsearach
2021-09-23 16:49:56 -04:00
Barış Soner Uşaklı
6b34065f2a refactor: remove async.waterfall from remaining upgrade scripts 2021-09-23 14:56:20 -04:00
Barış Soner Uşaklı
04ee5c0dfb Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-09-23 10:00:43 -04:00
Barış Soner Uşaklı
0faa493745 fix: crossorigin not showing up on manifest link tag 2021-09-23 10:00:37 -04:00
Misty (Bot)
fc1a31ed87 Latest translations and fallbacks 2021-09-23 09:07:44 +00:00
Renovate Bot
c78309b573 fix(deps): update dependency yargs to v17.2.0 2021-09-23 08:18:57 +00:00
Barış Soner Uşaklı
89af00d1d5 fix: #9827, fix reward duplication 2021-09-22 23:56:34 -04:00
Julian Lam
1a61ffc595 feat: a useless hover effect because raisins 2021-09-22 16:33:24 -04:00
Misty (Bot)
57358743fa chore: incrementing version number - v1.18.3
(cherry picked from commit 9e52236973)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-09-22 17:01:45 +00:00
Misty (Bot)
f066ddb8f6 chore: update changelog for v1.18.3 2021-09-22 17:01:45 +00:00
Renovate Bot
9855429445 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.7 2021-09-22 16:48:38 +00:00
Julian Lam
31975a628e fix: fixed element shifting in ACP menu that's been bothering me for 5-ish years 2021-09-22 11:31:56 -04:00
Barış Soner Uşaklı
aea0eb18d1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-09-22 09:16:15 -04:00
Barış Soner Uşaklı
30f387710c fix: #9822, use correct username/pwd 2021-09-22 09:16:08 -04:00
Renovate Bot
6ebe707ca5 fix(deps): update dependency postcss to v8.3.7 2021-09-22 13:08:08 +00:00
Renovate Bot
2568744167 fix(deps): update dependency autoprefixer to v10.3.5 2021-09-22 11:25:34 +00:00
Misty (Bot)
6b4e77e3ce Latest translations and fallbacks 2021-09-22 09:06:51 +00:00
Barış Soner Uşaklı
2add84a568 fix: remove unused translator 2021-09-21 17:16:21 -04:00
Barış Soner Uşaklı
07859f7e8c fix: ban info test 2021-09-21 17:12:59 -04:00
Barış Soner Uşaklı
9f0e55ad3e fix: #9819, show same time info for ban 2021-09-21 17:04:17 -04:00
Barış Soner Uşaklı
7a2f0ae15b fix: show local time for ban 2021-09-21 16:10:37 -04:00
Barış Soner Uşaklı
c437b33652 fix: crash 2021-09-21 13:51:24 -04:00
Barış Soner Uşaklı
15f9aaa6ee fix: remove caller from payload after hooks is done
only if it was added automatically
2021-09-21 13:48:16 -04:00
renovate[bot]
c18678cef2 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.6 (#9815)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-21 13:25:59 -04:00
renovate[bot]
39d73d0c3d fix(deps): update dependency nodebb-theme-persona to v11.2.8 (#9816)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-21 13:25:51 -04:00
Julian Lam
ce8ea6ea42 fix: bad uid reference 2021-09-21 13:03:59 -04:00
Julian Lam
f194809f06 feat: move filter:topic.post hook to top of method 2021-09-21 13:00:45 -04:00
Julian Lam
7777812e62 fix: update Topics.post and Topics.reply so that plugins can modify uid (or redirect a reply to a different topic)
/cc @antosik
2021-09-21 11:26:17 -04:00
Barış Soner Uşaklı
c4fc7bf9b5 fix: #9818, fix totalTime calculation 2021-09-21 10:21:52 -04:00
Misty (Bot)
e838b616df Latest translations and fallbacks 2021-09-21 09:06:38 +00:00
psychobunny
1ed62aa82f fix: missing microdata in category data 2021-09-20 23:03:24 -04:00
Barış Soner Uşaklı
c0a52924f1 fix: #9812, add topics:schedule 2021-09-20 10:48:35 -04:00
Barış Soner Uşaklı
18252fb9a8 refactor: no regex 2021-09-20 10:41:26 -04:00
Barış Soner Uşaklı
31a6d4b39a fix: for subfolders 2021-09-20 10:39:56 -04:00
Barış Soner Uşaklı
0236ea86ad fix: req.path doesn't have full url 2021-09-20 10:24:02 -04:00
Barış Soner Uşaklı
75ebe78619 fix: escape moderation note before adding to dom 2021-09-20 10:16:16 -04:00
Barış Soner Uşaklı
40c9fca918 fix: #9811, send bodyClass on 403
use helpers.formatApiResponse for /api/v3 routes only
2021-09-20 10:11:25 -04:00
Barış Soner Uşaklı
05ddd60c5e dont check empty emails in queue 2021-09-18 15:20:24 -04:00
Barış Soner Uşaklı
58ac55c16a refactor: remove async.waterfall 2021-09-17 20:33:31 -04:00
Barış Soner Uşaklı
222dccaf67 refactor: remove async.waterfall 2021-09-17 15:29:10 -04:00
Barış Soner Uşaklı
f35a0f430a refactor: remove async.waterfall 2021-09-17 13:31:49 -04:00
Julian Lam
944a798552 fix: also launch docker workflow on release branches 2021-09-17 12:21:38 -04:00
Barış Soner Uşaklı
ba3582b873 fix: xss on flags page via ban reason 2021-09-17 11:10:43 -04:00
Julian Lam
66eaae44a6 feat: add client-side static hook to fire immediately before any topic action (hint: delete action to stop default behaviour) 2021-09-17 10:37:22 -04:00
Julian Lam
819917daf2 refactor: allow plugins to replace og:image, or specify additional og:image
/cc @antosik
2021-09-17 09:57:31 -04:00
Renovate Bot
8e886c853b fix(deps): update dependency connect-mongo to v4.6.0 2021-09-17 13:51:12 +00:00
Barış Soner Uşaklı
896ff2152f fix: up timeout for psql tests 2021-09-17 08:20:03 -04:00
Renovate Bot
8af54255d8 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.4 2021-09-15 18:48:13 +00:00
Misty (Bot)
a66659ff6c Latest translations and fallbacks 2021-09-15 09:06:50 +00:00
Barış Soner Uşaklı
0c4b875e10 fix: redis batch 2021-09-14 18:28:18 -04:00
Barış Soner Uşaklı
3261edcc32 fix: redis processing batch+1 items every iteration 2021-09-14 18:13:44 -04:00
Renovate Bot
9049dcd76c fix(deps): update dependency mongodb to v3.7.1 2021-09-14 19:38:52 +00:00
Barış Soner Uşaklı
8b576a3704 fix: #9560, don't save post diffs if content didn't change 2021-09-14 14:07:58 -04:00
Misty (Bot)
1cca8eaddc Latest translations and fallbacks 2021-09-14 09:07:13 +00:00
Barış Soner Uşaklı
6a55c02702 fix: #9790, get baseIndex on update for infinitescroll 2021-09-11 18:07:01 -04:00
Barış Soner Uşaklı
2657804c1f fix: #9790, fix sorting of more than one page of pinned topics 2021-09-11 17:57:42 -04:00
Barış Soner Uşaklı
3ecbb624d8 fix: privileges added by plugins (#9802)
* fix: privileges added by plugins

when copying a categories privileges, privileges added by plugins will be copied as well
when purging a category privileges added by plugins will be purged as well
show plugin privileges in privileges.<categories/admin/global>.get
show plugin privileges in privileges.<categories/admin/global>.userPrivileges
show plugin privileges in privileges.<categories/admin/global>.groupPrivileges

* fix: typo
2021-09-11 16:43:48 -04:00
Renovate Bot
506035b5f7 fix(deps): update dependency nodebb-theme-persona to v11.2.6 2021-09-11 20:31:29 +00:00
Barış Soner Uşaklı
71ed50b9c1 fix: #9800, don't send all welcome test emails to test@example.org @julianlam 2021-09-11 13:11:11 -04:00
uplift
92d1ee31e4 Add authenticateRequest middleware (#9795)
* Add  authenticateRequest middleware

to Post routes

* Fix linting error
2021-09-10 12:36:12 -04:00
Antosik
b06e8dba7b fix: docker - remove sha tag 2021-09-10 07:39:55 -04:00
Barış Soner Uşaklı
397835a05a feat: allow removing multiple items from list 2021-09-09 22:25:17 -04:00
Barış Soner Uşaklı
7f48edc02a feat: add uid to filter:user.saveSettings 2021-09-09 22:24:55 -04:00
Antosik
52eace4b38 fix: Return QEMU back, remove platforms definition 2021-09-09 10:45:59 -04:00
Anton Grigoryev
e7f4cde466 Fix: Docker workflow tweaks (#9792)
* fix: docker workflow tweaks

* fix: run workflow on push to master branch
2021-09-09 09:08:27 -04:00
Misty (Bot)
c05fba98d4 Latest translations and fallbacks 2021-09-09 09:06:09 +00:00
Renovate Bot
787306a6c1 fix(deps): update dependency nodebb-theme-slick to v1.4.13 2021-09-08 23:24:27 +00:00
gasoved
84ff1152f7 feat: headers for global privs #9717 (#9762)
* feat: headers for global privs #9717

* fix: don't spoil headers to adminPrivs

Co-authored-by: Julian Lam <julian@nodebb.org>
2021-09-08 17:17:25 -04:00
Renovate Bot
ee02771959 chore(deps): update docker/build-push-action action to v2.7.0 2021-09-08 15:10:36 -04:00
Renovate Bot
732b59c2d8 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.3 2021-09-08 15:00:54 -04:00
Julian Lam
66f70b2aa0 Revert "Revert "Use Github Action as a release pipeline to Docker (#9720)" (#9738)"
This reverts commit d2bc1fa565.
2021-09-08 14:50:32 -04:00
Julian Lam
0b4d7d1f8e style: give me an A! 💯 2021-09-08 14:27:48 -04:00
Julian Lam
006fc700dd feat: add ACP option to require email address on new registration 2021-09-08 14:18:20 -04:00
Julian Lam
34afb74762 fix: browsers autocompleting smtp fields when they should not 2021-09-08 14:05:56 -04:00
Misty (Bot)
0a56158bb4 chore: incrementing version number - v1.18.2
(cherry picked from commit 854c078b73)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-09-08 16:27:01 +00:00
Misty (Bot)
27e9282aa4 chore: update changelog for v1.18.2 2021-09-08 16:27:01 +00:00
Misty (Bot)
507517fce5 Latest translations and fallbacks 2021-09-08 09:06:50 +00:00
psychobunny
bf0c02a71e feat: a slightly less ugly rewards panel 2021-09-07 11:49:43 -04:00
psychobunny
a7855c4cc4 fix: dashboard graph controls 2021-09-07 10:48:03 -04:00
psychobunny
580a016b0e fix: #9767 ACP change group icon fix 2021-09-07 10:22:09 -04:00
Renovate Bot
ac6cd02fa2 fix(deps): update dependency sharp to v0.29.1 2021-09-07 11:34:03 +00:00
Misty (Bot)
a17ffcd094 Latest translations and fallbacks 2021-09-07 09:06:24 +00:00
Renovate Bot
338f90fc5e fix(deps): update dependency nodebb-plugin-dbsearch to v5.0.3 2021-09-06 19:41:02 +00:00
Misty (Bot)
9084520027 Latest translations and fallbacks 2021-09-06 09:06:27 +00:00
Misty (Bot)
2e1b99f504 Latest translations and fallbacks 2021-09-05 09:06:12 +00:00
Barış Soner Uşaklı
0ce4b87d85 fix: #9781 (#9782) 2021-09-03 20:34:42 -04:00
Julian Lam
856ba78a5f fix: replace logic in isPrivilegedOrSelfAndPasswordMatch to use privileges.users.canEdit 2021-09-03 17:13:55 -04:00
Renovate Bot
87ba768f5c chore(deps): update commitlint monorepo to v13 2021-09-03 17:06:11 -04:00
Renovate Bot
0b3ea5adb4 fix(deps): update dependency nodebb-theme-vanilla to v12.1.3 2021-09-03 17:05:47 -04:00
Julian Lam
8cbad61e8a test: added test for external image via new change picture API 2021-09-03 16:59:42 -04:00
Julian Lam
cdaea61136 fix: handle missing uid in deprecated socket call 2021-09-03 16:59:42 -04:00
Julian Lam
0a41741b7e refactor: deprecate picture update socket call, new API routes for picture update 2021-09-03 16:59:42 -04:00
Julian Lam
e33e046f15 fix: use privileges.users.canEdit for image upload priv check 2021-09-03 16:59:42 -04:00
Barış Soner Uşaklı
a48bbdbfe3 fix: errors from registerComplete 2021-09-03 15:30:05 -04:00
Renovate Bot
57e54d559b fix(deps): update dependency nodebb-theme-persona to v11.2.5 2021-09-03 18:35:00 +00:00
Julian Lam
60de084475 fix: simplify logic for fullname and email blanking in user retrieval (getUserDataByUserSlug)
Previous logic seemed to match the logic used in privileges.users.canEdit, except
the latter allows plugins to modify the value.
2021-09-03 13:38:24 -04:00
Barış Soner Uşaklı
1e2bda13d0 fix: lint 2021-09-03 12:41:11 -04:00
Barış Soner Uşaklı
488f0978a4 fix: manifest error 2021-09-03 12:29:11 -04:00
Barış Soner Uşaklı
72710b8040 fix: #9772, regression from 70a04bc105 2021-09-03 12:22:03 -04:00
Julian Lam
dd4e66e22c fix: push back some deprecations, remove deprecated stuff scheduled for v1.18.0 2021-09-03 12:04:20 -04:00
Barış Soner Uşaklı
1f91a31327 Priv hook fix (#9775)
* fix: #9773, fire hooks properly for priv changes

* fix: admin/global group privs

dont allow invalid privs
2021-09-03 11:58:17 -04:00
Julian Lam
4ac701d747 fix: deprecate userData.showHidden as it is functionally equivalent to userData.canEdit 2021-09-03 11:57:18 -04:00
Julian Lam
46e5e17d0f fix: focus on save button on plugin activation 2021-09-03 11:34:09 -04:00
Barış Soner Uşaklı
6869920e06 fix: #9773, fire hooks properly for priv changes (#9774) 2021-09-03 11:22:42 -04:00
Misty (Bot)
f8f80e4fb3 chore: incrementing version number - v1.18.1
(cherry picked from commit 0409403f5b)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-09-03 15:04:06 +00:00
Misty (Bot)
0713475dc5 chore: update changelog for v1.18.1 2021-09-03 15:04:06 +00:00
Misty (Bot)
b73d8849ab Latest translations and fallbacks 2021-09-03 09:06:15 +00:00
Renovate Bot
67b932f4d1 fix(deps): update dependency autoprefixer to v10.3.4 2021-09-03 01:10:14 +00:00
Renovate Bot
fe18e100c5 fix(deps): update dependency nodebb-theme-persona to v11.2.4 2021-09-02 16:01:50 +00:00
Misty (Bot)
3957ff283a Latest translations and fallbacks 2021-09-02 09:06:42 +00:00
gasoved
fc0e655eef refactor: consistent jquery element var naming 2021-09-01 22:41:41 -04:00
gasoved
760ea9df1e fix: determine indeterminate checkboxes 2021-09-01 22:41:41 -04:00
gasoved
1272da6539 refactor: var to const 2021-09-01 22:41:41 -04:00
Julian Lam
ca9bae3a1c fix: move app.alert back into the conditionals 2021-09-01 10:51:04 -04:00
Julian Lam
1bd1cc74a4 fix: only show email confirmation warning toast on pages that it applies 2021-09-01 10:51:04 -04:00
Julian Lam
2d1380ddf1 fix: updated email confirm warning to be more positive 2021-09-01 10:51:04 -04:00
Misty (Bot)
985be8ad87 Latest translations and fallbacks 2021-09-01 09:05:55 +00:00
Renovate Bot
31a35d7f71 fix(deps): update dependency mongodb to v3.7.0 2021-08-31 22:31:25 +00:00
psychobunny
6afeac375b fix: automated tests are a good thing to have 2021-08-31 11:33:20 -04:00
psychobunny
ae793b4a44 chore: found some hooks that don't play well docgen 2021-08-31 10:45:08 -04:00
gasoved
3df79683f5 feat: create folders in ACP uploads #9638 (#9750)
* feat: create folders in ACP uploads #9638

* fix: openapi

* test: missing tests

* fix: eslint

* fix: tests
2021-08-31 09:27:00 -04:00
Renovate Bot
f2028d7009 fix(deps): update socket.io packages to v4.2.0 2021-08-31 11:53:11 +00:00
Renovate Bot
6052eb1613 fix(deps): update dependency ioredis to v4.27.9 2021-08-31 10:53:54 +00:00
Misty (Bot)
35a6715aff Latest translations and fallbacks 2021-08-31 09:06:29 +00:00
renovate[bot]
5fa982c123 fix(deps): update dependency mongodb to v3.6.12 (#9761)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-30 21:16:53 -04:00
gasoved
61f02f17d8 feat: column based view on wide priv. tables (#9699)
* feat: column based view on wide priv. tables

* fix: add group/user

* feat: copy buttons to work on visible privs

* feat: show what's being copied in modal

* feat: optional title and message for category selector modal
2021-08-30 10:42:58 -04:00
Barış Soner Uşaklı
e59d357533 feat: als (#9749)
* feat: als

* fix: up test timeout

* fix: don't overwrite caller if it already exists

* fix: up test timeout for psql
2021-08-30 10:23:38 -04:00
Misty (Bot)
156ba0958e Latest translations and fallbacks 2021-08-30 09:06:45 +00:00
Misty (Bot)
e005b20470 Latest translations and fallbacks 2021-08-29 09:05:41 +00:00
Renovate Bot
33d5120181 fix(deps): update dependency nodebb-plugin-composer-default to v7.0.2 2021-08-28 19:08:49 +00:00
Renovate Bot
64bac178e1 chore(deps): update dependency mocha to v9.1.1 2021-08-28 17:28:03 +00:00
Misty (Bot)
7802622eba Latest translations and fallbacks 2021-08-28 09:05:50 +00:00
Renovate Bot
1b416d7ed9 fix(deps): update dependency nodebb-theme-slick to v1.4.12 2021-08-27 21:22:38 +00:00
Barış Soner Uşaklı
e93148420d feat: add quick reply key 2021-08-27 14:39:29 -04:00
Misty (Bot)
d16d3ebace Latest translations and fallbacks 2021-08-27 09:06:48 +00:00
Renovate Bot
65b32fa1fc fix(deps): update dependency nodebb-theme-slick to v1.4.11 2021-08-27 05:09:42 +00:00
Renovate Bot
6ce321e4c4 fix(deps): update dependency nodebb-theme-persona to v11.2.3 2021-08-27 03:28:13 +00:00
Barış Soner Uşaklı
6e73d8c934 feat: add new lang key for no best posts 2021-08-26 19:18:20 -04:00
Renovate Bot
91ba7cdf79 fix(deps): update dependency autoprefixer to v10.3.3 2021-08-26 19:35:40 +00:00
Renovate Bot
d80b378f4e fix(deps): update dependency nodebb-theme-slick to v1.4.9 2021-08-26 17:58:27 +00:00
SAES:RPG
dd15065706 Fix [MONGODB DRIVER] Warning: bulk operation remove has been deprecated, please use delete (#9746)
Co-authored-by: Brophy <paul.brophy@bastage.net>
2021-08-26 09:44:16 -04:00
Misty (Bot)
fac8136f9b Latest translations and fallbacks 2021-08-26 09:06:05 +00:00
renovate[bot]
7f9451cea5 fix(deps): update dependency jquery-deserialize to v2.0.0 (#9744)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-25 16:52:23 -04:00
Misty (Bot)
1e436ae793 chore: incrementing version number - v1.18.0
(cherry picked from commit d220d1d461)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-08-25 20:29:56 +00:00
Misty (Bot)
2fd9c09544 chore: update changelog for v1.18.0 2021-08-25 20:29:56 +00:00
Julian Lam
4ddc26fc08 Add dependabot.yml for automatic security updates 2021-08-25 12:56:50 -04:00
Barış Soner Uşaklı
d2bc1fa565 Revert "Use Github Action as a release pipeline to Docker (#9720)" (#9738)
This reverts commit 1a72d3b4f8.
2021-08-25 10:59:28 -04:00
Steve Fan
1a72d3b4f8 Use Github Action as a release pipeline to Docker (#9720)
* Create main.yml

* Update and rename main.yml to docker.yml
2021-08-25 10:55:52 -04:00
loid345
635f5555de Update package.json (#9722) 2021-08-25 10:55:42 -04:00
Julian Lam
55693ec1b0 fix: lint 2021-08-25 10:24:02 -04:00
Julian Lam
12e7f8d5ae fix(deps): bump persona 2021-08-25 10:21:23 -04:00
Julian Lam
e803737a4b feat: add confirmation modal to topic event deletion 2021-08-25 10:12:50 -04:00
Julian Lam
1ee92c281d fix: topic event deletion 2021-08-25 10:12:50 -04:00
Renovate Bot
324c7d482d chore(deps): update dependency husky to v7.0.2 2021-08-25 04:18:54 +00:00
Renovate Bot
9a34fe1857 chore(deps): update dependency eslint-plugin-import to v2.24.2 2021-08-25 02:43:30 +00:00
renovate[bot]
2e1562b813 fix(deps): update dependency nodebb-theme-persona to v11.2.1 (#9734)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-24 13:36:48 -04:00
renovate[bot]
4bd66a7ca9 fix(deps): update dependency nodebb-theme-vanilla to v12.1.2 (#9735)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-24 13:36:42 -04:00
Julian Lam
152f194aee Server-side rendering of topic events (#9733)
* style: reformat list of helpers exported

* refactor: move topic events partial into a helper, invoke helper in topic.tpl (see persona), update how events are added to the DOM via addTopicEvents

closes #9731

* style: lint
2021-08-24 11:56:04 -04:00
Barış Soner Uşaklı
0743554dd4 fix: pluginPaths 2021-08-23 21:41:08 -04:00
Barış Soner Uşaklı
13878e9f14 fix: #9730, show warning if plugin is active but not installed 2021-08-23 21:27:03 -04:00
renovate[bot]
096c5a5891 fix(deps): update dependency nodebb-theme-slick to v1.4.8 (#9732)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-23 14:17:00 -04:00
Barış Soner Uşaklı
60bf564321 fix: #9729, insert new posts after topic events 2021-08-23 12:31:11 -04:00
Barış Soner Uşaklı
c354cde347 fix: #9719, only apply to non https 2021-08-23 11:51:36 -04:00
Misty (Bot)
2dcced5518 Latest translations and fallbacks 2021-08-22 09:06:14 +00:00
Barış Soner Uşaklı
77c3085a7b fix: #9727, addHandlers after hooks 2021-08-21 23:32:05 -04:00
Barış Soner Uşaklı
6659e95a4a refactor: remove promisify from redis, ioredis supports promises nati… (#9728)
* refactor: remove promisify from redis, ioredis supports promises natively

* refactor: remove unused util
2021-08-21 23:31:31 -04:00
Renovate Bot
d44e3a8ecf fix(deps): update dependency autoprefixer to v10.3.2 2021-08-21 20:21:49 +00:00
Misty (Bot)
8358c3b426 Latest translations and fallbacks 2021-08-21 09:05:54 +00:00
Renovate Bot
cd85a55dd4 chore(deps): update dependency eslint-config-nodebb to v0.0.2 2021-08-20 11:06:00 -04:00
Renovate Bot
c5a4227310 chore(deps): update dependency mocha to v9.1.0 2021-08-20 11:16:05 +00:00
Misty (Bot)
b14cdc5f6d Latest translations and fallbacks 2021-08-20 09:06:34 +00:00
Renovate Bot
daca09d455 chore(deps): update dependency eslint-plugin-import to v2.24.1 2021-08-20 00:01:47 +00:00
Misty (Bot)
81a1cd00cf Latest translations and fallbacks 2021-08-19 09:06:26 +00:00
Barış Soner Uşaklı
a288f51f42 fix: allow smaller than 5mins for admin relogin duration
setting the value to 1min in ACP wasn't working
2021-08-18 20:46:51 -04:00
Barış Soner Uşaklı
794bf01b21 feat: allow changing default search in 2021-08-18 20:35:39 -04:00
Renovate Bot
116f9cb55e fix(deps): update dependency nodebb-theme-persona to v11.2.0 2021-08-18 17:06:06 +00:00
Renovate Bot
8461791a52 fix(deps): update dependency ioredis to v4.27.8 2021-08-18 15:49:20 +00:00
Julian Lam
cf4b78dbd3 Revert "fix: taskbar icon not pushed via composer/persona"
This reverts commit 3a81c8fd42.
2021-08-18 10:09:39 -04:00
psychobunny
d2492ef48e style: eslint 2021-08-17 18:16:43 -04:00
psychobunny
3a81c8fd42 fix: taskbar icon not pushed via composer/persona
@antosik, partially reverted your PR:
342503e07a

just specifically this file: 342503e07a/public/src/modules/taskbar.js

I'm not 100% sure, but it might be because this hook is called sooner than the hook being registered? https://github.com/NodeBB/nodebb-theme-persona/blob/master/public/persona.js#L100-L101  @julianlam
2021-08-17 17:49:06 -04:00
Renovate Bot
ec103ce8dd fix(deps): update dependency nodebb-theme-persona to v11.1.3 2021-08-17 17:05:13 -04:00
Renovate Bot
626d5565c6 fix(deps): update dependency sharp to v0.29.0 2021-08-17 18:46:37 +00:00
Renovate Bot
ce6039f2d1 fix(deps): update dependency connect-mongo to v4.5.0 2021-08-17 16:11:17 +00:00
Misty (Bot)
0c672d8faa Latest translations and fallbacks 2021-08-17 09:06:13 +00:00
Andrew Rodrigues
b74eefacf6 chore: up markdown/composer-default, fixes: #9708 2021-08-16 18:36:45 -04:00
Renovate Bot
de83f82eae fix(deps): update dependency nodebb-theme-vanilla to v12.1.1 2021-08-16 18:22:02 +00:00
Renovate Bot
ee10ae0450 fix(deps): update dependency nodebb-theme-persona to v11.1.2 2021-08-16 16:58:06 +00:00
Barış Soner Uşaklı
382a4c2785 feat: #9705, use radio buttons for flag reasons 2021-08-16 11:26:49 -04:00
Renovate Bot
ffdf61b882 chore(deps): update dependency @apidevtools/swagger-parser to v10.0.3 2021-08-15 11:21:00 +00:00
Misty (Bot)
2f2e6b4b5e Latest translations and fallbacks 2021-08-15 09:05:42 +00:00
Renovate Bot
38e38580fb fix(deps): update dependency yargs to v17.1.1 2021-08-13 23:27:07 +00:00
renovate[bot]
418553757f chore(deps): update dependency jsdom to v17 (#9700)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-13 16:59:00 -04:00
Anton Grigoryev
342503e07a Feat: Client-side hooks - replace window.trigger (#9679)
* feat/clientside-hooks: replace window.trigger with hooks.fire

* feat(clientside-hooks): Move hooks require to the top

* fix: simplifying complex logical expression

* fix: client-side hook for translator - post-review fixes
2021-08-13 16:58:37 -04:00
Misty (Bot)
a850dd2e34 Latest translations and fallbacks 2021-08-13 09:06:19 +00:00
Barış Soner Uşaklı
9de64bf516 fix: #9698, pass along query params in redirect 2021-08-12 11:26:15 -04:00
Misty (Bot)
4c67592f55 Latest translations and fallbacks 2021-08-12 09:06:01 +00:00
Misty (Bot)
8100b6a841 Latest translations and fallbacks 2021-08-11 09:06:57 +00:00
Renovate Bot
4794141852 fix(deps): update dependency nodebb-theme-persona to v11.1.1 2021-08-11 03:02:13 +00:00
Barış Soner Uşaklı
8bf2896d6c fix: lint 2021-08-10 21:19:01 -04:00
Barış Soner Uşaklı
358ad74054 feat: closes #9684, allow event deletion
fix: topic events appearing before necro messages
feat: add move topic event
feat: add ability to delete specific topic events via events.purge
2021-08-10 19:39:51 -04:00
Renovate Bot
23dafa204c chore(deps): update dependency eslint-plugin-import to v2.24.0 2021-08-08 23:03:22 +00:00
Julian Lam
f653a6ff6a feat: replace eslint configs on server and client side to inherit rules from eslint-config-nodebb 2021-08-08 15:38:02 -04:00
opliko
5e6b8433a3 change font order 2021-08-06 19:39:33 -04:00
opliko
f576d6e0ea fix solid font weight in shim 2021-08-06 19:39:33 -04:00
opliko
a370c26f73 feat: re-add FontAwesome font for compatibility 2021-08-06 19:39:33 -04:00
opliko
093ac1c09a fix: remove unnecessary quote 2021-08-06 19:39:33 -04:00
opliko
41762e6603 feat: update to FontAwesome 5.15, resolve #6976 2021-08-06 19:39:33 -04:00
Renovate Bot
d47bdde260 chore(deps): update dependency lint-staged to v11.1.2 2021-08-06 08:57:29 +00:00
Renovate Bot
a0fd026801 fix(deps): update dependency mongodb to v3.6.11 2021-08-05 19:19:19 +00:00
Barış Soner Uşaklı
8fb53252a8 refactor: get rid of async.waterfall/each 2021-08-05 14:09:34 -04:00
Barış Soner Uşaklı
42dbd40253 refactor: remove unused async 2021-08-05 13:02:28 -04:00
Barış Soner Uşaklı
6b6a7d4b8a refactor: remove waterfall 2021-08-05 12:52:07 -04:00
Renovate Bot
181c20ba56 fix(deps): update dependency yargs to v17.1.0 2021-08-05 00:14:52 +00:00
Misty (Bot)
fadb71bff5 Latest translations and fallbacks 2021-08-03 09:06:27 +00:00
Misty (Bot)
39911a9fc5 Latest translations and fallbacks 2021-08-02 09:06:49 +00:00
Opliko
d509a307f0 Remove some deprecated/unnecessary code (#9688)
* refactor: remove mkdirp promisify

* refactor: remove old session deletion API route

* refactor: remove middleware.isAdmin

* refactor: remove templateValues.config.bootswatchSkin

* fix: unused dependencies
2021-08-01 22:03:19 -04:00
Renovate Bot
9db28b4b4f chore(deps): update dependency jsdom to v16.7.0 2021-08-01 23:06:36 +00:00
Renovate Bot
4c9d6b62a8 fix(deps): update dependency ioredis to v4.27.7 2021-08-01 18:12:41 +00:00
Misty (Bot)
e8b2aa51bf Latest translations and fallbacks 2021-08-01 09:05:23 +00:00
Misty (Bot)
d675795749 Latest translations and fallbacks 2021-07-31 09:05:46 +00:00
Barış Soner Uşaklı
162ebacf5b fix: parseInt tids 2021-07-30 22:54:19 -04:00
Barış Soner Uşaklı
0c81642997 fix: #9681, update posts in queue if target tid is merged 2021-07-30 22:51:06 -04:00
Renovate Bot
03a98f4de4 chore(deps): update dependency eslint to v7.32.0 2021-07-31 01:02:58 +00:00
Julian Lam
4a521ea218 fix: email update interstitial to not error on empty email field (on new registration) 2021-07-30 15:08:43 -04:00
Julian Lam
70a04bc105 feat: removed registerAndLoginUserCallback local helper, added handling if a bad interstitial doesn't go away nor throw errors 2021-07-30 14:50:56 -04:00
Misty (Bot)
46243719b7 Latest translations and fallbacks 2021-07-30 17:53:30 +00:00
Julian Lam
3b34571de9 fix(deps): update theme versions for #9607 2021-07-30 13:41:31 -04:00
Julian Lam
bbbacd86ab feat: updated email confirmation alert to more closely reflect email usage, remembering dismissal 2021-07-30 13:29:13 -04:00
Julian Lam
58adb76246 feat: allow requirejs modules to be awaited 2021-07-30 13:29:13 -04:00
Julian Lam
0e05cbe1f7 feat: show instructional modal after email change request 2021-07-30 13:29:13 -04:00
Julian Lam
e95df2f066 refactor: move interstitials into its own file in src/user/ 2021-07-30 13:29:13 -04:00
Julian Lam
324a12b6c3 feat: return back to profile after editing email 2021-07-30 13:29:13 -04:00
Julian Lam
b3c916414b feat: allow registration interstitial abort to also follow returnTo 2021-07-30 13:29:13 -04:00
Julian Lam
96398faa3c feat: plumb current session id into email removal/confirmation flow, so all other sessions are revoked except for the current session
This utilises the new argument in user.auth.revokeAllSessions
2021-07-30 13:29:13 -04:00
Julian Lam
b0a4a1d3e4 feat: allow revokeAllSessions method to revoke all sessions except that which is passed in (new arg) 2021-07-30 13:29:13 -04:00
Julian Lam
f53fc1ad0b feat: return generic 404 on invalid confirm code 2021-07-30 13:29:13 -04:00
Julian Lam
824a72b220 fix: updated ACP > Manage > Users to handle users with no email address 2021-07-30 13:29:13 -04:00
Julian Lam
d5b5b7d531 fix: allowed reset and reset_notify emails to go out to unconfirmed email addresses 2021-07-30 13:29:13 -04:00
Julian Lam
ccf004f1f4 refactor: added user.email.remove method, updated email interstitial to handle email removal 2021-07-30 13:29:13 -04:00
Julian Lam
414d733d76 fix: bug where confirmation email was sent to the old email address, not the new one 2021-07-30 13:29:13 -04:00
Julian Lam
3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 2021-07-30 13:29:13 -04:00
Julian Lam
caf8968791 fix: accidental early return in confirmByCode, tests, race condition
A race condition caused mongo/psql tests to fail.
2021-07-30 13:29:13 -04:00
gasoved
a917210c5b feat: invites no longer require email 2021-07-30 13:29:13 -04:00
Julian Lam
81611ae1c4 fix(emails): broken test for api/user/email/:email
+ fixed broken tests due to unexpected behaviour for email confirmation
2021-07-30 13:29:13 -04:00
Julian Lam
c4e3362bd3 feat(emails): restore ability for admins to edit a user's email address [breaking]
The edited user's email will be automatically confirmed
2021-07-30 13:29:13 -04:00
Julian Lam
afd2d8dab1 feat(emails): pass req in to filter:registration.interstitial 2021-07-30 13:29:13 -04:00
Barış Soner Uşaklı
7d115c8ef2 fix(emails): dont allow retrieving user data if showemail is false @julianlam 2021-07-30 13:29:13 -04:00
Julian Lam
6694bdd550 fix(emails): registration tests, email no longer passed-in, API tests (confirm email for test accounts) 2021-07-30 13:29:13 -04:00
Julian Lam
e726048e0c fix(emails): don't automatically associate email during user creation if passed in at registration 2021-07-30 13:29:13 -04:00
Julian Lam
f52919990b feat(emails): display current email in interstitial form 2021-07-30 13:29:13 -04:00
Julian Lam
b4b65ecd98 fix(emails): remove debug log 2021-07-30 13:29:13 -04:00
Julian Lam
087e6020e4 refactor(email): validation checking methods, +tests fix 2021-07-30 13:29:13 -04:00
Julian Lam
50517020a2 feat(emails): upgrade script for includeUnverifiedEmails 2021-07-30 13:29:13 -04:00
Julian Lam
be97aa6f13 feat(emails): +includeUnverifiedEmails ACP setting 2021-07-30 13:29:13 -04:00
Julian Lam
ab9b671693 fix(emails): broken test due to sticky registration interstitial 2021-07-30 13:29:13 -04:00
Julian Lam
a3a3b10fb3 test(emails): fixing broken tests introduced by e5ff68acd 2021-07-30 13:29:13 -04:00
Julian Lam
69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 2021-07-30 13:29:13 -04:00
Julian Lam
f365bc4600 refactor(emails): interstitial for adding/updating email 2021-07-30 13:29:13 -04:00
Julian Lam
74aaa0a926 feat: show different registration intersitial lead text on new account vs. existing 2021-07-30 13:29:13 -04:00
Julian Lam
7c1d1c777b refactor(emails): remove email validation on client and server side 2021-07-30 13:29:13 -04:00
Julian Lam
12b2a979a0 feat: removal of emailExists socket listener 2021-07-30 13:29:13 -04:00
Barış Soner Uşaklı
04b1f702cd feat: add loggedin/guest class to body 2021-07-29 11:10:13 -04:00
Misty (Bot)
c54d339dca Latest translations and fallbacks 2021-07-29 09:07:10 +00:00
Misty (Bot)
09c2b85e36 Latest translations and fallbacks 2021-07-28 09:06:17 +00:00
Renovate Bot
40384fcb5a chore(deps): update dependency mocha to v9.0.3 2021-07-25 17:26:44 +00:00
Misty (Bot)
9f56c893ab Latest translations and fallbacks 2021-07-25 09:05:45 +00:00
Renovate Bot
7588aae13c chore(deps): update dependency lint-staged to v11.1.1 2021-07-24 13:50:06 +00:00
Renovate Bot
cb5fe27118 chore(deps): update dependency lint-staged to v11.1.0 2021-07-22 17:27:20 +00:00
Misty (Bot)
8826e7a858 Latest translations and fallbacks 2021-07-22 09:06:54 +00:00
Renovate Bot
ebdba8f13b fix(deps): update dependency postcss to v8.3.6 2021-07-21 22:36:42 +00:00
Julian Lam
2c06ac9a45 fix: test :shipit: 2021-07-21 17:36:46 -04:00
Julian Lam
340ccb2498 style: lint fix 2021-07-21 17:08:51 -04:00
Julian Lam
f71f29510d fix: failing test from d1959a2 2021-07-21 17:06:08 -04:00
Julian Lam
d1959a258b fix: #9670 return 4xx errors instead of 5xx on flag routes, when unauthenticated or not privileged [breaking] 2021-07-21 13:27:41 -04:00
Barış Soner Uşaklı
6c47a060c1 fix: #9668, add raw info to psql database page 2021-07-20 20:36:44 -04:00
Misty (Bot)
6650c0bbf7 Latest translations and fallbacks 2021-07-20 09:06:56 +00:00
Renovate Bot
3f24746cd1 fix(deps): update dependency html-to-text to v8 2021-07-19 10:17:57 -04:00
Renovate Bot
1b6b1fe591 fix(deps): update dependency yargs to v17 2021-07-19 10:16:45 -04:00
Renovate Bot
f43291f582 chore(deps): update dependency mocha to v9 2021-07-19 10:15:40 -04:00
Renovate Bot
702290c47e chore(deps): update dependency husky to v7 2021-07-19 10:15:30 -04:00
Misty (Bot)
b837e04ae0 Latest translations and fallbacks 2021-07-19 09:06:22 +00:00
Misty (Bot)
84830bf7c8 Latest translations and fallbacks 2021-07-18 09:06:11 +00:00
Renovate Bot
f5a53b7f1e chore(deps): update dependency eslint to v7.31.0 2021-07-17 23:51:40 +00:00
Misty (Bot)
9efdbecc00 Latest translations and fallbacks 2021-07-17 09:05:23 +00:00
Julian Lam
51458c75f5 fix(deps): bump composer-default to v7 2021-07-16 14:46:24 -04:00
Julian Lam
21359eabac feat: convert _fireStaticHook to async function (auto-refactor by vscode) 2021-07-16 14:42:48 -04:00
Julian Lam
6bc090f8bb docs: some hook deprecation notices 2021-07-16 14:37:47 -04:00
Julian Lam
ef4e74bfc8 refactor: client-side to use flag notes API 2021-07-16 13:51:54 -04:00
Julian Lam
cc6cbfcdc4 Flags API (#9666)
* feat: new routes for flags API

+ flag get
+ flag creation, migration from socket method
+ flag update, migration from socket method
* fixed bug where you could not unassign someone from a flag

* feat: tests for new flags API

added missing files for schema update

* fix: flag tests to use Write API instead of sockets

* feat: flag notes API + tests

* chore: remove debug line

* test: fix breaking test on mongo
2021-07-16 13:44:42 -04:00
Misty (Bot)
71bc258731 Latest translations and fallbacks 2021-07-15 09:06:22 +00:00
2607 changed files with 49946 additions and 30133 deletions

View File

@@ -10,7 +10,7 @@ checks:
threshold: 500
method-lines:
config:
threshold: 50
threshold: 75
method-complexity:
config:
threshold: 10

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

114
.eslintrc
View File

@@ -1,115 +1,3 @@
{
"extends": "airbnb-base",
"parserOptions": {
"sourceType": "script"
},
"rules": {
// === Configure rules for our style ===
// imports must be resolvable
"import/no-unresolved": "error",
// use single quotes,
// unless a different style allows avoiding escapes
"quotes": ["error", "single", {
"avoidEscape": true,
"allowTemplateLiterals": true
}],
// allow else-if return
"no-else-return": [ "error", { "allowElseIf": true } ],
// expressions split over multiple lines
// should break after the operator
"operator-linebreak": [ "error", "after" ],
// require arrow parens only when needed
// and whenever the body is a block
"arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }],
// what variables are errors in callbacks
"handle-callback-err": [ "error","^(e$|(e|(.*(_e|E)))rr)" ],
// allow dangling commas in functions
// require them everywhere else
"comma-dangle": ["error", {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "only-multiline"
}],
// we actually encourage `return await`
"no-return-await": "off",
// allow `while (true)`
"no-constant-condition": ["error", { "checkLoops": false }],
// allow ignoring an error with `catch`
"no-empty": ["error", { "allowEmptyCatch": true }],
// allow `3 + 5 - 1`, but not `3 * 5 - 1`
"no-mixed-operators": ["error", { "allowSamePrecedence": true }],
// require `'use strict';`
"strict": ["error", "global"],
// we actually use tabs for indentation
"indent": ["error", "tab", { "SwitchCase": 1 }],
"no-tabs": "off",
// we want `== null` to also handle undefined
"no-eq-null": "off",
// allow `for (..; i++)`
"no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
// allow using functions defined later
"no-use-before-define": ["error", "nofunc"],
// require consistent newlines before and after braces
// if contents are multiline
"object-curly-newline": ["error", { "consistent": true, "multiline": true }],
// require consistent linebreaks inline function parenthesis (arguments or params)
"function-paren-newline": ["error", "consistent"],
// only require const if all parts of destructuring can be const
"prefer-const": ["error", { "destructuring": "all" }],
// don't require destructuring for arrays or assignment
"prefer-destructuring": ["error", {
"VariableDeclarator": { "array": false, "object": true },
"AssignmentExpression": { "array": false, "object": false }
}],
// identical to airbnb rule, except for allowing for..of, because we want to use it
"no-restricted-syntax": [
"error",
{
"selector": "ForInStatement",
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
},
{
"selector": "LabeledStatement",
"message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
},
{
"selector": "WithStatement",
"message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
}
],
// allow lines of up to 120 characters
"max-len": ["error", { "code": 120, "tabWidth": 2, "ignoreUrls": true, "ignoreStrings": true, "ignoreTemplateLiterals": true, "ignoreRegExpLiterals": true }],
// === Disable rules ===
// more liberal naming
"camelcase": "off",
"no-underscore-dangle": "off",
// don't require anonymous function names
"func-names": "off",
// allow console
"no-console": "off",
// allow new for side effects
// allow new with non-capitalized
"no-new": "off",
"new-cap": "off",
// allow shadowing variables (usually callbacks)
"no-shadow": "off",
// allow multiple empty lines in a row
"no-multiple-empty-lines": "off",
// allow not using object shorthand
"object-shorthand": "off",
// TODO
"consistent-return": "off",
"no-restricted-globals": "off",
"no-prototype-builtins": "off",
"import/no-extraneous-dependencies": "off",
"import/no-dynamic-require": "off",
"global-require": "off",
"no-param-reassign": "off",
"default-case": "off"
}
"extends": "nodebb"
}

4
.github/SECURITY.md vendored
View File

@@ -2,8 +2,8 @@
NodeBB's security policy is based around a private bug bounty program. Users are invited to explore NodeBB for vulnerabilities, and report them to the NodeBB team so that they can be patched.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead, even if you are not sure whether something qualifies.
# Bug Bounty Program
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the following page: https://blog.nodebb.org/bounty
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the [dedicated page for our Bug Bounty Program](https://nodebb.org/bounty).

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/install"
schedule:
interval: daily

51
.github/workflows/docker.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: Run Docker
# Controls when the workflow will run
on:
push:
branches:
- 'master'
- 'v*.x'
tags:
- 'v*'
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: nodebb/docker
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,value=latest
- name: Build and push Docker images
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}

View File

@@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [12, 14]
node: [14, 16]
database: [mongo-dev, mongo, redis, postgres]
include:
# only run coverage once
@@ -69,7 +69,7 @@ jobs:
- 6379:6379
mongo:
image: 'mongo:3.2'
image: 'mongo:3.6'
ports:
# Maps port 27017 on service container to the host
- 27017:27017

3
.gitignore vendored
View File

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

View File

@@ -1,17 +0,0 @@
{
"indent_size": 4,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": true,
"preserve_newlines": true,
"max_preserve_newlines": 10,
"jslint_happy": true,
"brace_style": "collapse",
"keep_array_indentation": false,
"keep_function_indentation": false,
"space_before_conditional": true,
"break_chained_methods": false,
"eval_code": false,
"unescape_strings": false,
"wrap_line_length": 0
}

View File

@@ -1,91 +0,0 @@
{
// JSHint Default Configuration File (as on JSHint website)
// See http://jshint.com/docs/ for more details
"maxerr" : 50, // {int} Maximum error before stopping
"esversion": 6,
// Enforcing
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
"camelcase" : false, // true: Identifiers must be in camelCase
"curly" : true, // true: Require {} for every new block or scope
"eqeqeq" : true, // true: Require triple equals (===) for comparison
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
"immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
"indent" : 4, // {int} Number of spaces to use for indentation
"latedef" : false, // true: Require variables/functions to be defined before being used
"newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()`
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
"noempty" : true, // true: Prohibit use of empty blocks
"nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment)
"plusplus" : false, // true: Prohibit use of `++` & `--`
"quotmark" : false, // Quotation mark consistency:
// false : do nothing (default)
// true : ensure whatever is used is consistent
// "single" : require single quotes
// "double" : require double quotes
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
"unused" : true, // true: Require all defined variables be used
"strict" : true, // true: Requires all functions run in ES5 Strict Mode
"trailing" : false, // true: Prohibit trailing whitespaces
"maxparams" : false, // {int} Max number of formal params allowed per function
"maxdepth" : false, // {int} Max depth of nested blocks (within functions)
"maxstatements" : false, // {int} Max number statements per function
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
"maxlen" : false, // {int} Max number of characters per line
// Relaxing
"asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
"boss" : false, // true: Tolerate assignments where comparisons would be expected
"debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
"eqnull" : false, // true: Tolerate use of `== null`
"es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
"esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
// (ex: `for each`, multiple try/catch, function expression…)
"evil" : false, // true: Tolerate use of `eval` and `new Function()`
"expr" : false, // true: Tolerate `ExpressionStatement` as Programs
"funcscope" : false, // true: Tolerate defining variables inside control statements"
"globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
"iterator" : false, // true: Tolerate using the `__iterator__` property
"lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
"laxbreak" : false, // true: Tolerate possibly unsafe line breakings
"laxcomma" : false, // true: Tolerate comma-first style coding
"loopfunc" : false, // true: Tolerate functions being defined in loops
"multistr" : false, // true: Tolerate multi-line strings
"proto" : false, // true: Tolerate using the `__proto__` property
"scripturl" : false, // true: Tolerate script-targeted URLs
"smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment
"shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
"sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
"supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
"validthis" : false, // true: Tolerate using this in a non-constructor function
// Environments
"browser" : true, // Web Browser (window, document, etc)
"couch" : false, // CouchDB
"devel" : true, // Development/debugging (alert, confirm, etc)
"dojo" : false, // Dojo Toolkit
"jquery" : true, // jQuery
"mootools" : false, // MooTools
"node" : true, // Node.js
"nonstandard" : false, // Widely adopted globals (escape, unescape, etc)
"prototypejs" : false, // Prototype and Scriptaculous
"rhino" : false, // Rhino
"worker" : false, // Web Workers
"wsh" : false, // Windows Scripting Host
"yui" : false, // Yahoo User Interface
"mocha": true,
// Legacy
"nomen" : false, // true: Prohibit dangling `_` in variables
"onevar" : false, // true: Allow only one `var` statement per function
"passfail" : false, // true: Stop on first error
"white" : false, // true: Check against strict whitespace and indentation rules
// Custom Globals
"globals" : {
"Promise": true
} // additional predefined global variables
}

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
@@ -1000,6 +1020,57 @@ trans.zh_CN = public/language/zh-CN/tags.json
trans.zh_TW = public/language/zh-TW/tags.json
type = KEYVALUEJSON
[nodebb.top]
file_filter = public/language/<lang>/top.json
source_file = public/language/en-GB/top.json
source_lang = en_GB
trans.ar = public/language/ar/top.json
trans.bg = public/language/bg/top.json
trans.bn = public/language/bn/top.json
trans.cs = public/language/cs/top.json
trans.da = public/language/da/top.json
trans.de = public/language/de/top.json
trans.el = public/language/el/top.json
trans.en@pirate = public/language/en-x-pirate/top.json
trans.en_US = public/language/en-US/top.json
trans.es = public/language/es/top.json
trans.et = public/language/et/top.json
trans.fa_IR = public/language/fa-IR/top.json
trans.fi = public/language/fi/top.json
trans.fr = public/language/fr/top.json
trans.gl = public/language/gl/top.json
trans.he = public/language/he/top.json
trans.hr = public/language/hr/top.json
trans.hu = public/language/hu/top.json
trans.id = public/language/id/top.json
trans.it = public/language/it/top.json
trans.ja = public/language/ja/top.json
trans.ko = public/language/ko/top.json
trans.lt = public/language/lt/top.json
trans.lv = public/language/lv/top.json
trans.ms = public/language/ms/top.json
trans.nb = public/language/nb/top.json
trans.nl = public/language/nl/top.json
trans.pl = public/language/pl/top.json
trans.pt_BR = public/language/pt-BR/top.json
trans.pt_PT = public/language/pt-PT/top.json
trans.ro = public/language/ro/top.json
trans.ru = public/language/ru/top.json
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
trans.tr = public/language/tr/top.json
trans.uk = public/language/uk/top.json
trans.vi = public/language/vi/top.json
trans.zh_CN = public/language/zh-CN/top.json
trans.zh_TW = public/language/zh-TW/top.json
type = KEYVALUEJSON
[nodebb.email]
file_filter = public/language/<lang>/email.json
source_file = public/language/en-GB/email.json
@@ -1040,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
@@ -1090,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
@@ -1140,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
@@ -1190,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
@@ -1240,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
@@ -1290,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
@@ -1340,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
@@ -1390,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
@@ -1440,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
@@ -1490,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
@@ -1540,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
@@ -1590,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
@@ -1640,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
@@ -1690,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
@@ -1740,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
@@ -1790,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
@@ -1840,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
@@ -1890,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
@@ -1940,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
@@ -1990,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
@@ -2040,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
@@ -2090,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
@@ -2140,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
@@ -2190,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
@@ -2240,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
@@ -2290,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
@@ -2340,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
@@ -2390,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
@@ -2440,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
@@ -2490,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
@@ -2540,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
@@ -2590,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
@@ -2640,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
@@ -2690,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
@@ -2740,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
@@ -2790,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
@@ -2840,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
@@ -2890,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
@@ -2940,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
@@ -2990,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
@@ -3040,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
@@ -3090,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
@@ -3140,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
@@ -3190,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
@@ -3240,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
@@ -3290,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
@@ -3340,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
@@ -3390,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
@@ -3440,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
@@ -3490,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
@@ -3540,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

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,20 @@
FROM node:lts
RUN mkdir -p /usr/src/app
RUN mkdir -p /usr/src/app && \
chown -R node:node /usr/src/app
WORKDIR /usr/src/app
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
COPY install/package.json /usr/src/app/package.json
COPY --chown=node:node install/package.json /usr/src/app/package.json
USER node
RUN npm install --only=prod && \
npm cache clean --force
COPY . /usr/src/app
COPY --chown=node:node . /usr/src/app
ENV NODE_ENV=production \
daemon=false \
@@ -19,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);
}

View File

@@ -1,22 +1,14 @@
# ![NodeBB](public/images/logo.svg)
# ![NodeBB](public/images/sm-card.png)
[![Build Status](https://travis-ci.org/NodeBB/NodeBB.svg?branch=master)](https://travis-ci.org/NodeBB/NodeBB)
[![Workflow](https://github.com/NodeBB/NodeBB/actions/workflows/test.yaml/badge.svg)](https://github.com/NodeBB/NodeBB/actions/workflows/test.yaml)
[![Coverage Status](https://coveralls.io/repos/github/NodeBB/NodeBB/badge.svg?branch=master)](https://coveralls.io/github/NodeBB/NodeBB?branch=master)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg?path=install)](https://david-dm.org/nodebb/nodebb?path=install)
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format &rarr; categorical hierarchies, local user accounts, and asynchronous messaging.
Additional functionality is enabled through the use of third-party plugins.
NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.
* [Demo](https://try.nodebb.org)
* [Developer Community](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org)
* [Premium Hosting for NodeBB](http://www.nodebb.org/ "NodeBB")
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
### [Try it now](//try.nodebb.org) | [Documentation](//docs.nodebb.org)
## Screenshots
@@ -50,7 +42,7 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 12 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 2.6 or greater **or** Redis, version 2.8.9 or greater
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
@@ -78,3 +70,15 @@ Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.node
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html).
Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at sales@nodebb.org.
## More Information/Links
* [Demo](https://try.nodebb.org)
* [Developer Community](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org)
* [Premium Hosting for NodeBB](http://www.nodebb.org/ "NodeBB")
* Unofficial IRC community &ndash; channel `#nodebb` on Libera.chat
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")

2
app.js
View File

@@ -1,7 +1,7 @@
/*
NodeBB - A better forum platform for the modern web
https://github.com/NodeBB/NodeBB/
Copyright (C) 2013-2017 NodeBB Inc.
Copyright (C) 2013-2021 NodeBB Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -14,6 +14,7 @@
"newbiePostEditDuration": 3600,
"postDeleteDuration": 0,
"enablePostHistory": 1,
"topicBacklinks": 1,
"postCacheSize": 10485760,
"disableChat": 0,
"chatEditDuration": 0,
@@ -65,10 +66,10 @@
"profileImageDimension": 200,
"profile:convertProfileImageToPNG": 0,
"profile:keepAllUserImages": 0,
"requireEmailConfirmation": 0,
"gdpr_enabled": 1,
"allowProfileImageUploads": 1,
"teaserPost": "last-reply",
"showPostPreviewsOnHover": 1,
"allowPrivateGroups": 1,
"unreadCutoff": 2,
"bookmarkThreshold": 5,
@@ -76,9 +77,13 @@
"reputation:disabled": 0,
"downvote:disabled": 0,
"disableSignatures": 0,
"upvotesPerDay": 20,
"upvotesPerUserPerDay": 6,
"downvotesPerDay": 10,
"downvotesPerUserPerDay": 3,
"min:rep:chat": 0,
"min:rep:downvote": 0,
"min:rep:upvote": 0,
"min:rep:flag": 0,
"min:rep:profile-picture": 0,
"min:rep:cover-picture": 0,
@@ -86,6 +91,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",
@@ -108,6 +114,9 @@
"postsPerPage": 20,
"categoriesPerPage": 50,
"userSearchResultsPerPage": 50,
"searchDefaultSortBy": "relevance",
"searchDefaultIn": "titlesposts",
"searchDefaultInQuick": "titles",
"maximumGroupNameLength": 255,
"maximumGroupTitleLength": 40,
"preventTopicDeleteAfterReplies": 0,
@@ -134,10 +143,17 @@
"disableEmailSubscriptions": 0,
"emailConfirmInterval": 10,
"removeEmailNotificationImages": 0,
"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

@@ -64,9 +64,6 @@
"iconClass": "fa-cogs",
"textClass": "visible-xs-inline",
"text": "[[global:header.admin]]",
"groups": ["administrators"],
"properties": {
"targetBlank": false
}
"groups": ["administrators"]
}
]

View File

@@ -3,10 +3,6 @@
const prompt = require('prompt');
const winston = require('winston');
const util = require('util');
const promptGet = util.promisify((schema, callback) => prompt.get(schema, callback));
const questions = {
redis: require('../src/database/redis').questions,
mongo: require('../src/database/mongo').questions,
@@ -28,17 +24,17 @@ async function getDatabaseConfig(config) {
if (config['redis:host'] && config['redis:port']) {
return config;
}
return await promptGet(questions.redis);
return await prompt.get(questions.redis);
} else if (config.database === 'mongo') {
if ((config['mongo:host'] && config['mongo:port']) || config['mongo:uri']) {
return config;
}
return await promptGet(questions.mongo);
return await prompt.get(questions.mongo);
} else if (config.database === 'postgres') {
if (config['postgres:host'] && config['postgres:port']) {
return config;
}
return await promptGet(questions.postgres);
return await prompt.get(questions.postgres);
}
throw new Error(`unknown database : ${config.database}`);
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.17.2",
"version": "2.0.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -28,136 +28,141 @@
]
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "^0.8.2",
"ace-builds": "^1.4.12",
"archiver": "^5.2.0",
"async": "^3.2.0",
"autoprefixer": "10.3.1",
"@adactive/bootstrap-tagsinput": "0.8.2",
"ace-builds": "1.4.14",
"archiver": "5.3.1",
"async": "3.2.3",
"autoprefixer": "10.4.7",
"bcryptjs": "2.4.3",
"benchpressjs": "2.4.3",
"body-parser": "^1.19.0",
"bootbox": "5.5.2",
"bootstrap": "^3.4.1",
"chart.js": "^2.9.4",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^7.1.0",
"compare-versions": "3.6.0",
"compression": "^1.7.4",
"connect-flash": "^0.1.1",
"connect-mongo": "4.4.1",
"connect-multiparty": "^2.2.0",
"connect-pg-simple": "^6.2.1",
"connect-redis": "6.0.0",
"cookie-parser": "^1.4.5",
"cron": "^1.8.2",
"cropperjs": "^1.5.11",
"csurf": "^1.11.0",
"daemon": "^1.1.0",
"diff": "^5.0.0",
"express": "^4.17.1",
"express-session": "^1.17.1",
"express-useragent": "^1.0.15",
"graceful-fs": "^4.2.6",
"helmet": "^4.4.1",
"html-to-text": "7.1.1",
"ipaddr.js": "^2.0.0",
"body-parser": "1.20.0",
"bootbox": "5.5.3",
"bootstrap": "3.4.1",
"chalk": "4.1.2",
"chart.js": "2.9.4",
"cli-graph": "3.2.2",
"clipboard": "2.0.10",
"colors": "1.4.0",
"commander": "7.2.0",
"compare-versions": "4.1.3",
"compression": "1.7.4",
"connect-flash": "0.1.1",
"connect-mongo": "4.6.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "7.0.0",
"connect-redis": "6.1.3",
"cookie-parser": "1.4.6",
"cron": "1.8.3",
"cropperjs": "1.5.12",
"csurf": "1.11.0",
"daemon": "1.1.0",
"diff": "5.0.0",
"express": "4.18.1",
"express-session": "1.17.2",
"express-useragent": "1.0.15",
"file-loader": "6.2.0",
"fs-extra": "10.1.0",
"graceful-fs": "4.2.10",
"helmet": "5.0.2",
"html-to-text": "8.2.0",
"ipaddr.js": "2.0.1",
"jquery": "3.6.0",
"jquery-deserialize": "2.0.0-rc1",
"jquery-deserialize": "2.0.0",
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.12.1",
"jquery-ui": "1.13.1",
"jsesc": "3.0.2",
"json2csv": "5.0.6",
"jsonwebtoken": "^8.5.1",
"less": "^3.11.1",
"lodash": "^4.17.21",
"logrotate-stream": "^0.2.7",
"json2csv": "5.0.7",
"jsonwebtoken": "8.5.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": "^2.5.2",
"mkdirp": "^1.0.4",
"mongodb": "3.6.10",
"morgan": "^1.10.0",
"mousetrap": "^1.6.5",
"multiparty": "4.2.2",
"material-design-lite": "1.3.0",
"mime": "3.0.0",
"mkdirp": "1.0.4",
"mongodb": "4.5.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"@nodebb/bootswatch": "3.4.2",
"nconf": "^0.11.2",
"nodebb-plugin-composer-default": "6.5.34",
"nodebb-plugin-dbsearch": "5.0.2",
"nodebb-plugin-emoji": "^3.5.0",
"nodebb-plugin-emoji-android": "2.0.5",
"nodebb-plugin-markdown": "8.14.2",
"nodebb-plugin-mentions": "2.13.11",
"nodebb-plugin-spam-be-gone": "0.7.9",
"nodebb-rewards-essentials": "0.1.5",
"nodebb-theme-lavender": "5.2.1",
"nodebb-theme-persona": "11.0.26",
"nodebb-theme-slick": "1.4.7",
"nodebb-theme-vanilla": "12.0.8",
"nodebb-widget-essentials": "5.0.4",
"nodemailer": "^6.5.0",
"nconf": "0.12.0",
"nodebb-plugin-2factor": "4.0.0",
"nodebb-plugin-composer-default": "8.0.0",
"nodebb-plugin-dbsearch": "5.1.5",
"nodebb-plugin-emoji": "4.0.2",
"nodebb-plugin-emoji-android": "3.0.0",
"nodebb-plugin-markdown": "10.0.0",
"nodebb-plugin-mentions": "3.0.10",
"nodebb-plugin-spam-be-gone": "1.0.0",
"nodebb-rewards-essentials": "0.2.1",
"nodebb-theme-lavender": "6.0.0",
"nodebb-theme-persona": "12.0.1",
"nodebb-theme-slick": "2.0.0",
"nodebb-theme-vanilla": "12.1.17",
"nodebb-widget-essentials": "6.0.0",
"nodemailer": "6.7.4",
"nprogress": "0.2.0",
"passport": "^0.4.1",
"passport-http-bearer": "^1.0.1",
"passport": "0.5.2",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "^8.5.1",
"pg-cursor": "^2.5.2",
"postcss": "8.3.5",
"pg": "8.7.3",
"pg-cursor": "2.7.3",
"postcss": "8.4.13",
"postcss-clean": "1.2.0",
"prompt": "^1.1.0",
"ioredis": "4.27.6",
"prompt": "1.3.0",
"ioredis": "5.0.4",
"request": "2.88.2",
"request-promise-native": "^1.0.9",
"requirejs": "2.3.6",
"request-promise-native": "1.0.9",
"rimraf": "3.0.2",
"rss": "^1.2.2",
"sanitize-html": "^2.3.2",
"semver": "^7.3.4",
"serve-favicon": "^2.5.0",
"sharp": "0.28.3",
"sitemap": "^7.0.0",
"rss": "1.2.2",
"sanitize-html": "2.7.0",
"semver": "7.3.7",
"serve-favicon": "2.5.0",
"sharp": "0.30.4",
"sitemap": "7.1.1",
"slideout": "1.0.1",
"socket.io": "4.1.3",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-client": "4.1.3",
"@socket.io/redis-adapter": "7.0.0",
"sortablejs": "1.14.0",
"spdx-license-list": "^6.4.0",
"socket.io": "4.5.0",
"socket.io-adapter-cluster": "1.0.1",
"socket.io-client": "4.5.0",
"@socket.io/redis-adapter": "7.2.0",
"sortablejs": "1.15.0",
"spdx-license-list": "6.5.0",
"spider-detector": "2.0.0",
"textcomplete": "^0.18.0",
"textcomplete.contenteditable": "^0.1.1",
"timeago": "^1.6.7",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "13.6.0",
"toobusy-js": "0.5.1",
"uglify-es": "3.3.9",
"validator": "13.7.0",
"visibilityjs": "2.0.2",
"winston": "3.3.3",
"xml": "^1.0.1",
"xregexp": "^5.0.1",
"yargs": "16.2.0",
"zxcvbn": "^4.4.2"
"webpack": "5.72.0",
"webpack-merge": "5.8.0",
"winston": "3.7.2",
"xml": "1.0.1",
"xregexp": "5.1.0",
"yargs": "17.4.1",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.0.2",
"@commitlint/cli": "12.1.4",
"@commitlint/config-angular": "12.1.4",
"@apidevtools/swagger-parser": "10.0.3",
"@commitlint/cli": "16.2.4",
"@commitlint/config-angular": "16.2.4",
"coveralls": "3.1.1",
"eslint": "7.30.0",
"eslint-config-airbnb-base": "14.2.1",
"eslint-plugin-import": "2.23.4",
"grunt": "1.4.1",
"eslint": "8.14.0",
"eslint-config-nodebb": "0.1.1",
"eslint-plugin-import": "2.26.0",
"grunt": "1.5.2",
"grunt-contrib-watch": "1.1.0",
"husky": "6.0.0",
"jsdom": "16.6.0",
"lint-staged": "11.0.1",
"mocha": "8.4.0",
"husky": "7.0.4",
"jsdom": "19.0.0",
"lint-staged": "12.4.1",
"mocha": "10.0.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "15.1.0",
"smtp-server": "3.9.0"
"smtp-server": "3.11.0"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
@@ -182,4 +187,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -7,12 +7,8 @@ const fs = require('fs');
const path = require('path');
const childProcess = require('child_process');
const less = require('less');
const util = require('util');
const lessRenderAsync = util.promisify(
(style, opts, cb) => less.render(String(style), opts, cb)
);
const uglify = require('uglify-es');
const webpack = require('webpack');
const nconf = require('nconf');
const Benchpress = require('benchpressjs');
@@ -50,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;
@@ -72,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/public'), {}));
app.engine('tpl', (filepath, options, callback) => {
filepath = filepath.replace(/\.tpl$/, '.js');
@@ -86,7 +74,7 @@ web.install = async function (port) {
await Promise.all([
compileTemplate(),
compileLess(),
compileJS(),
runWebpack(),
copyCSS(),
loadDefaults(),
]);
@@ -97,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, () => {
@@ -117,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);
@@ -150,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,
@@ -213,15 +206,20 @@ async function launch(req, res) {
}
const filesToDelete = [
'installer.css',
'installer.min.js',
'bootstrap.min.css',
path.join(__dirname, '../public', 'installer.css'),
path.join(__dirname, '../public', 'bootstrap.min.css'),
path.join(__dirname, '../build/public', 'installer.min.js'),
];
await Promise.all(
filesToDelete.map(
filename => fs.promises.unlink(path.join(__dirname, '../public', filename))
)
);
try {
await Promise.all(
filesToDelete.map(
filename => fs.promises.unlink(filename)
)
);
} catch (err) {
console.log(err.stack);
}
child.unref();
process.exit(0);
} catch (err) {
@@ -253,7 +251,7 @@ async function compileLess() {
try {
const installSrc = path.join(__dirname, '../public/less/install.less');
const style = await fs.promises.readFile(installSrc);
const css = await lessRenderAsync(style, { filename: path.resolve(installSrc) });
const css = await less.render(String(style), { filename: path.resolve(installSrc) });
await fs.promises.writeFile(path.join(__dirname, '../public/installer.css'), css.css);
} catch (err) {
winston.error(`Unable to compile LESS: \n${err.stack}`);
@@ -261,23 +259,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'
@@ -288,12 +269,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

@@ -5,7 +5,6 @@ const fs = require('fs');
const url = require('url');
const path = require('path');
const { fork } = require('child_process');
const async = require('async');
const logrotate = require('logrotate-stream');
const mkdirp = require('mkdirp');
@@ -36,7 +35,7 @@ const Loader = {
};
const appPath = path.join(__dirname, 'app.js');
Loader.init = function (callback) {
Loader.init = function () {
if (silent) {
console.log = (...args) => {
output.write(`${args.join(' ')}\n`);
@@ -45,17 +44,15 @@ Loader.init = function (callback) {
process.on('SIGHUP', Loader.restart);
process.on('SIGTERM', Loader.stop);
callback();
};
Loader.displayStartupMessages = function (callback) {
Loader.displayStartupMessages = function () {
console.log('');
console.log(`NodeBB v${pkg.version} Copyright (C) 2013-2014 NodeBB Inc.`);
console.log(`NodeBB v${pkg.version} Copyright (C) 2013-${(new Date()).getFullYear()} NodeBB Inc.`);
console.log('This program comes with ABSOLUTELY NO WARRANTY.');
console.log('This is free software, and you are welcome to redistribute it under certain conditions.');
console.log('For the full license, please visit: http://www.gnu.org/copyleft/gpl.html');
console.log('');
callback();
};
Loader.addWorkerEvents = function (worker) {
@@ -107,17 +104,13 @@ Loader.addWorkerEvents = function (worker) {
});
};
Loader.start = function (callback) {
Loader.start = function () {
numProcs = getPorts().length;
console.log(`Clustering enabled: Spinning up ${numProcs} process(es).\n`);
for (let x = 0; x < numProcs; x += 1) {
forkWorker(x, x === 0);
}
if (callback) {
callback();
}
};
function forkWorker(index, isPrimary) {
@@ -215,12 +208,25 @@ fs.open(pathToConfig, 'r', (err) => {
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
if (file.existsSync(pidFilePath)) {
let pid = 0;
try {
const pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
process.kill(pid, 0);
process.exit();
} catch (e) {
fs.unlinkSync(pidFilePath);
pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
if (pid) {
process.kill(pid, 0);
console.info(`Process "${pid}" from pidfile already running, exiting`);
process.exit();
} else {
console.info(`Invalid pid "${pid}" from pidfile, deleting pidfile`);
fs.unlinkSync(pidFilePath);
}
} catch (err) {
if (err.code === 'ESRCH') {
console.info(`Process "${pid}" from pidfile not found, deleting pidfile`);
fs.unlinkSync(pidFilePath);
} else {
console.error(err.stack);
throw err;
}
}
}
@@ -232,15 +238,12 @@ fs.open(pathToConfig, 'r', (err) => {
fs.writeFileSync(pidFilePath, String(process.pid));
}
async.series([
Loader.init,
Loader.displayStartupMessages,
Loader.start,
], (err) => {
if (err) {
console.error('[loader] Error during startup');
throw err;
}
});
try {
Loader.init();
Loader.displayStartupMessages();
Loader.start();
} catch (err) {
console.error('[loader] Error during startup');
throw err;
}
});

View File

@@ -1,82 +1,3 @@
{
"globals": {
"app": true,
"io": true,
"socket": true,
"ajaxify": true,
"config": true,
"utils": true,
"overrides": true,
"componentHandler": true,
"bootbox": true,
"Visibility": true,
"Tinycon": true,
"Promise": true
},
"env": {
"jquery": true,
"amd": true,
"browser": true,
"es6": true
},
"rules": {
"comma-dangle": ["error", {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "never"
}],
"block-scoped-var": "off",
"no-dupe-class-members": "off",
"prefer-object-spread": "off",
"prefer-reflect": "off",
// ES6
"prefer-rest-params": "off",
"prefer-spread": "off",
"prefer-arrow-callback": "off",
"prefer-template": "off",
"no-var": "off",
"object-shorthand": "off",
"vars-on-top": "off",
"prefer-destructuring": "off",
// identical to airbnb rule
// except for allowing for..in, because for..of is unavailable on some clients
"no-restricted-syntax": [
"error",
{
"selector": "ForOfStatement",
"message": "iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations."
},
{
"selector": "LabeledStatement",
"message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
},
{
"selector": "WithStatement",
"message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
}
]
},
"parserOptions": {
"ecmaVersion": 2018,
"ecmaFeatures": {
"classes": false,
"defaultParams": false,
"blockBindings": false,
"forOf": false,
"generators": false,
"globalReturn": false,
"jsx": false,
"modules": false,
"objectLiteralComputedProperties": false,
"objectLiteralDuplicateProperties": false,
"objectLiteralShorthandMethods": false,
"objectLiteralShorthandProperties": false,
"impliedStrict": false,
"restParams": false,
"superInFunctions": false
}
}
"extends": "nodebb/public"
}

View File

@@ -1,83 +0,0 @@
{
"maxerr" : 50, // {int} Maximum error before stopping
// Enforcing
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
"camelcase" : false, // true: Identifiers must be in camelCase
"curly" : true, // true: Require {} for every new block or scope
"eqeqeq" : true, // true: Require triple equals (===) for comparison
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
"immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
"indent" : 4, // {int} Number of spaces to use for indentation
"latedef" : false, // true: Require variables/functions to be defined before being used
"newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()`
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
"noempty" : true, // true: Prohibit use of empty blocks
"nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment)
"plusplus" : false, // true: Prohibit use of `++` & `--`
"quotmark" : false, // Quotation mark consistency:
// false : do nothing (default)
// true : ensure whatever is used is consistent
// "single" : require single quotes
// "double" : require double quotes
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
"unused" : true, // true: Require all defined variables be used
"strict" : true, // true: Requires all functions run in ES5 Strict Mode
"trailing" : false, // true: Prohibit trailing whitespaces
"maxparams" : false, // {int} Max number of formal params allowed per function
"maxdepth" : false, // {int} Max depth of nested blocks (within functions)
"maxstatements" : false, // {int} Max number statements per function
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
"maxlen" : false, // {int} Max number of characters per line
// Relaxing
"asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
"boss" : false, // true: Tolerate assignments where comparisons would be expected
"debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
"eqnull" : false, // true: Tolerate use of `== null`
"es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
"esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
// (ex: `for each`, multiple try/catch, function expression…)
"evil" : false, // true: Tolerate use of `eval` and `new Function()`
"expr" : false, // true: Tolerate `ExpressionStatement` as Programs
"funcscope" : false, // true: Tolerate defining variables inside control statements"
"globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
"iterator" : false, // true: Tolerate using the `__iterator__` property
"lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
"laxbreak" : false, // true: Tolerate possibly unsafe line breakings
"laxcomma" : false, // true: Tolerate comma-first style coding
"loopfunc" : false, // true: Tolerate functions being defined in loops
"multistr" : false, // true: Tolerate multi-line strings
"proto" : false, // true: Tolerate using the `__proto__` property
"scripturl" : false, // true: Tolerate script-targeted URLs
"smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment
"shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
"sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
"supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
"validthis" : false, // true: Tolerate using this in a non-constructor function
"globals": {
"app": true,
"io": true,
"socket": true,
"ajaxify": true,
"config": true,
"utils": true,
"overrides": true,
"componentHandler": true,
"bootbox": true,
"templates": true,
"Visibility": true,
"Tinycon": true,
"require": true,
"define": true,
"ace": true,
"Sortable": true,
"Slideout": true,
"NProgress": true
},
"jquery": true,
"browser": true
}

BIN
public/images/sm-card.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "هل تريد بالتأكيد إعادة تشغيل NodeBB؟",
"acp-title": "لوحة تحكم إدارة NodeBB | %1",
"settings-header-contents": "محتويات"
"settings-header-contents": "محتويات",
"changes-saved": "Changes Saved",
"changes-saved-message": "Your changes to the NodeBB configuration have been saved.",
"changes-not-saved": "Changes Not Saved",
"changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)"
}

View File

@@ -3,6 +3,7 @@
"no-events": "لا توجد أحداث",
"control-panel": "لوحة تحكم الأحداث",
"delete-events": "حذف الاحداث",
"confirm-delete-all-events": "Are you sure you want to delete all logged events?",
"filters": "تصفية",
"filters-apply": "تطبيق التصفية",
"filter-type": "نوع الحدث",

View File

@@ -56,8 +56,8 @@
"active-users.total": "المجموع",
"active-users.connections": "Connections",
"anonymous-registered-users": "المجهولين مقابل المستخدمين المسجلين",
"anonymous": "مجهول",
"guest-registered-users": "Guest vs Registered Users",
"guest": "Guest",
"registered": "مسجل",
"user-presence": "تواجد المستخدمين",
@@ -68,6 +68,7 @@
"unread": "غير مقروء",
"high-presence-topics": "مواضيع ذات حضور قوي",
"popular-searches": "Popular Searches",
"graphs.page-views": "مشاهدات الصفحة",
"graphs.page-views-registered": "Page Views Registered",
@@ -75,13 +76,14 @@
"graphs.page-views-bot": "Page Views Bot",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.anonymous-users": "مستخدمين مجهولين",
"graphs.guest-users": "Guest Users",
"last-restarted-by": "Last restarted by",
"no-users-browsing": "No users browsing",
"back-to-dashboard": "Back to Dashboard",
"details.no-users": "No users have joined within the selected timeframe",
"details.no-topics": "No topics have been posted within the selected timeframe",
"details.no-searches": "No searches have been made yet",
"details.no-logins": "No logins have been recorded within the selected timeframe",
"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
"details.logins-login-time": "Login Time"

View File

@@ -8,7 +8,11 @@
"nodejs": "nodejs",
"online": "online",
"git": "git",
"memory": "memory",
"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",
"load": "system load",
"cpu-usage": "cpu usage",
"uptime": "uptime",

View File

@@ -8,8 +8,6 @@
"delete": "Delete",
"enable": "Enable",
"disable": "Disable",
"control-panel": "Rewards Control",
"new-reward": "New Reward",
"alert.delete-success": "Successfully deleted reward",
"alert.no-inputs-found": "Illegal reward - no inputs found!",

View File

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

View File

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

View File

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

View File

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

View File

@@ -13,6 +13,7 @@
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
"resent-biweek": "Bi-Weekly digest resent",
"resent-month": "Monthly digest resent",
"null": "<em>Never</em>",
"manual-run": "Manual digest run:",

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",
@@ -51,10 +52,13 @@
"alert.saved": "Privilege changes saved and applied",
"alert.confirm-discard": "Are you sure you wish to discard your privilege changes?",
"alert.discarded": "Privilege changes discarded",
"alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToAll": "Are you sure you wish to apply this set of <strong>%1</strong> to <strong>all categories</strong>?",
"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.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
"alert.admin-warning": "Administrators implicitly get all privileges",
"alert.copyPrivilegesFrom-title": "Select a category to copy from",
"alert.copyPrivilegesFrom-warning": "This will copy <strong>%1</strong> from the selected category.",
"alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of <strong>%1</strong> from the selected category."
}

View File

@@ -5,5 +5,7 @@
"orphaned": "Orphaned",
"size/filecount": "Size / Filecount",
"confirm-delete": "Do you really want to delete this file?",
"filecount": "%1 files"
"filecount": "%1 files",
"new-folder": "New Folder",
"name-new-folder": "Enter a name for new the folder"
}

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",
@@ -47,6 +48,7 @@
"users.uid": "uid",
"users.username": "username",
"users.email": "email",
"users.no-email": "(no email)",
"users.ip": "IP",
"users.postcount": "postcount",
"users.reputation": "reputation",
@@ -61,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

@@ -4,6 +4,7 @@
"dashboard/logins": "Logins",
"dashboard/users": "Users",
"dashboard/topics": "Topics",
"dashboard/searches": "Searches",
"section-general": "عام",
"section-manage": "إدارة",

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

@@ -6,7 +6,7 @@
"from-help": "The from name to display in the email.",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
"smtp-transport.enabled": "Enable SMTP Transport",
"smtp-transport-help": "You can select from a list of well-known services or enter a custom one.",
"smtp-transport.service": "Select a service",
"smtp-transport.service-custom": "Custom Service",
@@ -36,6 +36,13 @@
"subscriptions.disable": "Disable email digests",
"subscriptions.hour": "Digest Hour",
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.settings": "Email notification settings",
"notifications.remove-images": "Remove images from email notifications"
}
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &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.",
"sendEmailToBanned": "Send emails to users even if they have been banned"
}

View File

@@ -3,9 +3,9 @@
"title": "عنوان الموقع",
"title.short": "عنوان قصير",
"title.short-placeholder": "ان لم تقم بكتابة عنوان مختصر, سيتم استخدام عنوان الموقع الكلي",
"title.url": "الرابط",
"title.url": "Title Link URL",
"title.url-placeholder": "The URL of the site title",
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. <br> Note: This is not the external URL used in emails, etc. That is set by the <code>url</code> property in config.json",
"title.name": "اسم المنتدي",
"title.show-in-header": "Show Site Title in Header",
"browser-title": "عنوان المتصفح",
@@ -20,9 +20,9 @@
"logo.image": "صورة",
"logo.image-placeholder": "Path to a logo to display on forum header",
"logo.upload": "رفع",
"logo.url": "الرابط",
"logo.url": "Logo Link URL",
"logo.url-placeholder": "The URL of the site logo",
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index. <br> Note: This is not the external URL used in emails, etc. That is set by the <code>url</code> property in config.json",
"logo.alt-text": "نص بديل",
"log.alt-text-placeholder": "Alternative text for accessibility",
"favicon": "صورة المفضله",
@@ -35,7 +35,10 @@
"maskable-icon.help": "Recommended size and format: 512x512, PNG format only. If no maskable icon is specified, NodeBB will fall back to the Touch Icon.",
"outgoing-links": "Outgoing Links",
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
"search-default-sort-by": "الترتيب الافتراضي للبحث",
"search": "Search",
"search-default-in": "Search In",
"search-default-in-quick": "Quick Search In",
"search-default-sort-by": "Sort by",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
"site-colors": "Site Color Metadata",
"theme-color": "لون الثيم",
@@ -44,4 +47,4 @@
"undo-timeout": "Undo Timeout",
"undo-timeout-help": "Some operations such as moving topics will allow for the moderator to undo their action within a certain timeframe. Set to 0 to disable undo completely.",
"topic-tools": "Topic Tools"
}
}

View File

@@ -11,6 +11,8 @@
"properties": "Properties:",
"groups": "Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Delete",
"btn.disable": "Disable",
@@ -20,4 +22,4 @@
"custom-route": "Custom Route",
"core": "core",
"plugin": "plugin"
}
}

View File

@@ -2,5 +2,6 @@
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)"
"welcome-notification-uid": "Welcome Notification User (UID)",
"post-queue-notification-uid": "Post Queue User (UID)"
}

View File

@@ -40,6 +40,7 @@
"teaser.last-post": "Last &ndash; Show the latest post, including the original post, if no replies",
"teaser.last-reply": "Last &ndash; Show the latest reply, or a \"No replies\" placeholder if no replies",
"teaser.first": "First",
"showPostPreviewsOnHover": "Show a preview of posts when mouse overed",
"unread": "Unread Settings",
"unread.cutoff": "Unread cutoff days",
"unread.min-track-last": "Minimum posts in topic before tracking last read",
@@ -56,6 +57,9 @@
"composer.show-help": "Show \"Help\" tab",
"composer.enable-plugin-help": "Allow plugins to add content to the help tab",
"composer.custom-help": "Custom Help Text",
"backlinks": "Backlinks",
"backlinks.enabled": "Enable topic backlinks",
"backlinks.help": "If a post references another topic, a link back to the post will be inserted into the referenced topic at that point in time.",
"ip-tracking": "IP Tracking",
"ip-tracking.each-post": "Track IP Address for each post",
"enable-post-history": "Enable Post History"

View File

@@ -4,9 +4,13 @@
"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)",
"min-rep-chat": "Minimum reputation to send chat messages",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
@@ -18,5 +22,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

@@ -1,8 +1,8 @@
{
"posts": "المشاركات",
"allow-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

@@ -1,12 +1,10 @@
{
"authentication": "المصادقة",
"require-email-confirmation": "يطلب تأكيد البريد الإلكتروني",
"email-confirm-interval": "لا يمكن للمستخدم إعادة إرسال رسالة تأكيد البريد الالكتروني حتى مرور",
"email-confirm-email2": "دقائق",
"allow-login-with": "السماح بتسجيل الدخول باستخدام",
"allow-login-with.username-email": "اسم المستخدم أو البريد الالكتروني",
"allow-login-with.username": "اسم المستخدم فقط",
"allow-login-with.email": "البريد الالكتروني فقط",
"account-settings": "إعدادت الحساب",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
@@ -71,6 +69,7 @@
"digest-freq.off": "Off",
"digest-freq.daily": "Daily",
"digest-freq.weekly": "Weekly",
"digest-freq.biweekly": "Bi-Weekly",
"digest-freq.monthly": "Monthly",
"email-chat-notifs": "Send an email if a new chat message arrives and I am not online",
"email-post-notif": "Send an email when replies are made to topics I am subscribed to",

View File

@@ -6,7 +6,9 @@
"greeting_no_name": "مرحبًا",
"greeting_with_name": "مرحبًا بك يا %1",
"email.verify-your-email.subject": "Please verify your email",
"email.verify.text1": "Your email address has changed!",
"email.verify.text1": "You've requested that we change or confirm your email address",
"email.verify.text2": "For security purposes, we only change or confirm the email address on file once its ownership has been confirmed via email. <strong>If you did not request this, no action is required on your part.</strong>",
"email.verify.text3": "Once you confirm this email address, we will replace your current email address with this one (%1).",
"welcome.text1": "شكرًا على تسجيلك في %1!",
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي سجلت به.",
"welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.",
@@ -46,6 +48,8 @@
"unsub.cta": "انقر هنا لتغيير تلك الإعدادات",
"unsubscribe": "unsubscribe",
"unsub.success": "You will no longer receive emails from the <strong>%1</strong> mailing list",
"unsub.failure.title": "Unable to unsubscribe",
"unsub.failure.message": "Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"banned.subject": "You have been banned from %1",
"banned.text1": "The user %1 has been banned from %2.",
"banned.text2": "This ban will last until %1.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "بيانات غير صحيحة",
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
@@ -9,6 +11,7 @@
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
"invalid-uid": "مستخدم غير موجود",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
@@ -25,14 +28,18 @@
"invalid-event": "Invalid event: %1",
"local-login-disabled": "Local login system has been disabled for non-privileged accounts.",
"csrf-invalid": "لم تتمكن من تسجيل الدخول. هنالك أحتمال ان جلستك انتهت. رجاءًا حاول مرة اخرى.",
"invalid-path": "Invalid path",
"folder-exists": "Folder exists",
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
"email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.",
"email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.",
"no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.",
"email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You may not be able to post in some categories or chat until your email is confirmed.",
"no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery, and may be necessary for chatting and posting in some categories. Please click here to enter an email.",
"user-doesnt-have-email": "User \"%1\" does not have an email set.",
"email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.",
"confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
@@ -54,6 +61,7 @@
"no-group": "مجموعة غير موجودة",
"no-user": "اسم مستخدم غير موجود",
"no-teaser": "مقتطف غير موجود",
"no-flag": "Flag does not exist",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول",
@@ -100,6 +108,10 @@
"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",
"cant-delete-admin": "رجاءًا أزل صلاحيات الإدارة قبل حذف الحساب. ",
@@ -137,7 +149,6 @@
"invalid-chat-message": "الرسالة غير صالحة.",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message": "غير مصرح لك بتعديل الرسالة.",
"cant-remove-last-user": "لأيمكنك إزالت اخر مستخدم.",
"cant-delete-chat-message": "غير مصرح لك بحذف الرسالة.",
"chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",
@@ -147,19 +158,23 @@
"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-chat": "You need %1 reputation to chat",
"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

@@ -38,6 +38,7 @@
"delete-post": "حذف المشاركة",
"purge-post": "Purge Post",
"restore-post": "استرجاع المشاركة",
"delete": "Delete Flag",
"user-view": "مشاهدة الملف الشخصي",
"user-edit": "تعديل الملف الشخصي",
@@ -46,8 +47,10 @@
"add-note": "اضافة ملاحظة",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"delete-flag-confirm": "Are you sure you want to delete this flag?",
"note-added": "Note Added",
"note-deleted": "Note Deleted",
"flag-deleted": "Flag Deleted",
"history": "Account &amp; Flag History",
"no-history": "No flag history.",
@@ -77,12 +80,10 @@
"modal-reason-custom": "Reason for reporting this content...",
"modal-submit": "Submit Report",
"modal-submit-success": "Content has been flagged for moderation.",
"modal-submit-confirm": "Confirm Submission",
"modal-submit-confirm-text": "You have a custom reason specified already. Are you sure you wish to submit via quick-report?",
"modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined.",
"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",
@@ -70,6 +71,7 @@
"firstpost": "First post",
"read_more": "اقرأ المزيد",
"more": "المزيد",
"none": "None",
"posted_ago_by_guest": "كتب %1 بواسطة زائر",
"posted_ago_by": "كتب %1 بواسطة %2",
"posted_ago": "كتب %1",

View File

@@ -1,7 +1,6 @@
{
"username-email": "اسم المستخدم / البريد الإلكتروني",
"username": "اسم المستخدم",
"email": "البريد الإلكتروني",
"remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة",

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": "لا يوجد لديك دردشات نشطة.",
@@ -54,7 +54,7 @@
"composer.formatting.strikethrough": "Strikethrough",
"composer.formatting.code": "Code",
"composer.formatting.link": "Link",
"composer.formatting.picture": "Picture",
"composer.formatting.picture": "Image Link",
"composer.upload-picture": "Upload Image",
"composer.upload-file": "Upload File",
"composer.zen_mode": "Zen Mode",
@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",

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

@@ -14,5 +14,18 @@
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"reject": "Reject",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User",
"confirm-reject": "Do you want to reject this post?",
"bulk-actions": "Bulk Actions",
"accept-all": "Accept All",
"accept-selected": "Accept Selected",
"reject-all": "Reject All",
"reject-all-confirm": "Do you want to reject all posts?",
"reject-selected": "Reject Selected",
"reject-selected-confirm": "Do you want to reject %1 selected posts?",
"bulk-accept-success": "%1 posts accepted",
"bulk-reject-success": "%1 posts rejected"
}

View File

@@ -20,8 +20,9 @@
"registration-added-to-queue": "تمت إضافتك في قائمة الإنتضار. ستتلقى رسالة إلكترونية عند الموافقة على تسجيلك من قبل الإدارة.",
"registration-queue-average-time": "Our average time for approving memberships is %1 hours %2 minutes.",
"registration-queue-auto-approve-time": "Your membership to this forum will be fully activated in up to %1 hours.",
"interstitial.intro": "نحتاج إلى بعض المعلومات الإضافية قبل أن نتمكن من إنشاء حسابك.",
"interstitial.errors-found": "تعذر علينا إتمام عملية التسجيل:",
"interstitial.intro": "We'd like some additional information in order to update your account&hellip;",
"interstitial.intro-new": "We'd like some additional information before we can create your account&hellip;",
"interstitial.errors-found": "Please review the entered information:",
"gdpr_agree_data": "I consent to the collection and processing of my personal information on this website.",
"gdpr_agree_email": "I consent to receive digest and notification emails from this website.",
"gdpr_consent_denied": "You must give consent to this site to collect/process your information, and to send you emails.",

View File

@@ -0,0 +1,4 @@
{
"title": "Top",
"no_top_topics": "No top topics"
}

View File

@@ -20,6 +20,8 @@
"login-to-view": "🔒 Log in to view",
"edit": "تعديل",
"delete": "حذف",
"delete-event": "Delete Event",
"delete-event-confirm": "Are you sure you want to delete this event?",
"purge": "تطهير",
"restore": "استعادة",
"move": "نقل",
@@ -43,7 +45,10 @@
"unpinned-by": "Unpinned by",
"deleted-by": "Deleted by",
"restored-by": "Restored by",
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag-post": "Flag this post",
"flag-user": "Flag this user",
@@ -135,6 +140,7 @@
"composer.handle_placeholder": "Enter your name/handle here",
"composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ",
"composer.additional-options": "Additional Options",
"composer.schedule": "Schedule",
"composer.replying_to": "الرد على %1",
"composer.new_topic": "موضوع جديد",
@@ -155,6 +161,7 @@
"newest_to_oldest": "من الأحدث إلى الأقدم",
"most_votes": "Most Votes",
"most_posts": "Most Posts",
"most_views": "Most Views",
"stale.title": "Create new topic instead?",
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
"stale.create": "موضوع جديد",
@@ -173,5 +180,8 @@
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier",
"first-post": "First post",
"last-post": "Last 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>",
@@ -94,16 +96,18 @@
"digest_off": "غير مفعل",
"digest_daily": "يوميا",
"digest_weekly": "أسبوعيًّا",
"digest_biweekly": "Bi-Weekly",
"digest_monthly": "شهريًّا",
"has_no_follower": "هذا المستخدم ليس لديه أية متابعين :(",
"follows_no_one": "هذا المستخدم لا يتابع أحد :(",
"has_no_posts": "هذا المستخدم لم يشارك حتى الآن.",
"has_no_best_posts": "This user does not have any upvoted posts yet.",
"has_no_topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.",
"has_no_watched_topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.",
"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": "مخفي",
@@ -152,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": "ملاحظة الإشراف",
@@ -180,5 +185,9 @@
"consent.export_uploads": "Export Uploaded Content (.zip)",
"consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.",
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete."
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.",
"emailUpdate.required": "<strong>This field is required</strong>.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

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

@@ -3,5 +3,9 @@
"alert.confirm-restart": "Наистина ли искате да рестартирате NodeBB?",
"acp-title": "%1 | Контролен панел за администратори на NodeBB",
"settings-header-contents": "Съдържание"
"settings-header-contents": "Съдържание",
"changes-saved": "Промените са запазени",
"changes-saved-message": "Промените Ви в настройките на NodeBB бяха запазени.",
"changes-not-saved": "Промените не са запазени",
"changes-not-saved-message": "Възникна проблем при запазването на промените Ви по NodeBB. (%1)"
}

View File

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

View File

@@ -56,8 +56,8 @@
"active-users.total": "Общо",
"active-users.connections": "Връзки",
"anonymous-registered-users": "Анонимни към регистрирани потребители",
"anonymous": "Анонимни",
"guest-registered-users": "Гости към регистрирани потребители",
"guest": "Гост",
"registered": "Регистрирани",
"user-presence": "Присъствие на потребителите ",
@@ -68,6 +68,7 @@
"unread": "Непрочетени",
"high-presence-topics": "Теми с най-голяма присъственост",
"popular-searches": "Популярни търсения",
"graphs.page-views": "Преглеждания на страниците",
"graphs.page-views-registered": "Преглеждания на страниците от регистрирани потребители",
@@ -75,13 +76,14 @@
"graphs.page-views-bot": "Преглеждания на страниците от ботове",
"graphs.unique-visitors": "Уникални посетители",
"graphs.registered-users": "Регистрирани потребители",
"graphs.anonymous-users": "Анонимни потребители",
"graphs.guest-users": "Гости",
"last-restarted-by": "Последно рестартиране от",
"no-users-browsing": "Няма разглеждащи потребители",
"back-to-dashboard": "Назад към таблото",
"details.no-users": "В избрания период не са се регистрирали нови потребители",
"details.no-topics": "В избрания период не са публикувани нови теми",
"details.no-searches": "Все още не са правени търсения",
"details.no-logins": "В избрания период не са отчетени вписвания",
"details.logins-static": "NodeBB запазва данни за сесията в продължение на %1 дни, така че в следната таблица могат да се видят само последните активни сесии",
"details.logins-login-time": "Време на вписване"

View File

@@ -8,7 +8,11 @@
"nodejs": "nodejs",
"online": "на линия",
"git": "git",
"memory": "памет",
"process-memory": "памет на процеса",
"system-memory": "системна памет",
"used-memory-process": "Използвана памет от процеса",
"used-memory-os": "Използвана системна памет",
"total-memory-os": "Обща системна памет",
"load": "натоварване на системата",
"cpu-usage": "използване на процесора",
"uptime": "активно време",

View File

@@ -8,8 +8,6 @@
"delete": "Изтриване",
"enable": "Включване",
"disable": "Изключване",
"control-panel": "Управление на наградите",
"new-reward": "Нова награда",
"alert.delete-success": "Наградата е изтрита успешно",
"alert.no-inputs-found": "Неправомерна награда — няма нищо въведено!",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -13,6 +13,7 @@
"resent-single": "Ръчното повторно разпращане на резюмето е завършено",
"resent-day": "Дневното резюме беше изпратено повторно",
"resent-week": "Седмичното резюме беше изпратено повторно",
"resent-biweek": "Двуседмичното резюме беше изпратено повторно",
"resent-month": "Месечното резюме беше изпратено повторно",
"null": "<em>Никога</em>",
"manual-run": "Ръчно разпращане на резюмето:",

View File

@@ -10,6 +10,7 @@
"upload-files": "Качване на файлове",
"signature": "Подпис",
"ban": "Блокиране",
"mute": "Заглушаване",
"invite": "Пращане на покана",
"search-content": "Търсене на съдържание",
"search-users": "Търсене на потребители",
@@ -51,10 +52,13 @@
"alert.saved": "Промените по правомощията са запазени и приложени",
"alert.confirm-discard": "Наистина ли искате да отхвърлите промените по правомощията?",
"alert.discarded": "Промените по правомощията са отхвърлени",
"alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от правомощия към <strong>всички категории</strong>?",
"alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички категории</strong>?",
"alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от правомощия към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от <strong>%1</strong> към <strong>всички категории</strong>?",
"alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от <strong>%1</strong> на тази група към <strong>всички категории</strong>?",
"alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от <strong>%1</strong> към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от <strong>%1</strong> на тази група към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.no-undo": "<em>Това действие е необратимо.</em>",
"alert.admin-warning": "Администраторите имат всички правомощия по подразбиране"
"alert.admin-warning": "Администраторите имат всички правомощия по подразбиране",
"alert.copyPrivilegesFrom-title": "Изберете категория, от която да се копира",
"alert.copyPrivilegesFrom-warning": "Това ще копира <strong>%1</strong> от избраната категория.",
"alert.copyPrivilegesFromGroup-warning": "Това ще копира набора от <strong>%1</strong> на тези група от избраната категория."
}

View File

@@ -5,5 +5,7 @@
"orphaned": "Без ползвания",
"size/filecount": "Размер / брой файлове",
"confirm-delete": "Наистина ли искате да изтриете този файл?",
"filecount": "%1 файла"
"filecount": "%1 файла",
"new-folder": "Нова папка",
"name-new-folder": "Въведете име за новата папка"
}

View File

@@ -18,7 +18,8 @@
"download-csv": "Сваляне във формат „CSV“",
"manage-groups": "Управление на групите",
"add-group": "Добавяне на група",
"invite": "Покана",
"create": "Създаване на потребител",
"invite": "Поканване по е-поща",
"new": "Нов потребител",
"filter-by": "Филтриране по",
"pills.unvalidated": "Няма потвърдена е-поща",
@@ -47,6 +48,7 @@
"users.uid": "потр. ид.",
"users.username": "потребителско име",
"users.email": "е-поща",
"users.no-email": "(няма е-поща)",
"users.ip": "IP адрес",
"users.postcount": "брой публикации",
"users.reputation": "репутация",
@@ -61,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

@@ -4,6 +4,7 @@
"dashboard/logins": "Вписвания",
"dashboard/users": "Потребители",
"dashboard/topics": "Теми",
"dashboard/searches": "Търсения",
"section-general": "Общи",
"section-manage": "Управление",

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

@@ -6,7 +6,7 @@
"from-help": "Името на изпращача, което да бъде показано в е-писмото.",
"smtp-transport": "Транспорт чрез SMTP",
"smtp-transport.enabled": "Използване на външен сървър за е-поща за изпращане на е-писма",
"smtp-transport.enabled": "Включване на транспорта чрез SMTP",
"smtp-transport-help": "Можете да изберете от списък от познати услуги, или да въведете такава ръчно.",
"smtp-transport.service": "Изберете услуга",
"smtp-transport.service-custom": "Персонализирана услуга",
@@ -36,6 +36,13 @@
"subscriptions.disable": "Изключване на резюметата по е-пощата",
"subscriptions.hour": "Време за разпращане",
"subscriptions.hour-help": "Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>",
"notifications.settings": "Настройки за известията по е-поща",
"notifications.remove-images": "Премахване на изображенията от известията по е-поща"
}
"notifications.remove-images": "Премахване на изображенията от известията по е-поща",
"require-email-address": "Новите потребители задължително трябва да предоставят е-поща",
"require-email-address-warning": "По подразбиране потребителите могат да не въвеждат адрес на е-поща, като оставят полето празно. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"send-validation-email": "Изпращане на е-писма за потвърждение, когато бъде добавена или променена е-поща",
"include-unverified-emails": "Изпращане на е-писма към получатели, които не са потвърдили изрично е-пощата си",
"include-unverified-warning": "За потребителите, които имат свързана е-поща с регистрацията си, тя се смята за потвърдена. Но има ситуации, в които това не е така (например при ползване на регистрация от друга система, но и в други случаи), <strong>Включете тази настройка на собствен риск</strong> &ndash; изпращането на е-писма към непотвърдени адреси може да нарушава определени местни закони против нежеланата поща.",
"prompt": "Подсещане на потребителите да въведат или потвърдят е-пощата си",
"prompt-help": "Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение.",
"sendEmailToBanned": "Изпращане на е-писма дори до блокираните потребители"
}

View File

@@ -3,9 +3,9 @@
"title": "Заглавие на уеб сайта",
"title.short": "Кратко заглавие",
"title.short-placeholder": "Ако не е посочено кратко заглавие, ще бъде използвано заглавието на уеб сайта",
"title.url": "Адрес",
"title.url-placeholder": "Адресът на заглавието на уеб сайта",
"title.url-help": "При щракване върху заглавието, потребителите ще бъдат изпратени на този адрес. Ако бъде оставено празно, потребителите ще бъдат изпращани на началната страница на форума.",
"title.url": "Адрес за заглавието",
"title.url-placeholder": "Адресът за заглавието на уеб сайта",
"title.url-help": "Когато потребител щракне върху заглавието, той ще бъде прехвърлен към този адрес. Ако е празно, потребителят ще бъде изпратен към началната страница на форума. <br> Забележка: Това не е външният адрес, който се ползва в е-писмата. Той се задава от свойството <code>url</code> във файла config.json",
"title.name": "Името на общността Ви",
"title.show-in-header": "Показване на заглавието на уеб сайта в заглавната част",
"browser-title": "Заглавие на браузъра",
@@ -20,9 +20,9 @@
"logo.image": "Изображение",
"logo.image-placeholder": "Път до логото, което да бъде показано в заглавната част на форума",
"logo.upload": "Качване",
"logo.url": "Адрес",
"logo.url-placeholder": "Адресът на логото на уеб сайта",
"logo.url-help": "При щракване върху логото, потребителите ще бъдат изпратени на този адрес. Ако бъде оставено празно, потребителите ще бъдат изпращани на началната страница на форума.",
"logo.url": "Адрес за логото",
"logo.url-placeholder": "Адресът за логото на уеб сайта",
"logo.url-help": "Когато потребител щракне върху логото, той ще бъде прехвърлен към този адрес. Ако е празно, потребителят ще бъде изпратен към началната страница на форума. <br> Забележка: Това не е външният адрес, който се ползва в е-писмата. Той се задава от свойството <code>url</code> във файла config.json",
"logo.alt-text": "Алтернативен текст",
"log.alt-text-placeholder": "Алтернативен текст за достъпност",
"favicon": "Иконка на уеб сайта",
@@ -35,7 +35,10 @@
"maskable-icon.help": "Препоръчителен размер и формат: 512x512, само във формат „PNG“. Ако не е посочена маскируема иконка, NodeBB ще използва иконката за сензорен екран.",
"outgoing-links": "Изходящи връзки",
"outgoing-links.warning-page": "Показване на предупредителна страница при щракване върху външни връзки",
"search-default-sort-by": "Подредба по подразбиране при търсене",
"search": "Търсене",
"search-default-in": "Търсене в",
"search-default-in-quick": "Бързо търсене в",
"search-default-sort-by": "Подреждане по",
"outgoing-links.whitelist": "Домейни, за които да не се показва предупредителната страница",
"site-colors": "Мета-данни за цвета на уеб сайта",
"theme-color": "Цвят на темата",
@@ -44,4 +47,4 @@
"undo-timeout": "Време за отмяна",
"undo-timeout-help": "Някои действия, като например преместването на теми, могат да бъдат отменени от модератора в рамките на определено време. Задайте 0, за да забраните изцяло отменянето.",
"topic-tools": "Инструменти за темите"
}
}

View File

@@ -11,6 +11,8 @@
"properties": "Свойства:",
"groups": "Групи:",
"open-new-window": "Отваряне в нов прозорец",
"dropdown": "Падащо меню",
"dropdown-placeholder": "Въведете елементите на падащото меню по-долу. Пример: <br/>&lt;li&gt;&lt;a href&#x3D;&quot;https://myforum.com&quot;&gt;Връзка 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Изтриване",
"btn.disable": "Изключване",
@@ -20,4 +22,4 @@
"custom-route": "Персонализиран маршрут",
"core": "ядро",
"plugin": "добавка"
}
}

View File

@@ -2,5 +2,6 @@
"notifications": "Известия",
"welcome-notification": "Приветствено известие",
"welcome-notification-link": "Връзка за приветственото известие",
"welcome-notification-uid": "Потр. ид. за приветственото известие"
"welcome-notification-uid": "Потр. ид. за приветственото известие",
"post-queue-notification-uid": "Потр. ид. за опашката с публикации"
}

View File

@@ -40,6 +40,7 @@
"teaser.last-post": "Последната &ndash; Показване на последната публикация, или първоначалната такава, ако няма отговори.",
"teaser.last-reply": "Последната &ndash; Показване на последния отговор, или „Няма отговори“, ако все още няма такива.",
"teaser.first": "Първата",
"showPostPreviewsOnHover": "Показване на кратък преглед на публикациите при посочване с мишката",
"unread": "Настройки за непрочетените",
"unread.cutoff": "Възраст на публикациите, след която те не се показват в непрочетените (в брой дни)",
"unread.min-track-last": "Минимален брой публикации в темата, след което да започва следене на последно прочетената",
@@ -56,6 +57,9 @@
"composer.show-help": "Показване на раздела „Помощ“",
"composer.enable-plugin-help": "Позволяване на добавките да добавят съдържание в раздела за помощ",
"composer.custom-help": "Персонализиран текст за помощ",
"backlinks": "Обратни връзки",
"backlinks.enabled": "Включване на обратните връзки в темите",
"backlinks.help": "Ако в публикацията има препратка към друга тема, там ще бъде поставена връзка към публикацията, с конкретното време.",
"ip-tracking": "Записване на IP адреса",
"ip-tracking.each-post": "Записване на IP адреса за всяка публикация",
"enable-post-history": "Включване на историята на публикациите"

View File

@@ -4,9 +4,13 @@
"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 за неограничен брой)",
"min-rep-chat": "Минимална репутация, необходима за изпращане на съобщения в разговори",
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
"min-rep-website": "Минимална репутация, необходима за добавяне на полето „Уебсайт“ към профила на потребителя",
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
@@ -18,5 +22,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

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

View File

@@ -1,12 +1,10 @@
{
"authentication": "Удостоверяване",
"require-email-confirmation": "Изискване на потвърждение на е-пощата",
"email-confirm-interval": "Потребителят не може да изпраща повторно е-писмото за потвърждение, преди да са минали",
"email-confirm-email2": "минути",
"allow-login-with": "Позволяване на вписването чрез",
"allow-login-with.username-email": "Потребителско име или е-поща",
"allow-login-with.username": "Само потребителско име",
"allow-login-with.email": "Само е-поща",
"account-settings": "Настройки на акаунта",
"gdpr_enabled": "Включване на искането за съгласие с ОРЗД",
"gdpr_enabled_help": "Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
@@ -71,6 +69,7 @@
"digest-freq.off": "Изключено",
"digest-freq.daily": "Ежедневно",
"digest-freq.weekly": "Ежеседмично",
"digest-freq.biweekly": "На всеки две седмици",
"digest-freq.monthly": "Ежемесечно",
"email-chat-notifs": "Изпращане на е-писмо, ако получа ново съобщение в разговор, а не съм на линия",
"email-post-notif": "Изпращане на е-писмо, когато се появи отговор в темите, за които съм абониран(а).",

View File

@@ -6,7 +6,9 @@
"greeting_no_name": "Здравейте",
"greeting_with_name": "Здравейте, %1",
"email.verify-your-email.subject": "Моля, потвърдете е-пощата си",
"email.verify.text1": "Адресът на е-пощата Ви е променен!",
"email.verify.text1": "Вие поискахте да променим или потвърдим адреса на е-пощата Ви",
"email.verify.text2": "Поради причини, свързани със сигурността, можем да променим или потвърдим адреса на е-поща, само когато притежанието ѝ вече е било установено чрез е-писмо. <strong>Ако не сте поискали това, няма нужда да правите нищо.</strong>",
"email.verify.text3": "След като потвърдите адреса на тази е-поща, ще променим текущия Ви адрес с този (%1).",
"welcome.text1": "Благодарим Ви, че се регистрирахте в %1",
"welcome.text2": "За да активирате напълно акаунта си, трябва да потвърдите е-пощата, с която сте се регистрирали.",
"welcome.text3": "Вашата заявка за регистрация беше приета от администратор. Вече можете да се впишете със своето потребителско име и парола.",
@@ -46,6 +48,8 @@
"unsub.cta": "Натиснете тук, за да промените тези настройки",
"unsubscribe": "отписване",
"unsub.success": "Повече няма да получавате е-писма от пощенския списък на <strong>%1</strong>",
"unsub.failure.title": "Отписването не може да се извърши",
"unsub.failure.message": "За съжаление не успяхме да Ви отпишем от пощенския списък, поради проблем с връзката. Можете, обаче, да промените предпочитанията си за е-писмата в <a href=\"%2\">потребителските си настройки</a>.<br /><br />(грешка: <code>%1</code>)",
"banned.subject": "Вие бяхте блокиран(а) от %1",
"banned.text1": "Потребителят %1 беше блокиран от %2.",
"banned.text2": "Това блокиране ще е в сила до %1.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "Грешни данни",
"invalid-json": "Неправилен JSON",
"wrong-parameter-type": "За свойството `%1` се очакваше стойност от тип %3, но вместо това беше получено %2",
"required-parameters-missing": "Липсват задължителни параметри от това извикване към ППИ: %1",
"not-logged-in": "Изглежда не сте се вписали в системата.",
"account-locked": "Вашият акаунт беше заключен временно",
"search-requires-login": "Търсенето изисква регистриран акаунт! Моля, впишете се или се регистрирайте!",
@@ -9,6 +11,7 @@
"invalid-tid": "Грешен идентификатор на тема",
"invalid-pid": "Грешен идентификатор на публикация",
"invalid-uid": "Грешен идентификатор на потребител",
"invalid-mid": "Грешен идентификатор на съобщение в разговор",
"invalid-date": "Трябва да бъде посочена правилна дата",
"invalid-username": "Грешно потребителско име",
"invalid-email": "Грешна е-поща",
@@ -25,14 +28,18 @@
"invalid-event": "Грешно събитие: %1",
"local-login-disabled": "Системата за местно вписване е изключена за непривилегированите акаунти.",
"csrf-invalid": "Не успяхме да Ви впишем, най-вероятно защото сесията Ви е изтекла. Моля, опитайте отново",
"invalid-path": "Грешен път",
"folder-exists": "Вече има папка с това име",
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-nochange": "Въведената е-поща е същата като съществуващата.",
"email-invited": "На тази е-поща вече е била изпратена покана",
"email-not-confirmed": "Няма да можете да публикувате съобщения, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.",
"email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение. Няма да можете да публикувате съобщения или да пишете в разговори, докато е-пощата Ви не бъде потвърдена.",
"no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща",
"email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение. Възможно е да не можете да публикувате съобщения или да пишете в разговори, докато е-пощата Ви не бъде потвърдена.",
"no-email-to-confirm": "Нямате зададена е-поща. Тя е необходима за възстановяването на акаунта в случай на проблем, а може и да се изисква, за да пишете в някои категории. Натиснете тук, за да въведете е-поща.",
"user-doesnt-have-email": "Потребителят „%1“ няма зададена е-поща.",
"email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
"confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
"sendmail-not-found": "Изпълнимият файл на „sendmail“ не може да бъде намерен. Моля, уверете се, че е инсталиран и изпълним за потребителя, чрез който е пуснат NodeBB.",
@@ -54,6 +61,7 @@
"no-group": "Групата не съществува",
"no-user": "Потребителят не съществува",
"no-teaser": "Резюмето не съществува",
"no-flag": "Докладът не съществува",
"no-privileges": "Нямате достатъчно права за това действие.",
"category-disabled": "Категорията е изключена",
"topic-locked": "Темата е заключена",
@@ -100,6 +108,10 @@
"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": "Изтриването на акаунт е забранено",
"cant-delete-admin": "Премахнете администраторските права от този акаунт, преди да го изтриете.",
@@ -137,7 +149,6 @@
"invalid-chat-message": "Неправилно съобщение",
"chat-message-too-long": "Съобщенията в разговор не може да бъдат по-дълги от %1 знака.",
"cant-edit-chat-message": "Нямате право да редактирате това съобщение",
"cant-remove-last-user": "Не можете да премахнете последния потребител",
"cant-delete-chat-message": "Нямате право да изтриете това съобщение",
"chat-edit-duration-expired": "Можете да редактирате съобщенията си в разговорите до %1 секунда/и, след като ги пуснете",
"chat-delete-duration-expired": "Можете да изтривате съобщенията си в разговорите до %1 секунда/и след пускането им",
@@ -147,19 +158,23 @@
"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-chat": "Репутацията Ви трябва да бъде поне %1, за да участвате в разговори",
"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

@@ -38,6 +38,7 @@
"delete-post": "Изтриване на публикацията",
"purge-post": "Изчистване на публикацията",
"restore-post": "Възстановяване на публикацията",
"delete": "Изтриване на доклада",
"user-view": "Преглед на профила",
"user-edit": "Редактиране на профила",
@@ -46,8 +47,10 @@
"add-note": "Добавяне на бележка",
"no-notes": "Няма споделени бележки.",
"delete-note-confirm": "Наистина ли искате да изтриете тази бележка към доклада?",
"delete-flag-confirm": "Наистина ли искате да изтриете този доклад?",
"note-added": "Бележката е добавена",
"note-deleted": "Бележката е изтрита",
"flag-deleted": "Докладът е изтрит",
"history": "Акаунт и история на докладванията",
"no-history": "Няма история на доклада.",
@@ -77,12 +80,10 @@
"modal-reason-custom": "Причина за докладването на това съдържание…",
"modal-submit": "Изпращане на доклада",
"modal-submit-success": "Съдържанието беше докладвано на модераторите.",
"modal-submit-confirm": "Потвърждаване на докладването",
"modal-submit-confirm-text": "Вече сте описали специалната си причина. Наистина ли искате да изпратите доклада си по бързата процедура?",
"modal-submit-confirm-text-help": "Изпращането на доклад по бързата процедура ще премахне описаната от Вас специалната причина.",
"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": "Гласували",
@@ -70,6 +71,7 @@
"firstpost": "Първа публикация",
"read_more": "още",
"more": "Още",
"none": "Нищо",
"posted_ago_by_guest": "публикувано %1 от гост",
"posted_ago_by": "публикувано %1 от %2",
"posted_ago": "публикувано %1",

View File

@@ -1,7 +1,6 @@
{
"username-email": "Потребителско име / е-поща",
"username": "Потребителско име",
"email": "Е-поща",
"remember_me": "Запомнете ме?",
"forgot_password": "Забравена парола?",
"alternative_logins": "Други начини за вписване",

View File

@@ -1,6 +1,6 @@
{
"chat.chatting_with": "Разговор с",
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане",
"chat.placeholder": "Въведете съобщение тук или пуснете снимки и натиснете Ентер за изпращане",
"chat.scroll-up-alert": "В момента разглеждате по-стари съобщения. Щракнете тук, за да се прехвърлите към най-новото съобщение.",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи разговори.",
@@ -54,7 +54,7 @@
"composer.formatting.strikethrough": "Зачертан",
"composer.formatting.code": "Код",
"composer.formatting.link": "Връзка",
"composer.formatting.picture": "Снимка",
"composer.formatting.picture": "Връзка към изображение",
"composer.upload-picture": "Качване на изображение",
"composer.upload-file": "Качване на файл",
"composer.zen_mode": "Режим Дзен",
@@ -68,6 +68,8 @@
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",
"bootbox.submit": "Публикуване",
"bootbox.send": "Изпращане",
"cover.dragging_title": "Наместване на снимката",
"cover.dragging_message": "Преместете снимката на желаното положение и натиснете „Запазване“",
"cover.saved": "Снимката и мястото ѝ бяха запазени",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Потребителите са изнесени във формат „csv“, щракнете за сваляне",
"post-queue-accepted": "Вашата публикация, която чакаше в опашката, беше приета. Натиснете тук, за да я видите.",
"post-queue-rejected": "Вашата публикация, която чакаше в опашката, беше отхвърлена.",
"post-queue-notify": "Публикация, чакаща в опашката, получи известие:<br/>„%1“",
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",

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

@@ -14,5 +14,18 @@
"reply": "Отговор",
"topic": "Тема",
"accept": "Приемане",
"reject": "Отказване"
"reject": "Отказване",
"remove": "Премахване",
"notify": "Известяване",
"notify-user": "Известяване на потребителя",
"confirm-reject": "Искате ли да отхвърлите тази публикация?",
"bulk-actions": "Групови действия",
"accept-all": "Приемане на всички",
"accept-selected": "Приемане на избраните",
"reject-all": "Отхвърляне на всички",
"reject-all-confirm": "Наистина ли искате да отхвърлите всички публикации?",
"reject-selected": "Отхвърляне на избраните",
"reject-selected-confirm": "Наистина ли искате да отхвърлите %1 избрани публикации?",
"bulk-accept-success": "Одобрени публикации: %1",
"bulk-reject-success": "Отхвърлени публикации: %1"
}

View File

@@ -20,8 +20,9 @@
"registration-added-to-queue": "Вашата регистрация беше добавена в опашката за одобрение. Ще получите е-писмо, когато тя бъде одобрена от администратор.",
"registration-queue-average-time": "Средното време за одобрение на нови членове е %1 часа и %2 минути.",
"registration-queue-auto-approve-time": "Членството Ви в този форум ще бъде напълно активирано след около %1 часа.",
"interstitial.intro": "Нуждаем се от малко допълнителна информация, преди да можем да създадем акаунта Ви.",
"interstitial.errors-found": "Не можем да завършим Вашата регистрация:",
"interstitial.intro": "Нуждаем се от малко допълнителна информация, преди да можем да актуализираме акаунта Ви&hellip;",
"interstitial.intro-new": "Нуждаем се от малко допълнителна информация, преди да можем да създадем акаунта Ви&hellip;",
"interstitial.errors-found": "Моля, прегледайте въведената информация:",
"gdpr_agree_data": "Съгласявам се това личната ми информация да се съхранява и обработва от този уеб сайт.",
"gdpr_agree_email": "Съгласявам се да получавам е-писма с резюмета и известия от този уеб сайт.",
"gdpr_consent_denied": "Трябва да се съгласите с това уеб сайтът да събира/обработва информацията Ви, и да Ви изпраща е-писма.",

View File

@@ -0,0 +1,4 @@
{
"title": "Най-популярни",
"no_top_topics": "Няма най-популярни теми"
}

View File

@@ -20,6 +20,8 @@
"login-to-view": "🔒 Впишете се, за да видите това",
"edit": "Редактиране",
"delete": "Изтриване",
"delete-event": "Изтриване на събитието",
"delete-event-confirm": "Наистина ли искате да изтриете това събитие?",
"purge": "Изчистване",
"restore": "Възстановяване",
"move": "Преместване",
@@ -43,7 +45,10 @@
"unpinned-by": "Откачена от",
"deleted-by": "Изтрита от",
"restored-by": "Възстановена от",
"moved-from-by": "Преместена от %1 от",
"queued-by": "Публикацията е добавена в опашката за одобрение &rarr;",
"backlink": "Спомената от",
"forked-by": "Разделена от",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag-post": "Докладване на тази публикация",
"flag-user": "Докладване на този потребител",
@@ -135,6 +140,7 @@
"composer.handle_placeholder": "Въведете името тук",
"composer.discard": "Отхвърляне",
"composer.submit": "Публикуване",
"composer.additional-options": "Допълнителни настройки",
"composer.schedule": "Насрочване",
"composer.replying_to": "Отговор на %1",
"composer.new_topic": "Нова тема",
@@ -155,6 +161,7 @@
"newest_to_oldest": "Първо най-новите",
"most_votes": "Първо тези с най-много гласове",
"most_posts": "Първо тези с най-много публикации",
"most_views": "Първо тези с най-много преглеждания",
"stale.title": "Създаване на нова тема вместо това?",
"stale.warning": "Темата, в която отговаряте, е доста стара. Искате ли вместо това да създадете нова и да направите препратка към тази в отговора си?",
"stale.create": "Създаване на нова тема",
@@ -173,5 +180,8 @@
"timeago_later": "%1 по-късно",
"timeago_earlier": "%1 по-рано",
"first-post": "Първа публикация",
"last-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> на акаунта",
@@ -94,16 +96,18 @@
"digest_off": "Изключено",
"digest_daily": "Ежедневно",
"digest_weekly": "Ежеседмично",
"digest_biweekly": "На всеки две седмици",
"digest_monthly": "Ежемесечно",
"has_no_follower": "Този потребител няма последователи :(",
"follows_no_one": "Този потребител не следва никого :(",
"has_no_posts": "Този потребител не е публикувал нищо досега.",
"has_no_best_posts": "Този потребител не е получавал положителни гласове за публикациите си досега.",
"has_no_topics": "Този потребител не е създавал теми досега.",
"has_no_watched_topics": "Този потребител не е следил нито една тема досега.",
"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": "скрито",
@@ -152,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": "Модераторска бележка",
@@ -180,5 +185,9 @@
"consent.export_uploads": "Изнасяне на каченото съдържание (.zip)",
"consent.export-uploads-success": "Изнасяне на каченото съдържание… Ще получите известие, когато е готово.",
"consent.export_posts": "Изнасяне на публикациите (.csv)",
"consent.export-posts-success": "Изнасяне на публикациите… Ще получите известие, когато е готово."
"consent.export-posts-success": "Изнасяне на публикациите… Ще получите известие, когато е готово.",
"emailUpdate.intro": "Въведете е-пощата си по-долу. Този форум използва е-пощата за планирани резюмета и известия, както и за възстановяване на акаунта, в случай на забравена парола.",
"emailUpdate.optional": "<strong>Това поле не е задължително</strong>. Не сте длъжен/на да предоставяте адрес на е-поща, но без проверена е-поща, няма да можете да възстановите акаунта си в случай на проблем, нито ще можете да се вписвате с е-пощата си.",
"emailUpdate.required": "<strong>Това поле е задължително</strong>.",
"emailUpdate.change-instructions": "Ще Ви изпратим е-писмо за потвърждение на посочената е-поща, което ще съдържа уникална връзка. Щом последвате тази връзка, притежанието Ви на тази е-поща ще бъде потвърдено и тя ще бъде свързана с акаунта Ви. Ще можете да промените тази е-поща по всяко време, от страницата на акаунта си."
}

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