Commit Graph

9838 Commits (84dc3ba73a8d4a604db3014e7201c3aef6b05abd)

Author SHA1 Message Date
Misty Release Bot 9ad3b214d6 chore(i18n): fallback strings for new resources: nodebb.admin-settings-user, nodebb.admin-settings-email
Julian Lam 96b46411b1 Merge branch 'master' into develop
Julian Lam 9c576a0758
Email confirmation QOL updates ()
* breaking: remove `SocketUser.emailConfirm`, re: 

* chore: move email confirmation related configs to own section in Settings > Email

* feat: new user email method `getValidationExpiry`, returns expiration in ms.. probably.

* fix: bug where `user.email.isValidationPending` returned an u nexpected non-boolean value if there was no confirmation pending (only when checking email as well)

* fix: update getValidationExpiry to return ms

* test: use emailConfirmInterval for tests, for now

* fix: throw friendly error when attempting an email change within email confirmation window

* feat: new config option `emailConfirmExpiry` in days, governs how long the confirm link is good for

* test: additional tests for user email methods

* fix: add back missing handling of  option

* test: fix tests
Misty Release Bot 773a97446a Latest translations and fallbacks
Julian Lam 09f3ac6574 fix: in appropriately named language key `email-confirm-email2`
Julian Lam af27606e20 fix: , icon selector in ACP when icon name is typed in
Misty Release Bot eec683dd39 Latest translations and fallbacks
Misty Release Bot 688e9a53da Latest translations and fallbacks
Julian Lam 1e864a7518 Merge remote-tracking branch 'origin/master' into develop
Barış Soner Uşaklı 61d32bdebb fix: category ordering add test
Misty Release Bot 8f2a78584a Latest translations and fallbacks
Barış Soner Uşaklı 989b55d07e fix: crash in category drag, closes
happens when a child is dragged to root or from root to a nested level
Barış Soner Uşaklı c0b1ded363 fix more categories button not moving with parent
fix order issue
Misty Release Bot 09c24e1f03 Latest translations and fallbacks
Julian Lam 803398e915 fix: broken flag history on flag update
Barış Soner Uşaklı a584dae650 feat: add relevant topic events to post objects
see c9604f216a
Barış Soner Uşaklı aad0a618c8 fix: scroll to post if theme doesn't have top navbar
Misty Release Bot 26415ea448 Latest translations and fallbacks
Julian Lam 6391f77b01 Merge remote-tracking branch 'origin/master' into develop
Julian Lam 135fe55bed feat: client-side hooks for navigator scroll action
Julian Lam 664bc5f54d fix: update nav thumb on setIndex call (thx @barisusakli)
Julian Lam aeb94c32b9 feat: j and k hotkeys in topic to navigate through it quickly
Julian Lam b7287c1eb8 fix: do not call `navigator.update()` when `scrollToElement` is explicitly passed a new index value
Julian Lam fa643eb808 fix: race condition where `navigator.update` was called when it should not be
Julian Lam 9f9a835fcb feat: a couple utility methods in navigator module to get and set count and index
Julian Lam 5b9de0e521 fix: be tidier and explicitly clean up ctrl-f hotkey on topic page
Julian Lam 3700174c62 refactor: added new ajaxify method .cleanup, called before ajaxify.start.
Barış Soner Uşaklı b5dd89e1c0
feat: store topic title and tags in diffs ()
* feat: store topic title and tags in diffs

allow restoring post diff if tags didn't change

* test: fix tests, fast computer problems
Barış Soner Uşaklı 8e2129f858 fix: , unescape / in taskbar
Misty Release Bot ca92345c48 Latest translations and fallbacks
Julian Lam f1cca5be8d Merge remote-tracking branch 'origin/master' into develop
Julian Lam d3e38df8ea fix: add back timeago to post history modal
Julian Lam 881c7c4d18 fix: automatically remove `lang` parameter if it matches the forum default
Misty Release Bot bf9bb489ad Latest translations and fallbacks
Julian Lam 6061d611ea Merge remote-tracking branch 'origin/master' into develop
Barış Soner Uşaklı f6f37dc1cd fix: registration regression, closes
Misty Release Bot bdfacb8903 Latest translations and fallbacks
Misty Release Bot 4b0a786dfb Latest translations and fallbacks
Opliko 1920732528
feat: remove visibilityjs ()
* feat: remove visibilityjs

* fix: actually remove require

* style: add a newline

* style: forgot a semicolon

* style: accidently removed trailing newline

* fix: move property declaration to its actual previous place
Misty Release Bot e7806021c9 Latest translations and fallbacks
Barış Soner Uşaklı d12e0b8c5e Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop
Barış Soner Uşaklı b7addffc9e breaking: reduce nodebb.min.js size by around 800kb
const zxcvbn = require('zxcvbn');
bundles a huge amount of code, now it won't be in nodebb.min.js
Misty Release Bot 896ac77950 Latest translations and fallbacks
Misty Release Bot e20433ecfc chore(i18n): fallback strings for new resources: nodebb.admin-settings-reputation
Julian Lam 15b1561fd3 feat: introduce ACP defined option to rescind notif or do nothing on flag resolve/reject
/cc 
Julian Lam df36d96788 fix: empty thread tools container on open
Julian Lam 3dd3cd8297 fix: add dropup handler to thread tools menu, updated how post tools menu adds dropup handler
Barış Soner Uşaklı a2d0cd162d
refactor: remove console.log
Julian Lam 3cbb7a3df0 chore: move @textcomplete and its modules to composer-default
Julian Lam bc2ea86023 chore: remove client-side js file for tpl that no longer exists
Julian Lam 70652ad480 docs(openapi): v3 spec for new user export routes
Julian Lam d05705183f refactor: move export generation logic to v3 controller, GET/HEAD routes for exports
re: 
Misty Release Bot 42e0fec392 Latest translations and fallbacks
Misty Release Bot 0ba03950e9 Latest translations and fallbacks
Misty Release Bot 665f163704 Latest translations and fallbacks
Julian Lam b7bcc367c6 fix(deps): remove textcomplete in favour of @textcomplete/core (same package, just refactored)
Julian Lam 990ad6a11a Merge remote-tracking branch 'origin/master' into develop
Misty Release Bot f8297362b9 Latest translations and fallbacks
Barış Soner Uşaklı 4ceebf3939 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop
Barış Soner Uşaklı 0a6900fc77 feat: don't show signatures again in pagination mode in same topic
Misty Release Bot fcbbb4d6d3 chore(i18n): fallback strings for new resources: nodebb.admin-settings-post
Barış Soner Uşaklı aba420a3f3 feat: setting to show signatures only once in topics, closes
Opliko 72e7b9f7d8
docs: explain what export routes actually do in OpenAPI documentation ()
Misty Release Bot 6b76f99a3e Latest translations and fallbacks
Opliko bcb94edeb4 feat: add event type to topic event component
Misty Release Bot 6f9fa8c2c8 Latest translations and fallbacks
Misty Release Bot 90fc50e116 chore(i18n): fallback strings for new resources: nodebb.admin-advanced-cache
Opliko a9bbb586fc
feat: allow plugins to add to admin cache list ()
* feat: allow plugins to add to admin cache list

resolves  

plugins will have to use `filter:admin.cache.get` hook and just add their own cache to the object there.

* feat: add dump to ttlCache and expose properties

* feat: also expose properties under their current names

* feat: display TTL if set
Julian Lam 59f3ae201a Merge remote-tracking branch 'origin/master' into develop
Misty Release Bot d7a02d677f Latest translations and fallbacks
Misty Release Bot 8e9677544b Latest translations and fallbacks
Julian Lam 659cfe853d chore: update to new transifex project url
Misty Release Bot 18c144bf37 Latest translations and fallbacks
Misty Release Bot cdaa8f21e4 chore(i18n): fallback strings for new resources: nodebb.admin-settings-email
Julian Lam 4055e3bd1c feat: automatically enable the SMTP transport option if the SMTP service is changed
Misty Release Bot 3e56c547a9 chore(i18n): fallback strings for new resources: nodebb.admin-settings-email
Julian Lam 7082291bae fix: ; tweak copy for gmail app passwords support
Julian Lam c6782a2173 Merge remote-tracking branch 'origin/master' into develop
Misty Release Bot bcf7ef6779 chore(i18n): fallback strings for new resources: nodebb.user
Julian Lam 7fcee42be9 feat: present a password challenge on email update flow
Barış Soner Uşaklı 4586f68eaf fix: race condition causing undefined ajaxify.data
Julian Lam e092bfeb46 Merge remote-tracking branch 'origin/master' into develop
Misty Release Bot d073e09c11 Latest translations and fallbacks
Misty Release Bot 39e65d0bdf Latest translations and fallbacks
Julian Lam 847d2b9141 fix: , early return for selection tooltip based on calling user privilege
Misty Release Bot 17120e034b chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced, nodebb.admin-menu, nodebb.error
Barış Soner Uşaklı b2da02d676 feat: add client side filter:chat.send, closes
Misty Release Bot 56372fb618 Latest translations and fallbacks
Misty Release Bot d3c0b7c375 Latest translations and fallbacks
Julian Lam 820bc994d8
feat: UI changes for ACP > Manage > Categories ()
* Revert "Revert "feat: cross origin opener policy options ()""

This reverts commit 46050ace1a.

* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""

This reverts commit 9f291c07d3.

* feat: closes , don't trim children if category is marked section

* feat: fire hook to allow plugins to filter the pids returned in a user profile

/cc 

* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints

* fix: better looking placeholder text for ACP search

* fix: bug where fallback to forum search was not working due to client-side error

* feat: allow plugins to toggle whether IPs are shown in the users CSV export

* feat: Allow defining active plugins in config ()

* Revert "Revert "feat: cross origin opener policy options ()""

This reverts commit 46050ace1a.

* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""

This reverts commit 9f291c07d3.

* feat: closes , don't trim children if category is marked section

* feat: fire hook to allow plugins to filter the pids returned in a user profile

/cc 

* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints

* feat: Allow defining active plugins in config

resolves 

* fix: assign the db result to files properly

* test: add tests with plugins in config

* feat: better theme change handling

* feat: add visual indication that plugins can't be activated

* test: correct hooks

* test: fix test definitions

* test: remove instead of resetting nconf to avoid affecting other tests

* test: ... I forgot how nconf worked

* fix: remove negation

* docs: improve wording of error message

* feat: reduce code duplication

* style: remove a redundant space

* fix: remove unused imports

* fix: use nconf instead of requiring config.json

* fix: await...

* fix: second missed await

* fix: move back from getActiveIds to getActive

* fix: use paths again?

* fix: typo

* fix: move require into the function

* fix: forgot to change back to getActive

* test: getActive returns only id

* test: accedently commented out some stuff

* feat: added note to top of plugins page if \!canChangeState

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>

* feat: show an informative message when no plugins are found after filtering

fixes 

* Latest translations and fallbacks

* Latest translations and fallbacks

* chore(deps): bump ace-builds from 1.7.1 to 1.8.1 in /install

Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/ajaxorg/ace-builds/releases)
- [Changelog](https://github.com/ajaxorg/ace-builds/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ajaxorg/ace-builds/compare/v1.7.1...v1.8.1)

---
updated-dependencies:
- dependency-name: ace-builds
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* fix: swap out icons in ACP > Manage > Categories to more intuitive ones, remove extra placeholder div

* fix: hide expando button if no subcategories; remove attempt at establishing common vars, increased spacing between categories in list

* fix: buggy expando state on category drag/drop

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
Co-authored-by: Opliko <opliko.reg@protonmail.com>
Co-authored-by: Misty Release Bot <deploy@nodebb.org>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Julian Lam 6840a7423b feat: show an informative message when no plugins are found after filtering
fixes 
Opliko 23cb67a112 feat: Allow defining active plugins in config ()
* Revert "Revert "feat: cross origin opener policy options ()""

This reverts commit 46050ace1a.

* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""

This reverts commit 9f291c07d3.

* feat: closes , don't trim children if category is marked section

* feat: fire hook to allow plugins to filter the pids returned in a user profile

/cc 

* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints

* feat: Allow defining active plugins in config

resolves 

* fix: assign the db result to files properly

* test: add tests with plugins in config

* feat: better theme change handling

* feat: add visual indication that plugins can't be activated

* test: correct hooks

* test: fix test definitions

* test: remove instead of resetting nconf to avoid affecting other tests

* test: ... I forgot how nconf worked

* fix: remove negation

* docs: improve wording of error message

* feat: reduce code duplication

* style: remove a redundant space

* fix: remove unused imports

* fix: use nconf instead of requiring config.json

* fix: await...

* fix: second missed await

* fix: move back from getActiveIds to getActive

* fix: use paths again?

* fix: typo

* fix: move require into the function

* fix: forgot to change back to getActive

* test: getActive returns only id

* test: accedently commented out some stuff

* feat: added note to top of plugins page if \!canChangeState

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
Julian Lam 25046642e7 fix: bug where fallback to forum search was not working due to client-side error
Julian Lam 1b9c68196f fix: better looking placeholder text for ACP search
Julian Lam 15fb6c3304 Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""
This reverts commit 9f291c07d3.
Julian Lam ad072c03d1 Revert "Revert "feat: cross origin opener policy options ()""
This reverts commit 46050ace1a.
Julian Lam 4faf0cdf5c fix: minor margin tweak for alert in acp header
Misty Release Bot 0523dfbacb Latest translations and fallbacks
Misty Release Bot 2f6448e736 Latest translations and fallbacks
Misty Release Bot 6f88894cb9 Latest translations and fallbacks
Misty Release Bot d3ef4fa0cd Latest translations and fallbacks
Julian Lam b778e38c2b fix: move call to `ajaxify.parseData` out to root level
Misty Release Bot 9c48e3d66d Latest translations and fallbacks
Misty Release Bot fb96072f67 Latest translations and fallbacks
Julian Lam 165b804d64 refactor: rewrite ajaxify.parseData in vanilla
Julian Lam 2582cb53a6 fix: move `ajaxify.parseData` back out to DOMContentLoaded
partialy reverts 2bfccac72
Misty Release Bot 077eb0912a Latest translations and fallbacks
Misty Release Bot f71a349524 Latest translations and fallbacks
Misty Release Bot 6fac823e64 Latest translations and fallbacks
Misty Release Bot b5c1658c7f Latest translations and fallbacks
Misty Release Bot fa023f1c5d Latest translations and fallbacks
Misty Release Bot ab021902a4 Latest translations and fallbacks
Misty Release Bot 871bd04bf8 Latest translations and fallbacks
Misty Release Bot ee4a6505df Latest translations and fallbacks
Misty Release Bot 66ad72eb57 Latest translations and fallbacks
Misty Release Bot da48116373 chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads
Julian Lam 43f9e6c8e4 fix: handle ENOENT on file deletion, closes
Julian Lam 06074e8c33 chore: add in warning in language directories about not editing files directly
Julian Lam 46050ace1a Revert "feat: cross origin opener policy options ()"
This reverts commit 881323583f.
Julian Lam 9f291c07d3 Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced"
This reverts commit 34d75e96e1.
Misty Release Bot 34d75e96e1 chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced
Barış Soner Uşaklı 881323583f
feat: cross origin opener policy options ()
Misty Release Bot 20b75b24ad Latest translations and fallbacks
Misty Release Bot 1c8909cc90 Latest translations and fallbacks
Misty Release Bot f5afb5c396 chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads
Julian Lam 88aee43947 feat: new cronjob and ACP option to delete orphans after configurable number of days, closes
Misty Release Bot 7836ee4ca7 Latest translations and fallbacks
Misty Release Bot b1dc053142 chore(i18n): fallback strings for new resources: nodebb.admin-manage-users
Barış Soner Uşaklı f2f7f78051 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 2da188fe10 fix: , fix alert for password reset email
Misty Release Bot bc224905c0 Latest translations and fallbacks
Misty Release Bot 2971f7b729 Latest translations and fallbacks
Misty Release Bot 630f7181a5 Latest translations and fallbacks
Misty Release Bot ec143ebc4b Latest translations and fallbacks
Misty Release Bot d7d32a8a17 chore(i18n): fallback strings for new resources: nodebb.topic
Julian Lam ece733eddc feat: pass absolute url to post into post tools response,
Barış Soner Uşaklı 48564cfa86 fix: , don't ajaxify to /assets/ urls
Misty Release Bot a320a9761e Latest translations and fallbacks
Barış Soner Uşaklı 6a0339dea4 https://github.com/pichalite/nodebb-theme-slick/issues/60
Barış Soner Uşaklı 2345025e37 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 39d61061e0 feat: add clipboard to runtime modules
Misty Release Bot 78a4d594cc Latest translations and fallbacks
Misty Release Bot 01be1a9955 Latest translations and fallbacks
Julian Lam f6a7582c51 fix: more generic copy for notif/chat button labels
Barış Soner Uşaklı 2bfccac72a fix: , fix order of dom ready events
plugin $().ready hooks will fire first, core will fire last
Misty Release Bot 89631a1cdb Latest translations and fallbacks
Barış Soner Uşaklı 191fb9f443 test: fix tests again
Barış Soner Uşaklı 60eeae95d2 lint: unnecessary escape
Barış Soner Uşaklı e802fab87f fix: get rid of math.random in utils.generateUUID
Misty Release Bot 5017b1a3a8 Latest translations and fallbacks
Barış Soner Uşaklı b124370b92 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 7e4d2852f6 fix: , gray out disabled nav items
use enabled property if present
change default to true, so added nav items are enabled by default
Julian Lam 92abb352b6 fix: encode privilege name for API call
Misty Release Bot 50c1f986d6 Latest translations and fallbacks
Misty Release Bot 0ca458abfc Latest translations and fallbacks
Misty Release Bot 2bace63425 chore(i18n): fallback strings for new resources: nodebb.user
Barış Soner Uşaklı c926358d73 feat: add mute history, closes
Barış Soner Uşaklı 9acdc6808c feat: allow unban/unmute on flag details page. closes
Barış Soner Uşaklı b17a81bfb0 fix: translate api error messages to user lang, closes ,
Misty Release Bot a4784ed357 Latest translations and fallbacks
Barış Soner Uşaklı 24a640d93e fix: alert template error. closes
Barış Soner Uşaklı 578363ad0d Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 082a9e1d42 fix: remove ev, hooks don't pass event, closes
Misty Release Bot d492bc3dce Latest translations and fallbacks
Misty Release Bot 192aa2d303 chore(i18n): fallback strings for new resources: nodebb.admin-manage-admins-mods
Barış Soner Uşaklı b860c2605c feat: paginaton for admins-mods, closes
ability to select categoriest to see children
Misty Release Bot f1bc9aa9f0 Latest translations and fallbacks
Barış Soner Uşaklı a583141252 feat: add button to see category children, closes
Barış Soner Uşaklı 70ad4a5222 fix: clear dragging on mouseup as well
dragging a modal wasn't firing dragend
Julian Lam 5aca106b81 chore: add note re: sort module
Barış Soner Uşaklı dc320c897a feat: closes , ability to prevent alerts on topic list
Misty Release Bot a4ed398c19 Latest translations and fallbacks
Barış Soner Uşaklı e904f43857 feat: add sorted-list.parse
Barış Soner Uşaklı 8faa6f2382 feat: add new hook that fires when sorted-set list modal is shown
Barış Soner Uşaklı 7867ccd780 feat: , ability to mute from flag details
Misty Release Bot 8838bc200d Latest translations and fallbacks
Barış Soner Uşaklı 5e82cf23c6 fix: closes , replace removed socket method with api method
Barış Soner Uşaklı 12b58fcfe6 refactor: return module if it doesn't have default export
Misty Release Bot 3f2aea4437 Latest translations and fallbacks
Misty Release Bot 0035e5f868 Latest translations and fallbacks
Misty Release Bot 1764f2f7fb Latest translations and fallbacks
Barış Soner Uşaklı d2e6f31717 refactor: not used anymore
Misty Release Bot fa118c6ba4 Latest translations and fallbacks
Misty Release Bot d617c6651b chore(i18n): fallback strings for new resources: nodebb.post-queue
Barış Soner Uşaklı 40047e1599 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 012860a49a feat: show number of selected posts in reject confirm
Misty Release Bot 3492dd11e6 chore(i18n): fallback strings for new resources: nodebb.post-queue
Barış Soner Uşaklı 23175110a2 feat: post queue bulk actions closes , fix ,
Misty Release Bot 72d47a0b8a chore(i18n): fallback strings for new resources: nodebb.error, nodebb.flags
Barış Soner Uşaklı d20b07cfea
Webpack5 ()
* 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 

* 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 ()

* 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 ()

* 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 

* refactor: generateTopicClass

* fix: column counts for other privileges

* fix: , 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 

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

* feat: UI for flag deletion, closes 

* 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>
Misty Release Bot 4345439895 Latest translations and fallbacks
Julian Lam 21dbd47688 fix: typo in hook name
Julian Lam 46fbe15665 fix: , regression where sorted-list items did not render into the DOM in the predicted order [breaking]
Misty Release Bot 78afb88284 Latest translations and fallbacks
Misty Release Bot dba12fd4bf Latest translations and fallbacks
Misty Release Bot 0afe1d5f73 Latest translations and fallbacks
Misty Release Bot 56888b1de7 Latest translations and fallbacks
Misty Release Bot 01e65395ef chore(i18n): fallback strings for new resources: nodebb.admin-settings-reputation, nodebb.error
Misty Release Bot 9007afb995 Latest translations and fallbacks
Barış Soner Uşaklı b28f9f776a feat: closes , minimum reputation to chat