Commit Graph

998 Commits

Author SHA1 Message Date
Julian Lam
0e05cbe1f7 feat: show instructional modal after email change request 2021-07-30 13:29:13 -04:00
Julian Lam
e95df2f066 refactor: move interstitials into its own file in src/user/ 2021-07-30 13:29:13 -04:00
Julian Lam
96398faa3c feat: plumb current session id into email removal/confirmation flow, so all other sessions are revoked except for the current session
This utilises the new argument in user.auth.revokeAllSessions
2021-07-30 13:29:13 -04:00
Julian Lam
b0a4a1d3e4 feat: allow revokeAllSessions method to revoke all sessions except that which is passed in (new arg) 2021-07-30 13:29:13 -04:00
Julian Lam
ccf004f1f4 refactor: added user.email.remove method, updated email interstitial to handle email removal 2021-07-30 13:29:13 -04:00
Julian Lam
3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 2021-07-30 13:29:13 -04:00
Julian Lam
caf8968791 fix: accidental early return in confirmByCode, tests, race condition
A race condition caused mongo/psql tests to fail.
2021-07-30 13:29:13 -04:00
gasoved
a917210c5b feat: invites no longer require email 2021-07-30 13:29:13 -04:00
Julian Lam
81611ae1c4 fix(emails): broken test for api/user/email/:email
+ fixed broken tests due to unexpected behaviour for email confirmation
2021-07-30 13:29:13 -04:00
Julian Lam
c4e3362bd3 feat(emails): restore ability for admins to edit a user's email address [breaking]
The edited user's email will be automatically confirmed
2021-07-30 13:29:13 -04:00
Julian Lam
e726048e0c fix(emails): don't automatically associate email during user creation if passed in at registration 2021-07-30 13:29:13 -04:00
Julian Lam
087e6020e4 refactor(email): validation checking methods, +tests fix 2021-07-30 13:29:13 -04:00
Julian Lam
69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 2021-07-30 13:29:13 -04:00
Julian Lam
f365bc4600 refactor(emails): interstitial for adding/updating email 2021-07-30 13:29:13 -04:00
gasoved
97c8569a79 fix: hide private user data in api/v3/users/[uid] 2021-06-30 17:02:38 -04:00
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
2021-06-22 12:21:52 -04:00
gasoved
8168c6c407 fix: purge uploaded images accordingly #9606 (#9611)
* fix: purge uploaded images accordingly

* fix: tests

* fix: relative paths
2021-06-18 09:21:23 -04:00
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) 2021-06-11 15:43:03 -04:00
Julian Lam
229f96f872 fix: #9605, expire all active reset tokens for a uid if that uid generates a new one 2021-06-11 14:39:00 -04:00
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
2021-06-08 11:50:52 -04:00
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>
2021-06-07 10:26:00 -04:00
Barış Soner Uşaklı
4afca6900b feat: add filter:user.getWatchedCategories 2021-05-17 12:12:16 -04:00
Barış Soner Uşaklı
285aa36556 feat: allow exists methods to work with arrays and single id 2021-03-31 13:20:35 -04:00
gasoved
077330b764 feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
2021-03-24 14:28:02 -04:00
Barış Soner Uşaklı
3aa26c4df2 fix: #9339, only log email errors once per digest, notification push
show notice in acp
2021-03-05 19:03:16 -05:00
Julian Lam
bfd512b99b feat: expose username validation logic to user lib, new hook filter:username.check 2021-03-05 11:20:19 -05:00
Barış Soner Uşaklı
0af9d26fe5 feat: change uploadCroppedPicture to use updateProfile as well 2021-03-03 17:14:55 -05:00
Barış Soner Uşaklı
a598abcd8e feat: use updateProfile for picture change
so it triggers action:user:updateProfile
2021-03-03 17:11:13 -05:00
Barış Soner Uşaklı
02f08111cf feat: keep notifs for one month, load 50 notifications instead of 30 2021-02-26 22:22:12 -05:00
Julian Lam
f561799f74 refactor: abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins 2021-02-24 12:51:20 -05:00
Julian Lam
079a13d41a feat: new hooks for notifications get/getCount 2021-02-24 12:45:49 -05:00
Julian Lam
dbe5f7027b fix: wrong call to sortedSetAdd 2021-02-22 13:31:54 -05:00
Julian Lam
16d3c45782 feat: report login statistics from analytics data, instead of its own zset 2021-02-22 13:23:25 -05:00
Julian Lam
9a9f366d3b feat: track login sessions for admin dashboard reporting 2021-02-22 11:38:26 -05:00
Julian Lam
d3a9e76ae2 test(user): added additional tests for icon background colour 2021-02-19 11:38:48 -05:00
Julian Lam
955021247e feat(user): icon background selector in change picture modal 2021-02-19 11:38:48 -05:00
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.
2021-02-19 11:38:48 -05:00
Julian Lam
cc275e1016 Revert "feat: newsletter opt-in/out in UCP, closes #21"
This reverts commit 3c7cd9a6c4.
2021-02-12 10:12:38 -05:00
Julian Lam
3c7cd9a6c4 feat: newsletter opt-in/out in UCP, closes #21 2021-02-12 10:11:08 -05:00
Barış Soner Uşaklı
c61cc37bba fix: typo 2021-02-10 17:56:46 -05:00
Barış Soner Uşaklı
cf4002bcc9 perf: cache base_url 2021-02-10 17:41:39 -05:00
Barış Soner Uşaklı
5ce2820799 perf: single call to get digest topics, dont send duplicate topics 2021-02-10 17:37:22 -05:00
Barış Soner Uşaklı
90d5c9da44 perf: single db call to add all uids 2021-02-10 00:58:07 -05:00
Barış Soner Uşaklı
0185ea1b4f perf: make digests a little bit faster
and use batch.processArray
dont load data for users who have no email or have not confirmed their emails
2021-02-09 15:27:08 -05:00
Peter Jaszkowiak
cc9d6fd08b chore: eslint max-len 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
5c2f0f0557 chore: eslint no-restricted-syntax 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
115d19e289 chore: eslint prefer-rest-params, prefer-spread 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
23f212a4c0 chore: eslint prefer-destructuring 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
62869bae3d chore: eslint function-paren-newline 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00