1948 Commits (c25342876b209242196ef7270d49bf661f8c543b)

Author SHA1 Message Date
Julian Lam d05705183f refactor: move export generation logic to v3 controller, GET/HEAD routes for exports
re: #10384
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
Opliko 23cb67a112 feat: Allow defining active plugins in config (#10767)
* Revert "Revert "feat: cross origin opener policy options (#10710)""

This reverts commit 46050ace1a.

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

This reverts commit 9f291c07d3.

* feat: closes #10719, 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 julianlam/nodebb-plugin-support-forum#14

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

* feat: Allow defining active plugins in config

resolves #10766

* 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>
3 years ago
Julian Lam ece733eddc feat: pass absolute url to post into post tools response, #10566 3 years ago
Barış Soner Uşaklı f07b4484cf feat: add post to hook params 3 years ago
Barış Soner Uşaklı b9f9164308 fix: #10502, allow unblocking admin/mod
if they were blocked before becoming admin/mod it wasn't possible to unblock them
3 years ago
chadjw fe072d6091
Allows socket authentication to be handled within plugins (#10428) 3 years ago
Barış Soner Uşaklı 29b86b3276 refactor: :trollface: 3 years ago
Barış Soner Uşaklı 421ba6e1a2 feat: new admin events, closes #10405 3 years ago
Barış Soner Uşaklı 3acd2ac850 refactor: wrap around if at end
remove debug log
dont focus input on mobile
3 years ago
Barış Soner Uşaklı b517b376ac feat: ability to go through your posts in a topic
because I am 👴 useful for large topics
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
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ı 6a75ed50fa fix: #10172, fix postqueue accept/reject notification text 3 years ago
Julian Lam d960f601a1 style: eslint 3 years ago
Julian Lam 2fe53cf849 feat: `GET /api/v3/chats/:roomId/messages` 3 years ago
Julian Lam 16ba16cdc4 fix: deprecate chats.leave 3 years ago
Julian Lam fe17c94c35 feat: `DELETE /api/v3/chats/:roomId/users` and `DELETE /api/v3/chats/:roomId/users/:uid` 3 years ago
Julian Lam d62ee84637 feat: `POST /chats/:roomId/users` 3 years ago
Julian Lam 6eea6451d2 feat: `GET /chats/:roomId/users` [breaking] 3 years ago
Julian Lam d5fd098ecf feat: `POST /chats/:roomId/:mid` and `DELETE /chats/:roomId/:mid` 3 years ago
Julian Lam f48ed3658a feat: `PUT /chats/:roomId/:mid` 3 years ago
Julian Lam 9a4fd5dc7e feat: `PUT /api/v3/chats/:roomId` 3 years ago
Julian Lam eeffb9d978 feat: `POST /api/v3/chats/:roomId` 3 years ago
Julian Lam 09cf9c7770 feat: `GET /api/v3/chats/:roomId` 3 years ago
Julian Lam 40b4544e70 feat: `POST /api/v3/chats`, chat room creation, plus openAPI docs update 3 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
3 years ago
Barış Soner Uşaklı b8896d1328 refactor: only pass qs 3 years ago
Barış Soner Uşaklı 599bffd8e0 feat: pass in all query params to category search filter 3 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')
3 years ago
Barış Soner Uşaklı 6b45dee9c5 breaking: remove socket.emit('user.changeUsernameEmail')
remove socket.emit('user.changePassword')
remove socket.emit('user.updateProfile')
3 years ago
Barış Soner Uşaklı f918a38164 breaking: remove socket.emit('topics.follow')
remove socket.emit('topics.changeWatching')
3 years ago
Barış Soner Uşaklı 6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
3 years ago
Barış Soner Uşaklı 49641a3217 breaking: remove socket.emit('user.banUsers');
remove socket.emit('user.unbanUsers');
3 years ago
Barış Soner Uşaklı 4604a5724c breaking: remove socket.emit('posts.reply')
remove socket.emit('posts.getPost')
3 years ago
Barış Soner Uşaklı 6d95684bc8 breaking: remove socket.emit('user.changePicture') 3 years ago
Barış Soner Uşaklı 0d694c781c breaking: remove socket.emit('user.search') 3 years ago
Barış Soner Uşaklı 99f865c618 breaking: remove socketHelpers.setDefaultPostData 3 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`
3 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`
3 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')
3 years ago
Barış Soner Uşaklı ec1d5e38da breaking: remove socket.emit('posts.upvote')
socket.emit('posts.downvote')
socket.emit('posts.unvote')
3 years ago
Barış Soner Uşaklı 8427c5d9db breaking: remove socket.emit('posts.move') 3 years ago
Barış Soner Uşaklı 4247f62441 breaking: remove socket.emit('posts.edit') 3 years ago
Barış Soner Uşaklı f7418ccd47 breaking: remove socket.emit('posts.bookmark/unbookmark') 3 years ago
Barış Soner Uşaklı 5c3d5f1f40 test: make it async 3 years ago
Barış Soner Uşaklı cfd474487a refactor: async 3 years ago
Barış Soner Uşaklı f0394c4965 refactor: async 3 years ago
Barış Soner Uşaklı 8491f67daf refactor: use async 3 years ago
Barış Soner Uşaklı 07e2741ea6 breaking: remove deprecated admin.groups methods 3 years ago
Barış Soner Uşaklı f4aa249d8c refactor: use async/await 3 years ago
Barış Soner Uşaklı 45d755b6ae breaking: remove socket.emit('categories.getCategory') 3 years ago
Barış Soner Uşaklı cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 3 years ago
Barış Soner Uşaklı 0b9c01f9a0 breaking: remove deprecated socket.emit('admin.categories.update') 3 years ago
Barış Soner Uşaklı ba5d2e7b81 breaking: remove deprecated socket.emit('admin.categories.purge') 3 years ago
Barış Soner Uşaklı b335372348 breaking: remove deprecated socket.emit('admin.categories.create') 3 years ago
Barış Soner Uşaklı 10c19af2ad breaking: remove deprecated socket.emit('admin.categories.getAll') 3 years ago
Barış Soner Uşaklı 906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
3 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
3 years ago
Barış Soner Uşaklı 8117b7f22f breaking: remove deprecated post diff socket calls 3 years ago
Barış Soner Uşaklı 6dcdf1d342 breaking: remove setTopicSort/setCategorySort 3 years ago
Barış Soner Uşaklı a7d1dfb65c breaking: remove deprecated socket user create/delete functions
add missing tests
3 years ago
Barış Soner Uşaklı c93d7fdbdd breaking: remove deprecated uploads.delete 3 years ago
Barış Soner Uşaklı 79de48c57f breaking: remove deprecated methods 3 years ago
Barış Soner Uşaklı c5f08fdc81 breaking: remove socket.io/flags.js
refactor: helpers.loginUser returns a single object {jar, csrf_token}
3 years ago
Barış Soner Uşaklı fb363957d1 refactor: tab rules 4 years ago
Barış Soner Uşaklı 047f031dd7 fix: #10006, dont allow new rooms or adding to a room if target is blocked 4 years ago
Barış Soner Uşaklı 258f368e32 refactor: add filter:topic.getPosts
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
4 years ago
Barış Soner Uşaklı 8750ee04a6 refactor: make a single call to set widgets per template 4 years ago
Barış Soner Uşaklı 80f9963bed refactor: remove jshint, remove async.parallel 4 years ago
Barış Soner Uşaklı 61d1f56500 test: socket.emit doesnt exist in tests 4 years ago
Barış Soner Uşaklı 8c67031609 feat: show posts previews if enabled on mouse over 4 years ago
Julian Lam 0ee85d5a0b fix: #9950, rename account export routes to remove `uid/` prefix 4 years ago
Barış Soner Uşaklı 64192731a0 refactor: use search api for topic search 4 years ago
Barış Soner Uşaklı 1783f918bc fix: guard against prototype pollution 4 years ago
Barış Soner Uşaklı e62948f73d fix: there is no alltime digest, fixes translation in test email
there is no digest.title.alltime
4 years ago
Barış Soner Uşaklı b91ae0880d feat: add method name to deprecation message 4 years ago
gasoved b0a24d6dd5
refactor: var to const and let (#9885)
* refactor: var to const and let

* fix: missed global bootbox usage

* refactor: align with eslint expectations
4 years ago
Baris Usakli 997fb2b348 refactor: remove unused code 4 years ago
Barış Soner Uşaklı 5aea6c6aa1 feat: #9855, allow uid for post queue notifications 4 years ago
Barış Soner Uşaklı 4404e81991
fix: switch inf. scroll to xhr (#9854)
this fixes infinitescroll when url has custom query parameters
also fixes infinitescroll for plugins like QnA
fixes infinitescroll on tags page
deprecate topics.loadMoreSortedTopics
deprecate topics.loadMoreFromSet
4 years ago
Barış Soner Uşaklı f8d4ec6ca6 fix: psql test 4 years ago
Barış Soner Uşaklı 89af00d1d5 fix: #9827, fix reward duplication 4 years ago
Barış Soner Uşaklı 2657804c1f fix: #9790, fix sorting of more than one page of pinned topics 4 years ago
Barış Soner Uşaklı 71ed50b9c1 fix: #9800, don't send all welcome test emails to test@example.org @julianlam 4 years ago
Julian Lam cdaea61136 fix: handle missing uid in deprecated socket call 4 years ago
Julian Lam 0a41741b7e refactor: deprecate picture update socket call, new API routes for picture update 4 years ago
Julian Lam e33e046f15 fix: use privileges.users.canEdit for image upload priv check 4 years ago
gasoved 61f02f17d8
feat: column based view on wide priv. tables (#9699)
* feat: column based view on wide priv. tables

* fix: add group/user

* feat: copy buttons to work on visible privs

* feat: show what's being copied in modal

* feat: optional title and message for category selector modal
4 years ago
Barış Soner Uşaklı e59d357533
feat: als (#9749)
* feat: als

* fix: up test timeout

* fix: don't overwrite caller if it already exists

* fix: up test timeout for psql
4 years ago
Barış Soner Uşaklı 0c81642997 fix: #9681, update posts in queue if target tid is merged 4 years ago
Julian Lam 3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 4 years ago
Julian Lam 69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 4 years ago
Julian Lam 12b2a979a0 feat: removal of emailExists socket listener 4 years ago
Julian Lam ef4e74bfc8 refactor: client-side to use flag notes API 4 years ago
Julian Lam cc6cbfcdc4
Flags API (#9666)
* feat: new routes for flags API

+ flag get
+ flag creation, migration from socket method
+ flag update, migration from socket method
* fixed bug where you could not unassign someone from a flag

* feat: tests for new flags API

added missing files for schema update

* fix: flag tests to use Write API instead of sockets

* feat: flag notes API + tests

* chore: remove debug line

* test: fix breaking test on mongo
4 years ago
Barış Soner Uşaklı 4a56388ec3
feat: store topic tags in topic hash (#9656)
* feat: store topic tags in topic hash

breaking: remove color info from tags (use css)

* fix: remove unused tag modal

* fix: tag search
4 years ago
Julian Lam e03782f218 fix(docs): #9648 4 years ago