206 Commits (f2ca93f6c6317b3ecc26226eb1c8f7d871d5bb3b)

Author SHA1 Message Date
Barış Soner Uşaklı 1ea9481af6 fix: lock post/reply similar to user.create 2 years ago
Barış Soner Uşaklı abcfb63126 fix: #11044, allow banned users to post
if given privileges
2 years ago
Julian Lam 2f9d8c350e fix: pass csrf_token into calls to /register/abort, #11017 2 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
2 years ago
gasoved b424ba4637 test: User.hidePrivateData 2 years ago
Julian Lam 06f089afda test: fix user email tests 3 years ago
Julian Lam f93a0b83bb test: fix tests so that when user.create is called, email is set prior to confirmation 3 years ago
Julian Lam aa8914a153 feat: v3 user email tests 3 years ago
Julian Lam d1b1f50bb2 test: stricter isValidationPending check 3 years ago
Julian Lam e747998cba test: fix user tests calling deprecated socket methods 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ı 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ı a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
3 years ago
Barış Soner Uşaklı 830166d120 fix: #10067, count posts instead of incr/decr 3 years ago
Barış Soner Uşaklı 6dcdf1d342 breaking: remove setTopicSort/setCategorySort 3 years ago
Barış Soner Uşaklı f11bc33ac5 test: digest 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 3 years ago
Julian Lam b912a564e3 fix: accidentally not clearing email when said email is confirmed for a different uid 3 years ago
Julian Lam 8cbad61e8a test: added test for external image via new change picture API 3 years ago
Julian Lam caf8968791 fix: accidental early return in confirmByCode, tests, race condition
A race condition caused mongo/psql tests to fail.
4 years ago
gasoved a917210c5b feat: invites no longer require email 4 years ago
Julian Lam 81611ae1c4 fix(emails): broken test for api/user/email/:email
+ fixed broken tests due to unexpected behaviour for email confirmation
4 years ago
Julian Lam 087e6020e4 refactor(email): validation checking methods, +tests fix 4 years ago
Julian Lam a3a3b10fb3 test(emails): fixing broken tests introduced by e5ff68acd 4 years ago
Julian Lam 12b2a979a0 feat: removal of emailExists socket listener 4 years ago
Julian Lam 0960a81468 fix: tests 4 years ago
gasoved 97c8569a79 fix: hide private user data in api/v3/users/[uid] 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 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
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ı 8ef38cb252 test: add missing test 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 d3a9e76ae2 test(user): added additional tests for icon background colour 4 years ago
Peter Jaszkowiak dab3b23575 chore: eslint no-var, vars-on-top 4 years ago
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback 4 years ago
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template 4 years ago
gasoved 53e0d4d2e0 feat: banned-users group 4 years ago
Barış Soner Uşaklı 647d3ba810 fix: removed methods 4 years ago
Julian Lam f2a5cd0b67 fix: tests for #9217 4 years ago
Peter Jaszkowiak 2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
4 years ago
Barış Soner Uşaklı 80de572aa1 feat: add user.email.confirmByUid for sso plugins 4 years ago
Barış Soner Uşaklı 557f0f5631 feat: use correct code 4 years ago
Barış Soner Uşaklı f25000cb60 fix: pwd reset test 4 years ago
Barış Soner Uşaklı 5080f35752 fix: #8991, logout on password reset, dont verify email if password expired
dont allow same password on reset
4 years ago
Barış Soner Uşaklı e32cd31ec6 fix: #8918 4 years ago
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance (#8786)
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

* refactor: use GET /api/v3/users/:uid/invites/groups

Instead of GET /api/v3/users/:uid/inviteGroups

* fix: no need for /api/v3 prefix when using api module

* fix: tests

* refactor: change POST /api/v3/users/invite

To POST /api/v3/users/:uid/invites

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

* fix: move invite groups controller to write api, +tests

* fix: tests

Co-authored-by: Julian Lam <[email protected]>
4 years ago