12325 Commits (898e0e89254c601dfc8469172af9b02533e9b47d)

Author SHA1 Message Date
Julian Lam dee9cca3c8 fix: email ban tests 3 years ago
Julian Lam e25c0313d1 Revert "refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent"
This reverts commit f0e32ff182.
3 years ago
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.
3 years ago
Julian Lam d4e5259fcf fix: update usage of emailer.send to not catch (as errors are no longer thrown), email error throttler 3 years ago
Julian Lam b3f7b742c1 fix: derp 3 years ago
Julian Lam ea27eaf166 feat: no more sending emails to banned users, + feature flag 3 years ago
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
3 years ago
Barış Soner Uşaklı 2a89ad8288 fix: use escaped group names in invite modal 3 years ago
Julian Lam e1e1d5223e feat: push the theme name into body class 3 years ago
Julian Lam d91aeea3c3 feat: add ACP toggles for COEP and CORP headers 3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Barış Soner Uşaklı c1ec20470b fix: catch exceptions from sendNotifications 3 years ago
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
3 years ago
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
3 years ago
Barış Soner Uşaklı f9279b636b fix: post indices if there is a blocked user in topic 3 years ago
Barış Soner Uşaklı 3b72ff8742 fix: dont add duplicate link backs 3 years ago
Barış Soner Uşaklı b06c6329e4 fix: #10175, fix topic linkbacks duplicating on post edit 3 years ago
Barış Soner Uşaklı d1eb21c56d fix: #10173, don't show optional message if email is required 3 years ago
Barış Soner Uşaklı 6a75ed50fa fix: #10172, fix postqueue accept/reject notification text 3 years ago
Barış Soner Uşaklı 4799efc790 fix: #10167, fix regression prevent guest post 3 years ago
Julian Lam 31ea2266a6 feat: nicer error handling for bad jwt in unsubscribe template 3 years ago
Barış Soner Uşaklı c9fabb0e1d refactor: add method to error messages 3 years ago
Julian Lam e9ee843b27
fix: CSRF handler to go back to saving in session (#10159) 3 years ago
Julian Lam 6ca216ab6e feat: revoke user sessions on successful password reset 3 years ago
Julian Lam be4dbe3441 chore: org; merge consecutive await calls into one Promise.all 3 years ago
Julian Lam ffdf26afef docs: comment hint :shipit: 3 years ago
Barış Soner Uşaklı afc75ba48a lint: remove unused 3 years ago
Barış Soner Uşaklı 9b75b1ede2 test: update tag tests, fix linux symlink error 3 years ago
Barış Soner Uşaklı c9592e173c fix: lint 3 years ago
Barış Soner Uşaklı a75a043b61 feat: allow % in tags, #10135 3 years ago
Barış Soner Uşaklı 42caef7fa7 fix: #10143, add back ace editor searchbox 3 years ago
Barış Soner Uşaklı cc27a324b5 fix: notice links in subfolder installs 4 years ago
Julian Lam d89fc44c03 fix: move authenticateRequest before interstitial and maintenance mode middlewares, allowed plugins to disable authentication on certain routes
fixes #10112
4 years ago
Barış Soner Uşaklı 0d9ec9d30e test: fix restore test 4 years ago
Julian Lam b5b188fd53 feat: allow isCluster, isPrimary, and jobsDisabled to be passed in as numbers in addition to string/bool
/cc @barisusakli
4 years ago
Barış Soner Uşaklı 07232a8cf6 fix: retry incrObjtFieldBy 4 years ago
Julian Lam d960f601a1 style: eslint 4 years ago
Julian Lam 2fe53cf849 feat: `GET /api/v3/chats/:roomId/messages` 4 years ago
Julian Lam d95b4ee29a fix: assertion check to ensure messages are in the room when editing/deleting, etc 4 years ago
Julian Lam aaa6f752d0 refactor: put message api calls behind `/messages` prefix, #10097 4 years ago
Julian Lam aeb43b9bb1 fix: rename language key for incorrect parameter type error 4 years ago
Julian Lam 16ba16cdc4 fix: deprecate chats.leave 4 years ago
Julian Lam fe17c94c35 feat: `DELETE /api/v3/chats/:roomId/users` and `DELETE /api/v3/chats/:roomId/users/:uid` 4 years ago
Julian Lam 6294beea0b fix: re-allow kicking of the other party in a 1-to-1 chat 4 years ago
Julian Lam d62ee84637 feat: `POST /chats/:roomId/users` 4 years ago
Julian Lam 6eea6451d2 feat: `GET /chats/:roomId/users` [breaking] 4 years ago
Julian Lam d5fd098ecf feat: `POST /chats/:roomId/:mid` and `DELETE /chats/:roomId/:mid` 4 years ago
Julian Lam 90fcbe4416 feat: middleware.assert.message 4 years ago
Julian Lam b292960594 feat: `GET /chats/:roomId/:mid` 4 years ago
Julian Lam f48ed3658a feat: `PUT /chats/:roomId/:mid` 4 years ago
Julian Lam 140f9d2481 fix: isFinite check for room assertion, more test migrating 4 years ago
Julian Lam e745e21242 chore: use apiv3 for room rename tests 4 years ago
Julian Lam 74f1905ea8 feat: allow API checkRequired middleware error to be internationalized 4 years ago
Julian Lam 9a4fd5dc7e feat: `PUT /api/v3/chats/:roomId` 4 years ago
Julian Lam eeffb9d978 feat: `POST /api/v3/chats/:roomId` 4 years ago
Julian Lam 09cf9c7770 feat: `GET /api/v3/chats/:roomId` 4 years ago
Julian Lam 40b4544e70 feat: `POST /api/v3/chats`, chat room creation, plus openAPI docs update 4 years ago
Julian Lam 94bead71fe feat: `GET /api/v3/chats` 4 years ago
Julian Lam 02e878be72 feat: stub code for v3 chats api 4 years ago
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
4 years ago
Barış Soner Uşaklı 42781467d2 refactor: remove knonwOwner param 4 years ago
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" }
4 years ago
Barış Soner Uşaklı e332acf3f7 fix: upgrade script to handle strings as well 4 years ago
Barış Soner Uşaklı 4e1d421722 refactor: remove unused validator 4 years ago
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
4 years ago
Barış Soner Uşaklı b8896d1328 refactor: only pass qs 4 years ago
Barış Soner Uşaklı 599bffd8e0 feat: pass in all query params to category search filter 4 years ago
Barış Soner Uşaklı c4156bdd7b feat: add data param to filter:categories.search
so plugins can do custom search for categories
4 years ago
Barış Soner Uşaklı 1e60ae8703 refactor: change error message 4 years ago
Barış Soner Uşaklı 1264dcb555 test: add email interstitial tests 4 years ago
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')
4 years ago
Barış Soner Uşaklı 6b45dee9c5 breaking: remove socket.emit('user.changeUsernameEmail')
remove socket.emit('user.changePassword')
remove socket.emit('user.updateProfile')
4 years ago
Barış Soner Uşaklı cc0a087a70 fix: prevent crash if groups is not valid json 4 years ago
Barış Soner Uşaklı 968d461692 fix: upgrade script 4 years ago
Barış Soner Uşaklı 737e1c191e fix: delete left over nav items after removal of some 4 years ago
Barış Soner Uşaklı 10e890e41f fix: targetBlank/dropdown not getting cleared
show caret if nav item is dropdown
4 years ago
Barış Soner Uşaklı 69c96078ea breaking: #10077, store nav items in objects 4 years ago
Barış Soner Uşaklı 3b0c42a591 fix: prettier bulk method usage 4 years ago
Julian Lam 42959df053 fix: bug where groupChat property was not set for chat rooms 4 years ago
Barış Soner Uşaklı f918a38164 breaking: remove socket.emit('topics.follow')
remove socket.emit('topics.changeWatching')
4 years ago
Barış Soner Uşaklı 6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
4 years ago
Barış Soner Uşaklı 49641a3217 breaking: remove socket.emit('user.banUsers');
remove socket.emit('user.unbanUsers');
4 years ago
Barış Soner Uşaklı 4604a5724c breaking: remove socket.emit('posts.reply')
remove socket.emit('posts.getPost')
4 years ago
Barış Soner Uşaklı 6d95684bc8 breaking: remove socket.emit('user.changePicture') 4 years ago
Barış Soner Uşaklı 0d694c781c breaking: remove socket.emit('user.search') 4 years ago
Barış Soner Uşaklı 99f865c618 breaking: remove socketHelpers.setDefaultPostData 4 years ago
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`
4 years ago
Julian Lam bc7707aa88 fix: #9484 show user history only to admins and gmods 4 years ago
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`
4 years ago
Julian Lam 45c9dde319 fix: no need to pass 'img' to teaser tags stripping as images are already converted to alt text 4 years ago
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')
4 years ago
Barış Soner Uşaklı ec1d5e38da breaking: remove socket.emit('posts.upvote')
socket.emit('posts.downvote')
socket.emit('posts.unvote')
4 years ago
Barış Soner Uşaklı 8427c5d9db breaking: remove socket.emit('posts.move') 4 years ago
Barış Soner Uşaklı 4247f62441 breaking: remove socket.emit('posts.edit') 4 years ago
Barış Soner Uşaklı f7418ccd47 breaking: remove socket.emit('posts.bookmark/unbookmark') 4 years ago
Barış Soner Uşaklı 5c3d5f1f40 test: make it async 4 years ago
Barış Soner Uşaklı cfd474487a refactor: async 4 years ago
Barış Soner Uşaklı f0394c4965 refactor: async 4 years ago
Barış Soner Uşaklı 8491f67daf refactor: use async 4 years ago
Barış Soner Uşaklı 07e2741ea6 breaking: remove deprecated admin.groups methods 4 years ago
Barış Soner Uşaklı a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
4 years ago
Barış Soner Uşaklı 45d8157fee fix: tests 4 years ago
Barış Soner Uşaklı 9627fa9029 refactor: always returns array 4 years ago
Barış Soner Uşaklı 830166d120 fix: #10067, count posts instead of incr/decr 4 years ago
Barış Soner Uşaklı f4aa249d8c refactor: use async/await 4 years ago
Barış Soner Uşaklı cbf198fe9b lint: remove unused 4 years ago
Barış Soner Uşaklı 45d755b6ae breaking: remove socket.emit('categories.getCategory') 4 years ago
Barış Soner Uşaklı cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 4 years ago
Barış Soner Uşaklı 0b9c01f9a0 breaking: remove deprecated socket.emit('admin.categories.update') 4 years ago
Barış Soner Uşaklı ba5d2e7b81 breaking: remove deprecated socket.emit('admin.categories.purge') 4 years ago
Barış Soner Uşaklı b335372348 breaking: remove deprecated socket.emit('admin.categories.create') 4 years ago
Barış Soner Uşaklı 10c19af2ad breaking: remove deprecated socket.emit('admin.categories.getAll') 4 years ago
Barış Soner Uşaklı a20abdce02 lint: remove unused 4 years ago
Barış Soner Uşaklı 36eb47d9a0 refactor: change var name 4 years ago
Barış Soner Uşaklı 170e5dd941 breaking: remove getTopicPosts(tid, ...) usage 4 years ago
Barış Soner Uşaklı 906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
4 years ago
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
4 years ago
Barış Soner Uşaklı a29535833f fix: #10052, dont use spaces in tag class name 4 years ago
Barış Soner Uşaklı 41db9436e8 perf: only add middleware if relativePath is set 4 years ago
Julian Lam a3bdb70617 feat: ensure that all requests handled by NodeBB fall under the relative_path as configured 4 years ago
Barış Soner Uşaklı 2bb0828af6 refactor: dont need local function 4 years ago
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>
4 years ago
Barış Soner Uşaklı 6ea3b51f12
Zincrybulk (#9975)
* feat: zincry bulk

* feat: psql bulk incr placeholder

* test: redis test fix

* test: redis test
4 years ago
Barış Soner Uşaklı d9c42c000c feat: show 10 members 4 years ago
Barış Soner Uşaklı 1cdb0b1e19 fix: don't crash if tid is falsy 4 years ago
Barış Soner Uşaklı 0414356cf7 perf: don't load all set members to get count 4 years ago
Barış Soner Uşaklı 50063fe238 fix: regression from 27c05448e1 4 years ago
Barış Soner Uşaklı 82b72f7edc lint: remove unused utils 4 years ago
Barış Soner Uşaklı 5843122178 test: add missing tests 4 years ago
Barış Soner Uşaklı 8117b7f22f breaking: remove deprecated post diff socket calls 4 years ago
Barış Soner Uşaklı 324262cbb5 refactor: DRY 4 years ago
Barış Soner Uşaklı 1a7fffc7e9 breaking: remove deprecated user middlewares 4 years ago
Barış Soner Uşaklı 941ecaf899 fix: keep query params on /me redirects 4 years ago
Barış Soner Uşaklı 65c5504193 fix: 403/400/500 page not generating csrf_token 4 years ago
Barış Soner Uşaklı 3dd681ebce fix: error pages dont have config.csrf_token 4 years ago
Barış Soner Uşaklı 7434cbf66f test: add api token tests 4 years ago
Barış Soner Uşaklı 1e53552874 feat: closes #10018 4 years ago
Baris Usakli 06bfec8840 feat: #10018 add href 4 years ago
Baris Usakli 0f14f23b2a feat: #10018 , wip 4 years ago
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>
4 years ago
Barış Soner Uşaklı daf385cd42 refactor: use hasOwnProprety 4 years ago
Barış Soner Uşaklı 404a877408 test: add missing tests 4 years ago
Barış Soner Uşaklı 6dcdf1d342 breaking: remove setTopicSort/setCategorySort 4 years ago
Barış Soner Uşaklı 7aa85882d5 chore: right dropdown 4 years ago
Barış Soner Uşaklı a998cc1c47 chore: right dropdown 4 years ago
Barış Soner Uşaklı a7d1dfb65c breaking: remove deprecated socket user create/delete functions
add missing tests
4 years ago
Barış Soner Uşaklı a0e2704da1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı c93d7fdbdd breaking: remove deprecated uploads.delete 4 years ago