Thomas
20c30f6b94
Use AsyncLocalStorage to cache userFullEmails on the request, avoiding duplicated calls to the affiliations endpoint ( #27542 )
...
* Use AsyncLocalStorage to cache userFullEmails
* Rename temporary fakeUser override to avoid conflicts
GitOrigin-RevId: 3a74816f677c1357293b0d46f245b4cfc499f2fa
2025-08-05 08:06:04 +00:00
Antoine Clausse
c9c26f7f52
Remove endpoint /user/emails/send-reconfirmation ( #27423 )
...
GitOrigin-RevId: bd96d749175248cba83eb07c00dab7e7a9f819da
2025-07-30 08:06:38 +00:00
Antoine Clausse
924aa6db23
[web] Remove the unused endpoint /user/emails/resend_confirmation ( #27416 )
...
* Remove the unused endpoint `/user/emails/resend_confirmation`
* Remove exported middleware `resendConfirmationEmail`
* Revert "Remove exported middleware `resendConfirmationEmail`"
This reverts commit 7989bf25465dbc9b68c9d1af0d64d1097a747b55.
GitOrigin-RevId: 8054c6f217a734881093f78599a7b2be29436793
2025-07-30 08:06:33 +00:00
Antoine Clausse
f8e643570c
[web] Remove the endpoint /user/emails (POST) ( #27418 )
...
* Remove `/user/emails` (post)
* Update test
GitOrigin-RevId: 3979820935209ca36fdd8fabc016ad55d4858cef
2025-07-30 08:06:29 +00:00
Antoine Clausse
f19b603b33
[web] In tests, update email confirmation to use the 6-digits flow ( #27069 )
...
* Rename `sendExistingSecondaryEmailConfirmationCode` to `sendExistingEmailConfirmationCode`
* Deduplicate error handling into `throwIfErrorResponse`
* Update `userHelper.confirmEmail` to use the 6-digits flow
GitOrigin-RevId: 91bdf7b185407b58520ca6b2aa1a7c71bdd23bc8
2025-07-18 08:06:18 +00:00
Rebeka Dekany
e29662c951
Tear down bs5-auth-pages feature flag ( #27035 )
...
* Remove auth-pages-bs5 test assignment setPassword
* Remove auth-pages-bs5 test assignment passwordReset
* Remove auth-pages-bs5 test assignment primaryEmailCheck
* Remove auth-pages-bs5 test assignment reconfirm
* Remove - bootstrap5PageStatus = 'enabled'
* Remove primary-email-check.less
* Fix spacing
* Remove unused translations
* Removed unused SplitTestHandler
* Update password_reset_sentence_case to password_reset
GitOrigin-RevId: d5a5c9a1576f325186aa103c4b7ad8fb819b790a
2025-07-14 08:05:56 +00:00
Andrew Rumble
967e55b5fb
Make sure req.capabilitySet is defined
...
GitOrigin-RevId: 408dcb3463884d1bbdc56f409121728d1275f501
2025-06-25 08:07:12 +00:00
Andrew Rumble
55a02b2073
Use a context function to replicate the behaviour of done
...
This is slightly different than done because done would resolve but I
think it is safer for the purpose done was being used in these changes.
GitOrigin-RevId: e60a912b82a8e544444a2776ea6aab7d2ea83bdb
2025-06-25 08:07:08 +00:00
Andrew Rumble
0a979e9bff
Remove resolve when passed as next
...
GitOrigin-RevId: 071ce6a4cab210f2db0d278aeb08d31fbba4cbfc
2025-06-25 08:07:03 +00:00
Andrew Rumble
23f76f9745
Convert return new Promise to await new Promise
...
GitOrigin-RevId: 49404748cc90cb7bdef0460f7e9837196f81cae8
2025-06-25 08:06:59 +00:00
Andrew Rumble
0f268d6bdc
Change imports that use chai to use vitest
...
GitOrigin-RevId: 59d780f754adbb5160a2de8e5eca1def6968584b
2025-06-10 08:05:18 +00:00
Jakob Ackermann
0fc42037f0
[web] fetch token users in a single db query per access mode ( #26078 )
...
* [web] skip db query when getting empty list of users
* [web] fetch token users in a single db query per access mode
GitOrigin-RevId: fa5d9edcb761bd5d5e5ea07d137a5a86efdbdd5c
2025-06-06 08:05:42 +00:00
M Fahru
1d467ae218
Merge pull request #25967 from overleaf/mf-sync-email-update-to-stripe-account
...
[web] Sync Stripe customer email when user update their primary email in account setting
GitOrigin-RevId: a5f4b4e960d2c9d4ba96a2b3036329f4868e1bb8
2025-06-04 08:07:23 +00:00
Andrew Rumble
20619a740a
Update test files with vitest compat changes
...
GitOrigin-RevId: 494f906089d250268a5ff8c8a2150ff2692c37e2
2025-05-29 08:05:06 +00:00
Andrew Rumble
4cced4dcb8
Rename test files for vitest
...
GitOrigin-RevId: f8792c0ce5eeb4843a534d3ff83e011d25fb65e0
2025-05-29 08:05:00 +00:00
Miguel Serrano
82a37113d4
Merge pull request #25886 from overleaf/msm-add-skip-email-to-delete-user
...
[CE] Add `--skip-email` to `delete-user` script
GitOrigin-RevId: d0f5ced26930060df1e9f40dee97839076743bbd
2025-05-23 11:08:31 +00:00
Jimmy Domagala-Tang
9aa325ff2d
Merge pull request #25151 from overleaf/dk-use-user-features
...
UserFeaturesContext with cross-tab syncing via BroadcastChannel
GitOrigin-RevId: 4262719f5018f5717211851ce28b3255af65461a
2025-05-13 08:07:57 +00:00
Andrew Rumble
34ae228d99
Promisify tests
...
GitOrigin-RevId: 6f413f4c5ef8d034b4e94afacdf2d7b43c3a8830
2025-04-29 08:05:18 +00:00
David
062b2d57f8
Merge pull request #24137 from overleaf/mj-ide-permissions-utils
...
[web] Add switcher for editor redesign
GitOrigin-RevId: 806a1f567027df53f879b564a50aaae9166c8480
2025-03-18 09:05:40 +00:00
Jakob Ackermann
3a98940324
[web] switch query for hard-deleting users and add index ( #22920 )
...
* [web] switch query for hard-deleting users and add index
Co-authored-by: Dr. Sasha Göbbels <sasha.goebbels@overleaf.com >
* [web] fix unit tests
---------
Co-authored-by: Dr. Sasha Göbbels <sasha.goebbels@overleaf.com >
GitOrigin-RevId: a7fd2a590351d2e0d60c0032ca78d457ef815e41
2025-03-11 09:05:04 +00:00
Antoine Clausse
85958774dc
[web] Use 6-digits code to confirm existing email in Account Settings ( #23931 )
...
* Rename `checkSecondaryEmailConfirmationCode` to `checkAddSecondaryEmailConfirmationCode`
* Create function `sendCodeAndStoreInSession`
* Create function `sendExistingSecondaryEmailConfirmationCode`
* Create function `_checkConfirmationCode`
* Create function `checkExistingEmailConfirmationCode`
* Rename `resendSecondaryEmailConfirmationCode` to `resendAddSecondaryEmailConfirmationCode`
* Create function `_resendConfirmationCode`
* Create function `resendExistingSecondaryEmailConfirmationCode`
* Add `ResendConfirmationCodeModal`
* Remove `ResendConfirmationEmailButton`
* `bin/run web npm run extract-translations`
* Update frontend test
* Fix: don't throw on render when send-confirmation-code fails!
* Update phrasing in the UI
Per https://docs.google.com/document/d/1PE1vlZWQN--PjmXpyHR9rV2YPd7OIPIsUbnZaHj0cDI/edit?usp=sharing
* Add unit test
* Don't share the "send-confirmation" and "resend-confirmation" rate-limits
* Update frontend test after copy change
* Rename `checkAddSecondaryEmailConfirmationCode` to `checkNewSecondaryEmailConfirmationCode` and `resendAddSecondaryEmailConfirmationCode` to `resendNewSecondaryEmailConfirmationCode`
* Rename `cb` to `beforeConfirmEmail`
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com >
* Return `422` on missing session data
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com >
* Add `userId` to log
* Replace `isSecondary` param by `welcomeUser`
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com >
* Rename `resend-confirm-email-code`'s `existingEmail` to `email`
* Remove "secondary" from rate-limiters
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com >
* Remove unnecessary `userId` check behind `AuthenticationController.requireLogin()`
* Only open the modal if the code was sent successfully
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com >
GitOrigin-RevId: df892064641d9f722785699777383b2d863124e1
2025-03-07 09:06:50 +00:00
Jessica Lawshe
57603c09b6
Merge pull request #23690 from overleaf/jel-test
...
[web] Remove test skip
GitOrigin-RevId: bd5a35bcb62227a7bc282bb0813ac0482b04ada2
2025-02-27 09:05:51 +00:00
Jessica Lawshe
747609c5d7
Merge pull request #23299 from overleaf/jel-admin-saml-ids
...
[web] Show SAML IDs in user audit logs and user info page
GitOrigin-RevId: b8baa44c3110764e466d92ad2b0dc54ddc8f7819
2025-02-27 09:05:47 +00:00
Jessica Lawshe
d562c56e07
Merge pull request #23890 from overleaf/jel-reconfirm-date
...
[web] If v1 date doesn't show as reconfirmed, ensure v2 does not as well
GitOrigin-RevId: dc2850221a2d9176023380b38508311ea98abe43
2025-02-27 09:05:27 +00:00
Antoine Clausse
0d05cef327
[web] When switching primary email, delete the old primary if it's unconfirmed ( #23688 )
...
* Add note to ConfirmModal: unconfirmed primary will be deleted
* Change confirm button copy
* Promisify `UserEmailsController.setDefault`
* Update tests after promisification
* Delete unconfirmed primary when swapped
* Fixup apostrophe in translation
* `npm run extract-translations`
* Add unit tests
* Add acceptance tests
* Fix frontend tests
* Make email address bold
* Add "We removed the previous primary..." to the email
GitOrigin-RevId: c971e219e36e509f9963e1720acdd44f562a05b5
2025-02-21 09:05:44 +00:00
Antoine Clausse
76301e0cc8
[web] Send security alert email when secondary is added ( #23657 )
...
* [web] Send security alert email when secondary is added
* [web] Add test: checkSecondaryEmailConfirmationCode - sends a security alert email
* Move `_sendSecurityAlertEmail` before `addEmailAddress`
GitOrigin-RevId: 8d9c496fffd953871e03d8c7f011c42459eeb0bc
2025-02-18 09:05:14 +00:00
Andrew Rumble
5dca40eea2
Merge pull request #22646 from overleaf/ar-address-mongo-count-deprecation-warning
...
[web] Switch from find.count to countDocuments
GitOrigin-RevId: cc607868334d54b3d5c375c06fec97a482a16cc5
2025-02-17 09:04:58 +00:00
Alf Eaton
804bc72957
Skip "should not flag affiliations outside of notification period" test ( #23619 )
...
GitOrigin-RevId: 060158f5b3958577c3c1ebde8490cad2c763da88
2025-02-17 09:04:53 +00:00
M Fahru
9e811eefc5
Merge pull request #22613 from overleaf/mf-migrate-primary-email-check-bs5
...
[web] Migrate "Primary email check" page to bootstrap 5 and website-redesign styling
GitOrigin-RevId: e233edafb8c5033c8fbd97088fa1ac840e2e572e
2025-01-28 09:05:43 +00:00
Mathias Jakobsen
580ad4bdca
Merge pull request #23026 from overleaf/mj-wc-settings-second-try
...
[web] Move write and cite setting storage
GitOrigin-RevId: 88a234c15b4dd2a9b451170e3b474d88bb6d45f7
2025-01-24 09:05:22 +00:00
Antoine Clausse
01fb8ba69f
[web] Promisify ensureAffiliationMiddleware and refactor InstitutionHubsController ( #22242 feedback) ( #22261 )
...
* Promisify `ensureAffiliationMiddleware`
* In `ensureAffiliationMiddleware`, throw when UserNotFoundError
* Unnest object `_InstitutionHubsController`
* Format fix
GitOrigin-RevId: 5b3c6c24724520353540b8d8dd05005b6fa749ff
2025-01-21 09:04:57 +00:00
Antoine Clausse
5ba9a7238d
[web] Remove promises exports from Controller modules ( #22242 )
...
* Remove promises object from CollaboratorsInviteController.mjs
* Define functions at root
* Remove mentions of undefined `revokeInviteForUser`
* Remove unused `doLogout`
* Remove promises object from UserController.js
* Remove unused `makeChangePreview`
* Remove promises object from SubscriptionController.js (`getRecommendedCurrency` and `getLatamCountryBannerDetails`)
* Remove promises object from CollabratecController.mjs
* Remove promises object from SSOController.mjs
* Remove promises object from ReferencesApiController.mjs
* Remove promises object from MetricsEmailController.mjs
* Remove promises object from InstitutionHubsController.mjs
* Remove promises object from DocumentUpdaterController.mjs
* Remove promises object from SubscriptionAdminController.mjs
* Fixup unit tests
* Add expects that controllers don't error
* Promisify `ensureAffiliationMiddleware`
GitOrigin-RevId: 311c8afa7d5c8e4f051408d305b6b4147a020edc
2025-01-17 09:05:36 +00:00
Miguel Serrano
e6ceb314cb
Merge pull request #22321 from overleaf/msm-force-flag-delete-user
...
[web] Fix user deletion in CE/SP when email does not exist
GitOrigin-RevId: 051f822318d63c8a9f50d5e9aeca095f3b37efb4
2025-01-10 09:05:48 +00:00
Miguel Serrano
3f6aa2369d
Merge pull request #21031 from overleaf/msm-clean-collabratec-tokens
...
[web] cleanup collabratec tokens
GitOrigin-RevId: 0ad73ca5d4c4c82d79e2ec7119c5b77a83b7086f
2025-01-09 09:05:15 +00:00
Thomas
c74a3b3437
Merge pull request #22433 from overleaf/tm-suspend-users-script
...
Add script for bulk account suspension
GitOrigin-RevId: 434ac819c12a2a33c26baf963d8d8874b1864928
2024-12-11 09:04:40 +00:00
Mathias Jakobsen
cd160132c2
Merge pull request #22204 from overleaf/mj-papers-linking
...
[web+third-party-references] Add linking to papers account
GitOrigin-RevId: dbf6a01b16ae661558da01549922294278dbda70
2024-12-04 09:04:47 +00:00
Andrew Rumble
46e22c2021
Update tests
...
GitOrigin-RevId: 9272720e0f6865c54257c43bd98d8e6003251aa2
2024-10-17 08:06:17 +00:00
Jakob Ackermann
7c7f60d7a6
Merge pull request #20756 from overleaf/jpa-clear-admin-sessions
...
[web] add script for clearing admin sessions
GitOrigin-RevId: c5103b233073db62276698067b2262d7a785592b
2024-10-14 10:58:12 +00:00
Miguel Serrano
25cd0354f7
[web] Expose metric for active users in SP ( #20130 )
...
* [web] Expose metric for active users in SP
* Removed redundant UserHandler.setupLoginData()
In the past this method was also calling
a now deleted notifyDomainLicence(), but now
this is just an alias for populateTeamInvites()
* Added migration for `lastActive`
* Added secondary read precedence to count active users
GitOrigin-RevId: 86d6db31e1ae74ae40c6599e6acb731d8c4a04bd
2024-10-14 10:57:28 +00:00
andrew rumble
b00d1336d4
Switch to mongodb-legacy
...
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
Alexandre Bourdin
e2888cd2bb
Merge pull request #19861 from overleaf/ab-overleaf-integration-delete-flow
...
[web] Remove /user/delete override from overleaf-integration
GitOrigin-RevId: 4f679f6835522c2325fe7b0368f58e7a952ee73d
2024-08-14 08:05:30 +00:00
Antoine Clausse
62e1177800
[web] Remove overleaf-integration overrides for /user/emails/delete & /user/emails/resend_confirmation ( #19438 )
...
* Use hooks to call `clearSamlSession`
* Promisify `UserEmailsController.remove`
* Use hook for `userDeleteEmailMiddleware`
* Remove `/user/emails/delete` override
* Remove "removeRoute of `/user/emails/resend-secondary-confirmation`"
That route isn't defined elsewhere
* Promisify `UserEmailsController.resendConfirmation`
* Promisify `UserEmailsController.sendReconfirmation`
* Use hook for `resendConfirmationEmailMiddleware`
* Remove `/user/emails/resend_confirmation` override
* Promisify `tryDeleteUser`
* Proxy `clearSamlSession` through `SAMLHelper`
* Revert "Use hook for `resendConfirmationEmailMiddleware`"
This reverts commit f028d9c8
* Inject `SAMLMiddleware.resendConfirmationEmailMiddleware` in `/user/emails/resend_confirmation`
* Update `middleware` syntax and grammar
* Update tests
* Use Module middleware instead of hook for `userDeleteEmailMiddleware`
* Remove "promises" export of tryDeleteUser
GitOrigin-RevId: 211e194fc1ef82dc452ee4e837dcddd9b23690a0
2024-07-29 08:04:24 +00:00
Brian Gough
90388a4e5b
Merge pull request #19105 from overleaf/bg-cookie-session-fix-user-deleter-unit-tests
...
fix UserDeleteTests to restore time operations
GitOrigin-RevId: 85c91697e05b6a12aa66a6524a74848ff281527b
2024-07-04 08:05:43 +00:00
David
9efae1f958
Merge pull request #18320 from overleaf/dp-add-secondary-prompt-ui
...
Add secondary email form V2 (with Captcha this time)
GitOrigin-RevId: b06216a2c9cb5b3b09305a17992eca506a0047f5
2024-05-27 10:22:40 +00:00
Eric Mc Sween
01e2a29766
Merge pull request #18225 from overleaf/em-typescript-eslint
...
Add typescript-eslint rule: no-floating-promises
GitOrigin-RevId: 8c3decdff537c885f5bfeb5250b7805480bc6602
2024-05-27 10:22:20 +00:00
Antoine Clausse
93f3f52c31
[web] Simplify removeSessionsFromRedis signature ( #18440 )
...
* Simplify `removeSessionsFromRedis` signature
* Update usage of `removeSessionsFromRedis`
* Fix tests around `removeSessionsFromRedis`
* Add comments "remove all sessions except the current session"
GitOrigin-RevId: 03bf99c14faf2c8e403bc4bcc16463a70e031284
2024-05-27 10:21:30 +00:00
Antoine Clausse
7fae1cbb2c
[web] Update revokeAllUserSessions and rename it to removeSessionsFromRedis ( #18360 )
...
* Fix `revokeAllUserSessions` call in `_cleanupUser`
The user object should be passed, not the _id
* Change `revokeAllUserSessions` signature, take `req` and `stayLoggedIn` arguments
* Update uses of `revokeAllUserSessions`
* Fix promisified `revokeAllUserSessions` args
* Update tests
* Destroy or Regenerate the session in the end of `revokeAllUserSessions`
Per https://github.com/overleaf/internal/issues/17036#issuecomment-1938398570
* Revert "Destroy or Regenerate the session in the end of `revokeAllUserSessions`"
This reverts commit fe30734dbe45b27d2931d2e43a711d591bb85787.
* Rename `revokeAllUserSessions` to `removeSessionsFromRedis`
* Fixup tests
* Fix: add optional chaining in `req.sessionID` (!!)
GitOrigin-RevId: d41676bf00f463230af495e09c65fb9ee521f49f
2024-05-20 08:04:12 +00:00
Jakob Ackermann
d8055e6749
Merge pull request #18294 from overleaf/jpa-td-invite-details
...
[web] avoid content reflection via query parameter on register page
GitOrigin-RevId: 43e7ba6069e0d9f3f12e5e9e680b5960b0673782
2024-05-16 08:05:09 +00:00
David
0d08fc1df2
Merge pull request #18318 from overleaf/dp-revert-secondary-email
...
Revert "Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui"
GitOrigin-RevId: d8af37a5c332ac21ddd4c85679553df0bda326f9
2024-05-14 08:04:11 +00:00
David
7e48f4e38a
Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui
...
Add UI for secondary email prompt
GitOrigin-RevId: 887b2c7f0047f19b605f03745f7dda83926ec70b
2024-05-14 08:04:01 +00:00