11846 Commits (f5a53b7f1e9da71e1bb8c326ac574a66f49685ff)

Author SHA1 Message Date
Julian Lam 816856b0c6 feat: introduce boolean res.locals flag to bypass session reroll (used by session-sharing)
The session reroll logic is still standard practice, but in some cases, it is not necessary or causes UX issues. An issue opened in session sharing (julianlam/nodebb-plugin-session-sharing#95) brought this to attention in that parsing the cookie to log in the user caused a reroll (as expected), but caused the session open on other tabs to be mismatched. If "re-validate" was turned on, it basically meant that it was not possible to use NodeBB with multiple tabs.

Session sharing now sets `reroll` to `false` if re-validate is enabled.
4 years ago
Barış Soner Uşaklı 286644d0b8 fix: #9592, check session 4 years ago
Barış Soner Uşaklı 3717df610a fix: don't crash if session doesn't exist 4 years ago
Barış Soner Uşaklı 66cae54ee3 fix: lint 4 years ago
Barış Soner Uşaklı 57e46e41e3 feat: allow modifying default category privileges 4 years ago
Julian Lam 16e0bca570 fix: improper use of filename extensions 4 years ago
Barış Soner Uşaklı d8d6c98970 fix: return null 4 years ago
Barış Soner Uşaklı ac7b093f99 feat: add filter:notifications.create 4 years ago
Barış Soner Uşaklı 3fb7444580 fix: returnOriginal deprecation
https://github.com/mongodb/node-mongodb-native/pull/2808
4 years ago
Barış Soner Uşaklı 3d5fef6e80 feat: pass req.query to getUnreadData 4 years ago
Julian Lam d2960aeb09 feat: added GET user route for api v3 4 years ago
Julian Lam 48b8e3bb3f fix: error when trying to trim an object 4 years ago
Barış Soner Uşaklı 9ebfdeb7ee fix: #9580, proper 404 when ajaxifying 4 years ago
Barış Soner Uşaklı 09f5179216 fix: lint 4 years ago
Barış Soner Uşaklı 77dde41f7b feat: keep query string when redirecting category 4 years ago
Barış Soner Uşaklı 951e71a0e5 fix: #9567 fix tests 4 years ago
Barış Soner Uşaklı 5215c30ade fix: #9567, use regular 404 4 years ago
Barış Soner Uşaklı 3d6bdeb3df feat: add req.query to flags.list/getCount 4 years ago
Barış Soner Uşaklı d35c64b1a2 feat: add filter:flags.getFlagIdsWithFilters 4 years ago
Barış Soner Uşaklı 1ec9739629
switch to request-promise-native (#9561)
* refactor: cli/upgrade async/await

async/await cli/upgrade-plugins
remove unused payload.files

* fix: add missing await

* refactor: use request-promise-native
4 years ago
Barış Soner Uşaklı ac86937c88
refactor: cli/upgrade async/await (#9558)
* refactor: cli/upgrade async/await

async/await cli/upgrade-plugins
remove unused payload.files

* fix: add missing await
4 years ago
Barış Soner Uşaklı 1ce595083a fix: ioredis upgrade fix, maybe 4 years ago
Barış Soner Uşaklı 4afca6900b feat: add filter:user.getWatchedCategories 4 years ago
Julian Lam 1d9cfe1e96 fix: bug where interstitial errors were not properly passed to the front-end via req.flash 4 years ago
Barış Soner Uşaklı 518157d9fa feat: pass req.query to getUserDataByUserSlug 4 years ago
Barış Soner Uşaklı 0551642a35 fix: #9553, use same fields for user search results in acp 4 years ago
Barış Soner Uşaklı 94c12e3771 feat: #9508, add cluster support 4 years ago
Barış Soner Uşaklı a3d6c56ec3 feat: #9551 4 years ago
Barış Soner Uşaklı ffa8016355 fix: lint 4 years ago
Barış Soner Uşaklı fad5988ed6 fix: tests 4 years ago
Barış Soner Uşaklı 074ee859c4 fix: tests 4 years ago
Barış Soner Uşaklı 1f3e660108 feat: add template to hook 4 years ago
Barış Soner Uşaklı a2442ee914 feat: add filter:account.getPostsFromUserSet 4 years ago
Peter Jaszkowiak dd81dd03e0
fix(#9508): switch to ioredis (#9545)
* switch to ioredis

also need this fix in redisearch:

redis-search.js:98
```
  redisClient.multi(cmds).exec(function(err, ids) {
    if (err) {
      return callback(err);
    }
    var errRes = ids[resultIndex];
    if (errRes[0]) {
      return callback(errRes[0]);
    }
    callback(null, errRes[1]);
  });
```

* dbsearch compatible with ioredis

* fixed dbsearch?
4 years ago
Barış Soner Uşaklı 0096cf178a refactor: bubble other errors 4 years ago
Julian Lam a9bb108802 fix: wrong error message checked 4 years ago
Julian Lam ec6d1e2321
fix: #9507 session reroll causes socket.io to become confused (#9534)
* fix: #9507 session reroll causes socket.io to become confused

* fix: added return

* fix: simpler logic for error handling

* fix: overly sensitive catch
4 years ago
Barış Soner Uşaklı f6b583bb9d feat: #9533, allow redirect in build hooks 4 years ago
Barış Soner Uşaklı 2c22b06feb fix: isObjectField(s) empty field 4 years ago
Barış Soner Uşaklı 7c1e163d82 Revert "feat: add _hooks metadata object to all hooks that have object-type params"
This reverts commit 46899ccadb.
4 years ago
Julian Lam 46899ccadb feat: add _hooks metadata object to all hooks that have object-type params 4 years ago
Barış Soner Uşaklı d8e4fd4cdd feat: add filter:categories.copySettingsFrom 4 years ago
Barış Soner Uşaklı 084c985117 feat: guard against multiple resolves 4 years ago
Barış Soner Uşaklı 5fe97b9c2e revert: sync hooks 4 years ago
Barış Soner Uşaklı 6ed8890c2e fix: #9512, fix chat icon if no privileges 4 years ago
Barış Soner Uşaklı b40fc4b64d feat: #9511 send notifications on accept/reject 4 years ago
Barış Soner Uşaklı a478dc7ee8 feat: add filter:middleware.autoLocale 4 years ago
Barış Soner Uşaklı 308252f566 fix: #9503, dont error in markUnread if room doesnt exist
this prevents deleting the user if they are the only person in the chat room
4 years ago
Barış Soner Uşaklı 9e07efc126 fix: use socket.request.headers 4 years ago
Barış Soner Uşaklı ed534f34f5 fix: buildReqObject headers for socket.io calls 4 years ago
Barış Soner Uşaklı 01956af43a feat: remove sync hooks support 4 years ago
Barış Soner Uşaklı 4e490f6058 test: fix redis tests 4 years ago
Barış Soner Uşaklı 92de49be00 test: add test for undefined fields in getObjectsFields 4 years ago
Barış Soner Uşaklı 1db8920b18 refactor: make debug handler async 4 years ago
gasoved 8b79c7f139
fix: regress. rescheduling shouldn't add to sets that pinning removed… (#9477)
* fix: regress. rescheduling shouldn't add to sets that pinning removed from

* test: remove the also from tests
4 years ago
Barış Soner Uşaklı 9b71b087ec feat: lang strings 4 years ago
Barış Soner Uşaklı 435067aa5f test: remove logs 4 years ago
Barış Soner Uşaklı 2ea468daa3 test: clear cache between runs, require middleware later in helpers 4 years ago
Barış Soner Uşaklı d15e27107e test: log 4 years ago
Barış Soner Uşaklı 354e0a822d test: remove equals 4 years ago
psychobunny 4dd3844680 fix: logic is hard 4 years ago
psychobunny 2e9efc0e8a fix: wrong variable for cache 4 years ago
psychobunny fa0c92a7c4 fix: eslint 4 years ago
psychobunny ea22cd302a fix: use req.ip instead, since guests can upload as well 4 years ago
psychobunny a9978fcfd2 feat: rate limit file uploads 4 years ago
Barış Soner Uşaklı 36f119a96a fix: #9492, keep query params on redirect 4 years ago
gasoved 8faa6e4515
feat: filter flags by username #8489 (#9451)
* feat: filter flags by username #8489

* feat: toggle flag filter text
4 years ago
Julian Lam 1fee6a702a fix: #9487, session data gathered during a session is lost upon login
e.g. returnTo, tids_viewed, etc.
4 years ago
Julian Lam 697ed3bf37 feat: roll session identifier on login, as security best practice
see: https://owasp.org/www-community/attacks/Session_fixation
4 years ago
Julian Lam e845c34b52 fix: registration interstitials not handling promise rejections properly 4 years ago
Barış Soner Uşaklı 4494728cf8 feat: allow different slugs 4 years ago
psychobunny 60eed8d89f fix: let recent replies respect oldest/newest sort settings 4 years ago
Barış Soner Uşaklı 6907837fce fix: #9483, fix events count display 4 years ago
Barış Soner Uşaklı 161081e960 fix: escape flag reason 4 years ago
Barış Soner Uşaklı fd3bc605c6 feat: remove sort again 4 years ago
Barış Soner Uşaklı 2dc3283f19 fix: updateCategoryTagsCount 4 years ago
Barış Soner Uşaklı f9df6431c9 revert: revert tag sort 4 years ago
Barış Soner Uşaklı 036f935fa9
fix: #9473 (#9476) 4 years ago
gasoved 397baf0254
refactor: widgets (#9471) 4 years ago
Julian Lam f65d2162f8 feat: update hook
Hook payload updated to pass login strategy (if overridden, this value will be something other than 'local'), and explicitly pass error if the login failed.
4 years ago
Barış Soner Uşaklı f32ea1737a fix: #9466, don't call leaveRoom in maintenance mode 4 years ago
gasoved a0dd90804c
fix: exempt ST from being del/res via last main posts (#9468) 4 years ago
Barış Soner Uşaklı 784600d930 fix: #9462, on install copy default favicon 4 years ago
Barış Soner Uşaklı 05f2236193 feat: add reverse of recent to getSortedTopics 4 years ago
Julian Lam 9c52fd2e74 fix: #9450 express session saved even if saveUninitialized explicitly passed in 4 years ago
Barış Soner Uşaklı 285aa36556 feat: allow exists methods to work with arrays and single id 4 years ago
Barış Soner Uşaklı d16b45fd2d feat: pass all data to filter:category.get 4 years ago
gasoved aa0137b1c4
feat: rescheduling (editing ST) (#9445) 4 years ago
psychobunny 9e1f72a435 feat: optional urlMethod param for loginStrategies 4 years ago
Peter Jaszkowiak 2a03012e2c
fix: ./nodebb help with commander@7 (#9434)
hopefully this one last as long as the last one did
4 years ago
Barış Soner Uşaklı 728ac5ff72 perf: increase batch size for notifs, run parallel 4 years ago
Barış Soner Uşaklı 344575dde1
feat: add hooks to language loading (#9426)
and flushNamespace method
4 years ago
Barış Soner Uşaklı edf80cfb3b fix: hide titleRaw for deleted topics as well 4 years ago
Barış Soner Uşaklı a1ee1a2a76 chore: remove log 4 years ago
Barış Soner Uşaklı c5dda64fa8 fix: #9410, fix post queue
items in the cache were parsed over and over again
4 years ago
Barış Soner Uşaklı 9052db930f fix: privilege tables 4 years ago
gasoved 077330b764
feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
4 years ago
Barış Soner Uşaklı 67b09cba5f fix: #9420, paginate after loading notifications 4 years ago
Barış Soner Uşaklı e42b152f16 fix: #9414, use posts:view_deleted 4 years ago
Barış Soner Uşaklı a94d96514e feat: show link if category is a link 4 years ago