Barış Soner Uşaklı
2473d5d873
fix : #10027 , properly auto confirm first user
4 years ago
Barış Soner Uşaklı
fb363957d1
refactor: tab rules
4 years ago
Julian Lam
09e0c6d503
feat: add feature flag to disable verification emails, closes #9996
4 years ago
Julian Lam
c1ac291284
fix: ability to enumerate email via updateProfile method
4 years ago
Julian Lam
b912a564e3
fix: accidentally not clearing email when said email is confirmed for a different uid
4 years ago
Julian Lam
6b4f35c2fa
feat: new plugin hook to allow plugins to reject email address on new registration or email change
4 years ago
Barış Soner Uşaklı
90b81262fa
refactor: remove unused var
4 years ago
Barış Soner Uşaklı
9cb4de50a2
fix: biweekly digest #8053
4 years ago
Barış Soner Uşaklı
8e319a9b25
refactor: catch errors from digest
4 years ago
Barış Soner Uşaklı
f7967bdf68
feat: #8053 , biweekly digest option
4 years ago
Barış Soner Uşaklı
a9bc6a0962
refactor: allow array of uids for blocks.is/list
...
remove async.filter
use cacheCreate
4 years ago
Barış Soner Uşaklı
f24b630e1a
feat: add userData to static:user.delete
4 years ago
Julian Lam
58e0a366c8
fix : #9834 , missing null email check on new registrations, added tests
4 years ago
Barış Soner Uşaklı
c4fc7bf9b5
fix : #9818 , fix totalTime calculation
4 years ago
Barış Soner Uşaklı
05ddd60c5e
dont check empty emails in queue
4 years ago
Barış Soner Uşaklı
7f48edc02a
feat: add uid to filter:user.saveSettings
4 years ago
Julian Lam
006fc700dd
feat: add ACP option to require email address on new registration
4 years ago
Julian Lam
0e05cbe1f7
feat: show instructional modal after email change request
4 years ago
Julian Lam
e95df2f066
refactor: move interstitials into its own file in `src/user/`
4 years ago
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
4 years ago
Julian Lam
b0a4a1d3e4
feat: allow revokeAllSessions method to revoke all sessions except that which is passed in (new arg)
4 years ago
Julian Lam
ccf004f1f4
refactor: added user.email.remove method, updated email interstitial to handle email removal
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
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
c4e3362bd3
feat(emails): restore ability for admins to edit a user's email address [breaking]
...
The edited user's email will be automatically confirmed
4 years ago
Julian Lam
e726048e0c
fix(emails): don't automatically associate email during user creation if passed in at registration
4 years ago
Julian Lam
087e6020e4
refactor(email): validation checking methods, +tests fix
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
f365bc4600
refactor(emails): interstitial for adding/updating email
4 years ago
gasoved
97c8569a79
fix: hide private user data in api/v3/users/[uid]
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
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
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ı
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ı
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
Barış Soner Uşaklı
4afca6900b
feat: add filter:user.getWatchedCategories
4 years ago
Barış Soner Uşaklı
285aa36556
feat: allow exists methods to work with arrays and single id
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ı
3aa26c4df2
fix : #9339 , only log email errors once per digest, notification push
...
show notice in acp
4 years ago
Julian Lam
bfd512b99b
feat: expose username validation logic to user lib, new hook `filter:username.check`
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
Barış Soner Uşaklı
02f08111cf
feat: keep notifs for one month, load 50 notifications instead of 30
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
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
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
Julian Lam
cc275e1016
Revert "feat: newsletter opt-in/out in UCP, closes #21"
...
This reverts commit 3c7cd9a6c4
.
4 years ago
Julian Lam
3c7cd9a6c4
feat: newsletter opt-in/out in UCP, closes #21
4 years ago
Barış Soner Uşaklı
c61cc37bba
fix: typo
4 years ago
Barış Soner Uşaklı
cf4002bcc9
perf: cache base_url
4 years ago
Barış Soner Uşaklı
5ce2820799
perf: single call to get digest topics, dont send duplicate topics
4 years ago
Barış Soner Uşaklı
90d5c9da44
perf: single db call to add all uids
4 years ago
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
4 years ago
Peter Jaszkowiak
cc9d6fd08b
chore: eslint max-len
4 years ago
Peter Jaszkowiak
5c2f0f0557
chore: eslint no-restricted-syntax
4 years ago
Peter Jaszkowiak
115d19e289
chore: eslint prefer-rest-params, prefer-spread
4 years ago
Peter Jaszkowiak
23f212a4c0
chore: eslint prefer-destructuring
4 years ago
Peter Jaszkowiak
62869bae3d
chore: eslint function-paren-newline
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
Peter Jaszkowiak
4ee0f1459d
chore: eslint import/newline-after-import
4 years ago
Barış Soner Uşaklı
47299ea587
Categories refactor ( #9257 )
...
* feat: wip categories pagination
* feat: add subCategoriesPerPage setting
* feat: add load more sub categories button to category page
* fix: openapi spec
* feat: show sub categories left on category page
hide button when no more categories left
* breaking: rename categories to allCategories on /search
categories contains the search results
* fix: spec
* refactor: remove cidsPerPage
* fix: tests
* feat: use component for subcategories
* fix: prevent negative subCategoriesLeft
* feat: new category filter/search WIP
* feat: remove categories from /tag
* fix: dont load all categories when showing move modal
* feat: allow adding custom categories to list
* breaking: dont load entire category tree on post queue
removed unused code
add hooks to filter/selector
add options to filter/selector
* feat: make selector modal work again
* feat: replace old search module
* fix: topic move selector
* feat: dont load all categories on create category modal
* fix: fix more categorySelectors
* feat: dont load entire category tree on group details page
* feat: dont load all categories on home page and user settings page
* feat: add pagination to /user/:userslug/categories
* fix: update schemas
* fix: more tests
* fix: test
* feat: flags page, dont return entire category tree
* fix: flag test
* feat: categories manage page
dont load all categories
allow changing root category
clear caches properly
* fix: spec
* feat: admins&mods page
dont load all categories
* fix: spec
* fix: dont load all children when opening dropdown
* fix: on search results dont return all children
* refactor: pass all options, rename options.cids to options.selectedCids
* fix : #9266
* fix: index 0
* fix: spec
* feat: #9265 , add setObjectBulk
* refactor: shoter updateOrder
* feat: selectors on categories/category
* fix: tests and search filter
* fix: category update test
* feat: pagination on acp categories page
show order in set order modal
* fix: allow drag&drop on pages > 1 in /admin/manage/categories
* fix: teasers for deep nested categories
fix sub category display on /category page
* fix: spec
* refactor: use eslint-disable-next-line
* refactor: shorter
4 years ago
gasoved
970bd06fd2
refactor: improvements
4 years ago
gasoved
53e0d4d2e0
feat: banned-users group
4 years ago
Barış Soner Uşaklı
f6cd2862bd
feat: #9232 , add profile picture into exported zip
4 years ago
Julian Lam
fb84c78544
chore: remove deprecated `User.emailConfirm` [breaking]
...
Use `User.email.confirmByCode` instead.
4 years ago
Julian Lam
b2b1450e5d
fix : #9217 , render 400 error page on bad access to /register
4 years ago
gasoved
69419571a9
fix: make sure inviter user exists
4 years ago
Barış Soner Uşaklı
eaf62d39fd
fix : #9177 , handled multiple deleted users properly
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
5 years ago
Barış Soner Uşaklı
80de572aa1
feat: add user.email.confirmByUid for sso plugins
5 years ago
Barış Soner Uşaklı
1f32d38778
fix: default values, clamp postsPerPage/topicsPerPage to max
5 years ago
Barış Soner Uşaklı
86b7f8a5d4
fix : #8962 , dont show null for purged targets
5 years ago
Barış Soner Uşaklı
5f0f476b57
feat: #9005 , use timestamp in profile/cover images
...
delete current one if keepAllUserImages is turned off
fix typo in data
5 years ago
psychobunny
4317cdea34
fix : #9002 ban templates not user friendly
5 years ago
Barış Soner Uşaklı
d46740f860
fix : #9007 revoke old sessions after adding
5 years ago
Barış Soner Uşaklı
a4fe4d3cf5
fix: allow guests to see their replies immediately
5 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
5 years ago
Barış Soner Uşaklı
7f5efc3e93
fix : #8992 , set email:confirmed for first admin user
5 years ago
Barış Soner Uşaklı
6e6a7a8f8a
fix : #8969 , export csv to file
5 years ago
Barış Soner Uşaklı
dadb2527da
fix : #8974 , with password login for approval queue
5 years ago
Julian Lam
21d6225ce0
fix: 'already-deleting' error on subsequent account content deletions
5 years ago
Barış Soner Uşaklı
4f37eddc5e
feat: clear reset tokens on user delete
5 years ago
Barış Soner Uşaklı
0ca40af834
fix : #8939 , fix username change notification getting filtered out
5 years ago
Julian Lam
6e2da9966e
refactor: move plugin hook methods to plugin.hooks.*
5 years ago
Julian Lam
046d0b1637
feat: allow pins to expire (if set) ( #8908 )
...
* fix: add back topic assert middleware for pin route
* feat: server-side handling of pin expiries
* refactor: togglePin to not require uid parameter [breaking]
* feat: automatic unpinning if pin has expiration set
* feat: client-side modal for setting pin expiration
* refactor: categories.getPinnedTids to accept multiple cids
... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged
* fix: remove references to since-removed jobs file for topics
* feat: expire pins when getPinnedTids is called
* refactor: make the togglePin change non-breaking
The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
5 years ago
Barış Soner Uşaklı
1be08b2e8b
fix: guest displayname
5 years ago
Barış Soner Uşaklı
dbd814c25f
fix: spec, only call modifyUser on unique user objects
5 years ago
Barış Soner Uşaklı
ae5d4405c0
fix: setting
5 years ago
Barış Soner Uşaklı
9ca44e6f54
feat: add displayname into user obj #8637 ( #8909 )
...
* feat: add displayname into user obj #8637
* fix: spec
* perf: dont load settings if acp setting is turned off
5 years ago
Julian Lam
a0b7a82350
feat(api): account deletion routes for the Write API ( #8881 )
...
* feat(api): account deletion routes for the Write API
* refactor: rewrite client-side calls to account deletion to use api
* style: apply DRY
5 years ago