Jessica Lawshe
a9a28a13f5
Merge pull request #28402 from overleaf/jel-link-logged-in-async-local-storage
...
[web] Extend `AsyncLocalStorage` to SAML linking in route, clear `AsyncLocalStorage` on email updates, await analytics helper on email updates,
GitOrigin-RevId: 86a51e6800a4b954ff81a2d977edf1401064dda4
2025-09-17 08:05:30 +00:00
Andrew Rumble
05af37c0ef
Convert to ES modules
...
GitOrigin-RevId: cce5cf005597e4b4a2192f2cb6591eb69d119e62
2025-09-09 08:06:41 +00:00
Andrew Rumble
27ac8ba70e
Rename files
...
GitOrigin-RevId: cd89001ff0a7768c5b547a27d57861e5ba3aac0d
2025-09-09 08:06:36 +00:00
Antoine Clausse
1b0b99e12e
[web] Add unlinking third-party logins ability from the admin-panel ( #28201 )
...
* Add `clearThirdPartyLogins`
Co-authored-by: Brian Gough <brian.gough@overleaf.com >
* Add a confirmation modal
* Show provider name from settings
* Replace "logins" by "identifiers" for consistency with current terminology
* Hide button if user has no third-party identifiers
* Update tests
* Add test "unlinks Google account"
---------
Co-authored-by: Brian Gough <brian.gough@overleaf.com >
GitOrigin-RevId: 45b9b5ce6fa2cbeba9d4daeda97cd6e500c8266c
2025-09-05 08:05:12 +00:00
Thomas
7b7b560431
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
1cebef56f0
Remove endpoint /user/emails/send-reconfirmation ( #27423 )
...
GitOrigin-RevId: bd96d749175248cba83eb07c00dab7e7a9f819da
2025-07-30 08:06:38 +00:00
Antoine Clausse
535a9774ef
[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
ec69641649
[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
98af0e3d82
[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
e35f79bf32
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
12a1a85a2f
Make sure req.capabilitySet is defined
...
GitOrigin-RevId: 408dcb3463884d1bbdc56f409121728d1275f501
2025-06-25 08:07:12 +00:00
Andrew Rumble
4550cfc6a0
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
d3d5674436
Remove resolve when passed as next
...
GitOrigin-RevId: 071ce6a4cab210f2db0d278aeb08d31fbba4cbfc
2025-06-25 08:07:03 +00:00
Andrew Rumble
e76a8ff267
Convert return new Promise to await new Promise
...
GitOrigin-RevId: 49404748cc90cb7bdef0460f7e9837196f81cae8
2025-06-25 08:06:59 +00:00
Andrew Rumble
c0b7efea10
Change imports that use chai to use vitest
...
GitOrigin-RevId: 59d780f754adbb5160a2de8e5eca1def6968584b
2025-06-10 08:05:18 +00:00
Jakob Ackermann
3b684e08ca
[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
ef810a9f36
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
873068a187
Update test files with vitest compat changes
...
GitOrigin-RevId: 494f906089d250268a5ff8c8a2150ff2692c37e2
2025-05-29 08:05:06 +00:00
Andrew Rumble
51dcc88f27
Rename test files for vitest
...
GitOrigin-RevId: f8792c0ce5eeb4843a534d3ff83e011d25fb65e0
2025-05-29 08:05:00 +00:00
Miguel Serrano
3cf436c89e
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
82e5b2c5d7
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
2ad9f36706
Promisify tests
...
GitOrigin-RevId: 6f413f4c5ef8d034b4e94afacdf2d7b43c3a8830
2025-04-29 08:05:18 +00:00
David
dcabf55882
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
087c41190e
[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
c4e6dfbbbd
[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
06f0ee4c91
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
aa7692b7dc
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
182713d02d
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
34cac93f9a
[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
f096ffaa43
[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
ccb2791a0d
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
784d107472
Skip "should not flag affiliations outside of notification period" test ( #23619 )
...
GitOrigin-RevId: 060158f5b3958577c3c1ebde8490cad2c763da88
2025-02-17 09:04:53 +00:00
M Fahru
1916a0bbf6
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
77dd468c20
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
c8be2e25cf
[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
b9fb636f0b
[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
5f913738a8
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
d6f8645e8c
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
d8840bfe7f
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
63a9e99375
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
2bfb55a305
Update tests
...
GitOrigin-RevId: 9272720e0f6865c54257c43bd98d8e6003251aa2
2024-10-17 08:06:17 +00:00
Jakob Ackermann
39ee8de1a5
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
3ff142d478
[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
032deaf05c
Switch to mongodb-legacy
...
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
Alexandre Bourdin
61891e3c80
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
afd965c04b
[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
0ebf01f209
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
635aae7b1f
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
876ee4d967
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
3300811d3a
[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