12038 Commits (c1f5889f1384e92085bd505206b59c26049e4b19)

Author SHA1 Message Date
Barış Soner Uşaklı 6ed7e937ce refactor: fix wording 4 years ago
Barış Soner Uşaklı 47c8c69264 fix: keep query string on redirects 4 years ago
Barış Soner Uşaklı 5fd190f7c4 feat: #9651, change category desc to multiline 4 years ago
Barış Soner Uşaklı 8e0561f226 perf: cache Topics.getTopicsTags 4 years ago
Barış Soner Uşaklı 10ddfff38f perf: bypass getMultipleUserSettings 4 years ago
Julian Lam e03782f218 fix(docs): #9648 4 years ago
Barış Soner Uşaklı c9348efbdc feat: add merge/fork hooks 4 years ago
Julian Lam b896484351 fix: #9634, re-jig top bar of Admin > Manage > Users 4 years ago
gasoved 97c8569a79 fix: hide private user data in api/v3/users/[uid] 4 years ago
Barış Soner Uşaklı d9e2190a6b fix: numThumb upgrade script 4 years ago
Barış Soner Uşaklı fee782c436 fix: acp dashboard sometimes not loading on cold load 4 years ago
Julian Lam 849049765b fix: #9636, sanitize all attributes in meta and link tags 4 years ago
Julian Lam acdbd04913 fix: #9627 4 years ago
Anton Grigoryev db65360c0d
fix(post-queue): moderatedCids is an array of numbers (#9631) 4 years ago
Barış Soner Uşaklı 52596902a6 feat: #9617 update fa link 4 years ago
Barış Soner Uşaklı 909db3ae71 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı ab6f062ff9 fix: prevent crash in expandObjBy #9618 4 years ago
Barış Soner Uşaklı 1bf263c4a2
9622 (#9625)
* fix: #9622

dont allow regular user to remove system tags

* refactor: add guest/spider check to isPrivileged

string/trim tag
4 years ago
Barış Soner Uşaklı 0d975bc4fb fix: dont show system tags in whitelist dropdown to regular users 4 years ago
Barış Soner Uşaklı 84e065752f
fix: #9622 (#9623)
dont allow regular user to remove system tags
4 years ago
Barış Soner Uşaklı 73f40e96a5 fix: #9620, fix notif delay 4 years ago
Barış Soner Uşaklı c92fc19b5c fix: #9619, add group chat filter to /notifications 4 years ago
Barış Soner Uşaklı 3cd9434b56 fix: scope 4 years ago
Barış Soner Uşaklı 1eda538da5 fix: #9615, catch exceptions in renderOverride 4 years ago
Barış Soner Uşaklı 46a454f194 feat: add bodyClass to 500 page 4 years ago
gasoved 8168c6c407
fix: purge uploaded images accordingly #9606 (#9611)
* fix: purge uploaded images accordingly

* fix: tests

* fix: relative paths
4 years ago
Julian Lam a2400f6baf fix: accidental unnecessarily strict conditional that effectively rendered SSO state checking opt-in instead of opt-out 4 years ago
Julian Lam f9728aff2c feat: clear reset tokens on successful login 4 years ago
Julian Lam 5c42b3eab0 test: fixed broken tests from #9605, removed token clean on token usage as it is superceded by token clean on generation (+ associated test) 4 years ago
Julian Lam f6c14d6b62 fix: introduce artificial delay + delay fudging on invalid email during reset token generation 4 years ago
Julian Lam 229f96f872 fix: #9605, expire all active reset tokens for a uid if that uid generates a new one 4 years ago
Barış Soner Uşaklı 8c952aa381 fix: lint 4 years ago
Barış Soner Uşaklı be19f27f40 feat: add filter:categories.categorySearch 4 years ago
Barış Soner Uşaklı cc0cf99fed
feat: allow nested properties on category page (#9601)
* feat: allow nested properties on category page

* fix: remove debug

* fix: remove debug
4 years ago
Barış Soner Uşaklı 8ea58432c9 feat: show ip on acp manage users
update url on search
show matching ip when searching by ip
add ip to export csv
4 years ago
Barış Soner Uşaklı 6695927ea9 fix: pagination on acp users search 4 years ago
psychobunny 05cc7ccb60 feat: make undoTimeout configurable, closes #9599 4 years ago
Mats 2b42e7edb0 chore: lint 4 years ago
Mats 6f73261186 fix: extra ')' 4 years ago
Mats d07229aa6b chore: fix indentation 4 years ago
Mats edcba61aa9 fix: disallow editing of other users' notes
Feel free to close this if it is intentional, but as you are not allowed to delete other users notes I expect you shouldn't be able to edit them. Editing another users post also changes ownership, allowing you to then delete it.

I also added `error:` to the errormessage so that they display properly.
4 years ago
Barış Soner Uşaklı ca72aa93d7
Locks bug failing test (#9595)
* test: failing test for issue

* fix: #9593, don't lock if email is identical to username

* fix: lock calls after first call

* fix: add back email check

* test: remove invalid test

Co-authored-by: Julian Lam <julian@nodebb.org>
4 years ago
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
Barış Soner Uşaklı 2ceda70a97 fix: preserve order when changing parent 4 years ago
Barış Soner Uşaklı d00268c9b8 refactor: style, no need to convert length to string 4 years ago
Julian Lam d8ff9851a3 fix: typo in switch..case 4 years ago
Barış Soner Uşaklı 801570e4cf fix: #9404, show signatures if the target user has signature privilege 4 years ago
Barış Soner Uşaklı 75553b246c fix: sorting when filtering by uid 4 years ago
Julian Lam 98b72ca572 fix: allow local (and overridden) login strategies to pass Error objects back 4 years ago
Barış Soner Uşaklı 6aa60b63b5 fix: category search not using uid 4 years ago
Barış Soner Uşaklı 56523aa148 revert: change toPid truthy 4 years ago
Barış Soner Uşaklı 90d64fe1df fix: #9398, crash on post flag 4 years ago
Barış Soner Uşaklı a8f7b24452
fix: #9395, pass all data from client to Topics.reply (#9396)
* fix: #9395, pass all data from client to Topics.reply

so plugins can set custom fields
refactor and use setDefaultPostData

* fix: circular json error

* refactor: change params
4 years ago
Barış Soner Uşaklı 4ac38ab2bc fix: lint 4 years ago
Barış Soner Uşaklı eb360351e5 fix: #9394, fix guest handles 4 years ago
Barış Soner Uşaklı 5c59354c58 fix: #9389, allow admins to add themselves to private groups 4 years ago
Barış Soner Uşaklı 4327a09d76
feat: allow optional fields argument on db.getObject(s) (#9385) 4 years ago
Barış Soner Uşaklı f316c4d4b8 refactor: remove uncessary check 4 years ago
Barış Soner Uşaklı e789fe8d2a fix: #9383, don't show deleted topic titles in inf scroll 4 years ago
Julian Lam cc489708ee fix: #9378, crash on verifyToken if API Token settings not saved (null case error) 4 years ago
Barış Soner Uşaklı 35700d1634 fix: closes #9382, fix digest topic links 4 years ago
Barış Soner Uşaklı 668508cc37 feat: closes #9380, add category filtering and topic tools to tag page 4 years ago
Barış Soner Uşaklı 34b9aaedee
feat: allow sync function (#9379)
* feat: allow sync function

* fix: remove async
4 years ago
Barış Soner Uşaklı e725beaa4a Revert "feat: allow filter functions that return promises or the data directly"
This reverts commit e6c52cf26c.
4 years ago
Barış Soner Uşaklı e6c52cf26c feat: allow filter functions that return promises or the data directly 4 years ago
Barış Soner Uşaklı 53f67ff396 fix: regression from filter hook change 4 years ago
Barış Soner Uşaklı 52082e1296 feat: add resolve flag to post tools 4 years ago
Julian Lam 2a939aad8d fix: regression via c1b3079d93
Also refactored privilege render logic so that it no longer needs a server-side hack to render column count
4 years ago
Julian Lam 4cbd13fd9c feat: hide revert button in ACP > Privileges until privileges change 4 years ago
Barış Soner Uşaklı 46270f9f20 feat: bring back static hook timeout 4 years ago
Barış Soner Uşaklı d05d7091ae refactor: remove async.each/reduce from hooks for better stack traces 4 years ago
Barış Soner Uşaklı 0d3979efd0 refactor: use hooks.fire 4 years ago
Barış Soner Uşaklı 9382fc6dc5 fix: #9370, show correct teaser index if sorting is newest to oldest 4 years ago
Barış Soner Uşaklı 1982edfde3 refactor: fix variable name 4 years ago
Barış Soner Uşaklı 3c60ccfd4d feat: upgrade connect-mongo, closes https://github.com/NodeBB/NodeBB/pull/9367 4 years ago
Julian Lam f71cb0e427 feat: pass interstital errors to individual partials as well as to registerComplete 4 years ago
Barış Soner Uşaklı 5eb3132dae feat: add filter:plugins.firehook 4 years ago
Barış Soner Uşaklı ebccc7940b fix: don't copy if src doesn't exist 4 years ago
Barış Soner Uşaklı 754283d37b feat: copy default favicon if it doesn't exist 4 years ago
psychobunny 771a8955a4 fix: #9362 best not to check file exists on every page load; copying favicon to uploads/system folder instead 4 years ago
psychobunny ad5654952a fix: #9362 4 years ago
Julian Lam 678e8f0fde fix: regression where login redirect for admin routes didn't go to local=1 4 years ago
Julian Lam 4b5450853d feat: allow missing (or non-array) middlewares argument in route helper methods 4 years ago
Barış Soner Uşaklı e74df53997 feat: pass modified params, only affects filter hooks 4 years ago
Barış Soner Uşaklı 696c489524 feat: add back topic id input 4 years ago
Julian Lam 166d65a1ba fix: add back middleware.authenticateOrGuest 4 years ago
Julian Lam e3b2c00db1 fix: request authentication called twice in account routes 4 years ago
Julian Lam 7da061f0d7
refactor: automatically authenticate all requests setup through route helpers (#9357)
* refactor: automatically authenticate all requests setup through route helpers

* fix: removed connect-ensure-login dependency

* fix: bug with some middlewares not defined outside route helper methods
4 years ago
Barış Soner Uşaklı 3aa26c4df2 fix: #9339, only log email errors once per digest, notification push
show notice in acp
4 years ago
Barış Soner Uşaklı 3f42d40c78 fix: winston.info 4 years ago
Barış Soner Uşaklı 0021c6019e refactor: async listen testSocket 4 years ago
Julian Lam c5e257888a fix: #9351 bad logic when inserting rows to privilege tables, also a missing tfoot 🦶 4 years ago
Julian Lam bfd512b99b feat: expose username validation logic to user lib, new hook `filter:username.check` 4 years ago
psychobunny e5133a78f8 feat: add $.deserialize to client side 4 years ago
Barış Soner Uşaklı 902a88c25e feat: remove promise-pollyfil 4 years ago
Julian Lam c1b3079d93 feat: category privilege API routes
closes #9342
4 years ago
Julian Lam c8b78654d9 fix: bad assignment 4 years ago
Julian Lam fbe9215b17 fix: #9348 incorrect redirect via connect-ensure-login 4 years ago
Barış Soner Uşaklı 0af9d26fe5 feat: change uploadCroppedPicture to use updateProfile as well 4 years ago
Barış Soner Uşaklı a598abcd8e feat: use updateProfile for picture change
so it triggers action:user:updateProfile
4 years ago
Julian Lam f806befd2f fix: bug where loginSeconds setting was ignored for local login 4 years ago
Julian Lam 1155b0c42f feat: allow payload to be passed to emailer test method 4 years ago
Julian Lam 00a68a9548 feat: add additional flag hooks [breaking]
`action:flags.create` on initial flag creation
`action:flags.notify` on notification to admins and moderators
`action:flags.addReport` on flag report addition (called during initial flag create, too)
4 years ago
Barış Soner Uşaklı 069ac60f62 feat: add uid of user who created flag to action:flags.create 4 years ago
Peter Jaszkowiak b9fd2c87f3
chore: bump deps (#9335)
* chore: bump deps

* fix: husky git hooks
4 years ago
Barış Soner Uşaklı 2737f6531b fix: notif pruning 4 years ago
Barış Soner Uşaklı 02f08111cf feat: keep notifs for one month, load 50 notifications instead of 30 4 years ago
Julian Lam 9bf94ad50f fix: allow interstitial callbacks to be functional (no cb required) 4 years ago
Barış Soner Uşaklı cdf5d18f54 fix: don't publish before pubClient is connected 4 years ago
Julian Lam 86b0c57d7a feat: also pass in uid to `filter:email.prepare` 4 years ago
Julian Lam 27ea3dcb2f feat: new hook `filter:email.prepare` 4 years ago
Julian Lam bf90d15881 feat: new hook static:email.send
deprecates filter:email.send
4 years ago
Barış Soner Uşaklı 0dad568cbe perf: faster category tags upgrade script 4 years ago
Barış Soner Uşaklı 95033ef756 perf: use setObjectBulk 4 years ago
Barış Soner Uşaklı a07509f770 perf: make upgrade script faster 4 years ago
Barış Soner Uşaklı 48f1e265f4 fix: remove unused async 4 years ago
Barış Soner Uşaklı 0959b1248b perf: make upgrade script faster
use bulkAdd/remove
4 years ago
Barış Soner Uşaklı 14a6c349c2 feat: show time info for upgrade scripts 4 years ago
Barış Soner Uşaklı 293b7c2650
refactor: privileges, export modules directly (#9325)
fix unused/commented out methods in admin privileges
4 years ago
Julian Lam 984c9dd915 fix: in setupPageRoute helper, buildHeader after plugin hooks have fired
To allow for a plugin to call doLogin and have it properly reflect in the header
4 years ago
Julian Lam 73dc64d9ff feat: add dashboard sub-pages to ACP menu 4 years ago
Julian Lam 0804d54759 spec: schema docs for new ACP dashboard subpage routes 4 years ago
Julian Lam 2f89b0d791 feat: recent logins sessions table in dashbaord subpage 4 years ago
Julian Lam e1ed514b10 feat: topics dashboard details subpage 4 years ago
Julian Lam c57c77030e feat: update user list in dashboard/users on graph update 4 years ago
Julian Lam f8e1a74c26 fix: wrong qs param, allow string to be passed to util.getDaysArray 4 years ago
Julian Lam cc93822436 feat: show list of recent users in dashboard/users 4 years ago
Julian Lam 6fdcae7320 feat: req.query parsing and dynamically loading data instead 4 years ago
Julian Lam f561799f74 refactor: abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins 4 years ago
Julian Lam 079a13d41a feat: new hooks for notifications get/getCount 4 years ago
Peter Jaszkowiak 0d59fe3d2b fix(#9315): api v3 post, put, del JSON
also allow `app.alertError` to be called without an argument
also fix `./nodebb build --dev` to actually build in dev mode
4 years ago
Julian Lam dbe5f7027b fix: wrong call to sortedSetAdd 4 years ago
Julian Lam 16d3c45782 feat: report login statistics from analytics data, instead of its own zset 4 years ago
Julian Lam 9a9f366d3b feat: track login sessions for admin dashboard reporting 4 years ago
Julian Lam 020f0b8322 fix: session not persisting to database in some scenarios
In some edge cases (e.g. SSO plugin redirecting the user immediately), with modern browsers, the request is never "completed" for speed. This causes a condition where the session object never persists to the database, even though it has changed. This added line forces a db persist on a successful login.

Context: https://github.com/expressjs/session/pull/484
4 years ago
Julian Lam 504fd107c7 feat: track successful logins in analytics 4 years ago
Julian Lam d3a9e76ae2 test(user): added additional tests for icon background colour 4 years ago
Julian Lam 955021247e feat(user): icon background selector in change picture modal 4 years ago
Julian Lam fbccf6e22f refactor(user): all plugins to change list of icon background colours
One notable change is line 200, where a conditional was changed. The conditional used to check for `user.hasOwnProperty('picture')` and was added so that icons would only be included in the response if the picture was requested. This doesn't seem to apply as picture could be set regardless (see default avatar logic above), so I explicitly check `requestedFields` now.
4 years ago
Barış Soner Uşaklı ed3d9dcbbf feat: pass post object to filter:post.tools 4 years ago
Barış Soner Uşaklı 0e07f3c9ba feat: allow defining a list of system tags 4 years ago
Barış Soner Uşaklı 25c8f02634 fix: #9307, use _.flatten 4 years ago
Julian Lam 2fef462782 fix: awaiting res.render in send404 controller
>
> A plugin wanted to use `response:rotuer.page` to 404 a specific page on some condition. res.render returns early in send404 and so must be awaited otherwise multiple responses will be sent
4 years ago
Julian Lam 65c57c730c docs: added comment re: #9305 4 years ago
ahwayakchih 34096b73ef fix: do not overwrite `config.port` from URL, if it's already set
If URL was set to something like `http://example.com:8080`, and port
was set to 4567, keep listening on port 4567 and keep linking through
URL that was specified.
This allows to listen on port 4567, while having NGINX (or any proxy)
set to listen on port 8080 and route traffic to port 4567.
So NodeBB can be "hidden" behind proxy while URL can still contain
non-standard port, i.e., port different than 80 and 443.
4 years ago
Julian Lam 8686fbfa3f fix: switch back to getSortedSetRange
/cc @barisusakli
4 years ago
Barış Soner Uşaklı 9ce6f8ad93 feat: add tag filter to getSortedTopics 4 years ago
Barış Soner Uşaklı 5286f20862 refactor: remove dupe code 4 years ago
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails 4 years ago
Barış Soner Uşaklı 91734a6484 fix: settings v3 4 years ago
Barış Soner Uşaklı 0738dae895 feat: #9304, add category/topic/username to post queue notification emails 4 years ago