12562 Commits (f1b2d678fad01d4f18e3d4ffe93c5b649a73ff03)

Author SHA1 Message Date
Opliko de31cb1a4f feat: add force flag to plugin install in cli (#11089) 2 years ago
Julian Lam 9f531f957e refactor: flag states so that they are not hardcoded, allow plugins to add additional states, deprecated filter:flags.getFilters hook, closes #11065 2 years ago
Julian Lam 896493dbd6 fix: change hsts-maxage back to numeric input type, change API token uid input to numeric text type 2 years ago
Julian Lam 4314b8e201 Revert "fix: replace input type number with text/pattern"
This reverts commit cde4c6ac7e.

The changeset was naive in the sense that a lot of the changes inputs actually work better as type="number".
2 years ago
Julian Lam 2bc23a9526 fix: replace input type number with text/pattern 2 years ago
Julian Lam 33af2d9c18 feat: integrating basic client-side form validity checking in settings v1 and v2 2 years ago
Julian Lam db8d3a94eb fix: change hsts-maxage back to numeric input type, change API token uid input to numeric text type 2 years ago
Julian Lam d9852c3245 Revert "fix: replace input type number with text/pattern"
This reverts commit cde4c6ac7e.

The changeset was naive in the sense that a lot of the changes inputs actually work better as type="number".
2 years ago
Julian Lam 45ae31f816 fix: replace input type number with text/pattern 2 years ago
Julian Lam dadbcd731c feat: integrating basic client-side form validity checking in settings v1 and v2 2 years ago
Manuel Valle 8c4d6bbebb
Fix: categories.js not showing custom privileges (#10856)
No shows correctly custom privileges in the Other section for a category.
2 years ago
Barış Soner Uşaklı 07a0212571 fix: #11077, add admin uploads paths to priv mapping
closes #11077
2 years ago
Barış Soner Uşaklı 4efc19d5f1 feat: add ./nodebb install <plugin_name>
will install the suggested version for current nodebb closes #11060
3 years ago
Barış Soner Uşaklı 48d1439217 fix: prototype vulnerability in socket.io onMessage 3 years ago
Barış Soner Uşaklı 0e495f9ea4 fix: #11066, fix custom privilege/path in routePrefixMap
will find most specific path
3 years ago
Barış Soner Uşaklı c7aa4ebf47 Merge branch 'master' into develop 3 years ago
Barış Soner Uşaklı 864fe0f971 feat: add permissions-policy header 3 years ago
Barış Soner Uşaklı 110311b25e fix: https://github.com/NodeBB-Community/nodebb-plugin-custom-pages/issues/68
don't crash if template doesn't have any widgets set before
3 years ago
Barış Soner Uşaklı fc49665fe5 fix: https://github.com/NodeBB-Community/nodebb-plugin-custom-pages/issues/68
don't crash if template doesn't have any widgets set before
3 years ago
Barış Soner Uşaklı bb82eb71e2 fix: #11052, add missing await 3 years ago
Julian Lam 10ba7b9ced Merge branch 'master' into develop 3 years ago
Barış Soner Uşaklı abcfb63126 fix: #11044, allow banned users to post
if given privileges
3 years ago
Barış Soner Uşaklı 3c85b944e3 feat: allow groups to be exempt from maintenance mode
closes #11030
3 years ago
Barış Soner Uşaklı 6109061501 fix: check schedule privilege, closes #11032 3 years ago
Barış Soner Uşaklı b34e859c1b refactor: don't prevent startup if staticDir is undefined
https://community.nodebb.org/topic/16790/problems-with-upgrading-to-2-xx
3 years ago
Julian Lam 97d8b53fd3 Merge branch 'master' into develop 3 years ago
Julian Lam 55a197a7d7 fix: check for csrf token on /register/abort, + theme changes for v2.x branches of themes 3 years ago
Barış Soner Uşaklı a31ba824ea fix: upgrade script to work from 0.x to 2.x 3 years ago
Barış Soner Uşaklı 06d1539137 test: fix tests again 3 years ago
Barış Soner Uşaklı b5d38bc696 feat: new search hooks
filter:search.isAllowed, allow plugins to check if searching is allowed
filter:search.searchIn, allow searching in custom items
3 years ago
Julian Lam a2fafc2b15 Merge remote-tracking branch 'origin/master' into develop 3 years ago
Barış Soner Uşaklı 673261ff98 fix: #10519, image height in emails 3 years ago
Barış Soner Uşaklı 6f673f806f fix: #10993, apply autoLocale middleware to guests only 3 years ago
Barış Soner Uşaklı be92be4eee feat: add search data to filter:search.inContent 3 years ago
Barış Soner Uşaklı e3f2156202
feat: add search data to filter:search.inContent 3 years ago
Julian Lam 96b46411b1 Merge branch 'master' into develop 3 years ago
Julian Lam 9ee30fe7d2 fix: revert breaking change, add back SocketUser.emailConfirm 3 years ago
Julian Lam 9c576a0758
Email confirmation QOL updates (#10987)
* breaking: remove `SocketUser.emailConfirm`, re: #10954

* 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
3 years ago
Julian Lam 09f3ac6574 fix: in appropriately named language key `email-confirm-email2` 3 years ago
Julian Lam 7672194c7c fix: correctly pass dev flag to package installer 3 years ago
Julian Lam 09cfd0bd57 fix: use `--omit=dev` flag for npm instead of `--production` 3 years ago
Barış Soner Uşaklı dd4e9cce09 perf: speed up build
run webpack as soon as js targets are done
this allows building js/css in parallel
3 years ago
Barış Soner Uşaklı 3a70530c8e fix active plugins (#10964) 3 years ago
Barış Soner Uşaklı 67efaeb4b8
fix active plugins (#10964) 3 years ago
Barış Soner Uşaklı b879b6a0c2
fix: use admin:groups priv for groups (#10960) 3 years ago
Barış Soner Uşaklı e35b0a869f fix: https://github.com/NodeBB/NodeBB/issues/10525 3 years ago
Barış Soner Uşaklı ebd5dcc6d6 fix: EEXISTS error on linux if plugin/theme overrides core js file 3 years ago
Julian Lam 1e4846435a fix: mixing of old and new bch syntax 3 years ago
Julian Lam 1e864a7518 Merge remote-tracking branch 'origin/master' into develop 3 years ago
Barış Soner Uşaklı 61d32bdebb fix: category ordering add test 3 years ago
Barış Soner Uşaklı 177d904812 fix: category ordering add test 3 years ago
Barış Soner Uşaklı c0b1ded363 fix more categories button not moving with parent
fix order issue
3 years ago
Barış Soner Uşaklı a584dae650 feat: add relevant topic events to post objects
see c9604f216a
3 years ago
Julian Lam 14515f6004 fix: add lru-cache to checked packages, to fix upgrade issue with lru-cache 3 years ago
Julian Lam 53d47a58f6 fix: use `--omit=dev` flag for npm instead of `--production` 3 years ago
Julian Lam 6391f77b01 Merge remote-tracking branch 'origin/master' into develop 3 years ago
Julian Lam cf4f5447bb fix: #10906, allow `middleware.checkAccountPermissions` to be called with either uid or userslug in params
Previously, the middleware only worked with userslug params
3 years ago
Barış Soner Uşaklı b5dd89e1c0
feat: store topic title and tags in diffs (#10900)
* feat: store topic title and tags in diffs

allow restoring post diff if tags didn't change

* test: fix tests, fast computer problems
3 years ago
Julian Lam fe249fa577 fix: listen to -d flag on cli upgrade 3 years ago
Barış Soner Uşaklı ebd7c05c4c feat: paginate recentposts.rss and
category/1/recentposts.rss
3 years ago
Julian Lam 6061d611ea Merge remote-tracking branch 'origin/master' into develop 3 years ago
Barış Soner Uşaklı 8aa1596d23 chore: bring back treding plugins 3 years ago
Barış Soner Uşaklı 3d5a6b39d6 lint: fix lint 3 years ago
Barış Soner Uşaklı b392450c36 perf: disable trending plugins, too slow due to nbbpm 3 years ago
Opliko 665f36b707 feat: add quiet to action:settings.set
Makes it possible to ignore quiet updates without abusing the `filter` hook
3 years ago
Julian Lam 67cb70352f fix: missing escape on ACP category backgroundImage property 3 years ago
Julian Lam 15b1561fd3 feat: introduce ACP defined option to rescind notif or do nothing on flag resolve/reject
/cc #10867
3 years ago
Julian Lam d05705183f refactor: move export generation logic to v3 controller, GET/HEAD routes for exports
re: #10384
3 years ago
Julian Lam 0cda5aa3e3 feat: allow v3 api to handle 202 and 204 response codes as well. 3 years ago
Julian Lam 8b7cf48ade Merge remote-tracking branch 'origin/master' into develop 3 years ago
Julian Lam 9b96c33d5d fix: wrap passport.authenticate to pass in keepSessionInfo if not already set 3 years ago
Julian Lam 65b3996ac6 fix: removing duplicate session rerolling code (as it is in passport@^0.6 now) 3 years ago
Julian Lam 20ebf0a1e0 Merge remote-tracking branch 'origin/master' into develop 3 years ago
Barış Soner Uşaklı bc37a5c516 fix: parseInt caller.uid closes #10849 3 years ago
Barış Soner Uşaklı fc9b436f3e Merge branch 'master' of https://github.com/NodeBB/NodeBB 3 years ago
Barış Soner Uşaklı 489fb3a36f fix: missing req, closes #10847 3 years ago
Julian Lam 4dc7fa050f fix: #10845, disallow inline viewing of uploaded html files 3 years ago
Julian Lam 990ad6a11a Merge remote-tracking branch 'origin/master' into develop 3 years ago
Julian Lam ec048a01ba fix: #10841, incorrect conditional in email interstitial partial 3 years ago
Barış Soner Uşaklı aba420a3f3 feat: setting to show signatures only once in topics, closes #10071 3 years ago
Barış Soner Uşaklı 14c79763dd refactor: use group.slug on acp group urls closes #8277 3 years ago
Barış Soner Uşaklı e06e526e54 fix: don't crash if post is undefined 3 years ago
Barış Soner Uşaklı 33458701c1 test: passport0.6 (#10638)
* test: passport0.6

* test: make logout async, fix lint

* test: keepSessionInfo flag

* revert: csrf load
3 years ago
Opliko 3975fa2e45 fix: return at least one in sizeCalculation (#10832)
if post content is empty post cache should still consider its size to be at least one. fixes #10831
3 years ago
Barış Soner Uşaklı 4a3e36a766 fix: don't crash if post is undefined 3 years ago
Opliko a9bbb586fc
feat: allow plugins to add to admin cache list (#10833)
* feat: allow plugins to add to admin cache list

resolves  #10820

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
3 years ago
Barış Soner Uşaklı 6b2a6f9006
test: passport0.6 (#10638)
* test: passport0.6

* test: make logout async, fix lint

* test: keepSessionInfo flag

* revert: csrf load
3 years ago
Opliko 15ca460c8f
fix: return at least one in sizeCalculation (#10832)
if post content is empty post cache should still consider its size to be at least one. fixes #10831
3 years ago
Julian Lam 9b753d6d57
TTL Cache (#10816)
* refactor: move src/cacheCreate.js to src/cache/lru.js

* fix: call new library location for lru cache creator

* feat: add ttl cache

* fix: update upload throttler to use ttl cache instead of lru cache

* chore: add missing dependency

* fix: avoid pubsub conflicts

* fix: use get instead of peek, which is not available in ttl-cache
3 years ago
Julian Lam c07d595662
Update to lru-cache@^7 (#10815)
* chore(deps): bump lru-cache from 6.0.0 to 7.13.1 in /install

Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 6.0.0 to 7.13.1.
- [Release notes](https://github.com/isaacs/node-lru-cache/releases)
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v6.0.0...v7.13.1)

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

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

* fix(lru-cache): remove unneeded `length` params for cache creation, as `maxSize` was not used in those init calls, also renamed some methods to match new method names in lru-cache [breaking]

Added deprecation notices for old params

* fix: replace three direct calls to lru-cache with call to cacheCreate, moved cache creation call in uploads to run on first init as config is not populated at lib init

* test: move configs init above cache reset calls in databasemock

* move some more code above cache clear

* refactor: remove unused

* test: lru

* test: more debug

* test: on more test

* use await helpers.uploadFile

* fix: tests remove logs

* fix: acp cache page

* fix: add in one more guard again cache instantiation with `length` prop but no `maxSize` prop

* fix(deps): bump markdown

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
3 years ago
Opliko b3a37a7f35 feat: support packageManager property in package.json
resolves #10714
3 years ago
Julian Lam 38bf30c8ca fix: adapt to breaking change in commander 3 years ago
Julian Lam d0255fc6a5 fix: move panel-offset setting code back to theme header 3 years ago
Julian Lam c6782a2173 Merge remote-tracking branch 'origin/master' into develop 3 years ago
Julian Lam 9d27e90740 fix: don't require password challenge if no password is set in user account 3 years ago
Julian Lam 287f4c2c41 fix: do not throw if password passed into `isPasswordCorrect` is invalid, just return false 3 years ago
Julian Lam 7fcee42be9 feat: present a password challenge on email update flow 3 years ago
Barış Soner Uşaklı 7e8ad785f4 fix: don't crash if req.body.username is not string
Error: req.body.username.trim is not a function
File: authenticationController.login (/usr/src/app/src/controllers/authentication.js:247:40)
3 years ago
Barış Soner Uşaklı 55c5588a4b fix: don't crash if target/user is undefined
Error: TypeError: Cannot read properties of undefined (reading 'displayname')
File: Flags.notify (/usr/src/app/src/flags.js:812:89)
3 years ago
Julian Lam 9ee1afbb0f Merge branch 'master' into develop 3 years ago