Commit Graph

59 Commits

Author SHA1 Message Date
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
Tim Down
0baf512ac2 Merge pull request #25805 from overleaf/td-bs5-rename-auth-pages-feature-flag
Change auth pages feature flag

GitOrigin-RevId: 091b2cde7cc4f91e2ce7533d610db773fc622bb5
2025-05-23 08:05:14 +00:00
roo hutton
0091ab3d92 Merge pull request #24609 from overleaf/rh-bs5-b2c-teardown
Teardown Bootstrap 5 B2C feature flag

GitOrigin-RevId: 4021820bc3b207dae9fffd23dfac778746fa8f20
2025-04-02 08:05:05 +00:00
Tim Down
6da4ad2079 Merge pull request #24349 from overleaf/td-bs5-add-secondary-email
Migrate add secondary email page to Bootstrap 5

GitOrigin-RevId: f5d1992f2cb2d313f5950ccfd5c187b9bac72d82
2025-03-24 10:46:57 +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
M Fahru
da0c2ceda7 Merge pull request #23585 from overleaf/mf-rename-b2c-pages-bs5-split-test
[web] Rename b2c pages split test to follow the standard for bs5 migration

GitOrigin-RevId: 7a26912642d84866b6b99ce57107f8ba79335f1a
2025-03-04 09:05:01 +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
Kristina
bf42250255 [web] migrate secondary confirm email page to bootstrap 5 (#23452)
GitOrigin-RevId: 39ff8856d40033df802a3d811c53d12f94e7d0ed
2025-02-12 09:04:46 +00:00
Antoine Clausse
858d31bcd0 [web] Update secondary email addition: confirm with 6 digits code (#22851)
* Remove `Interstitial` from `ConfirmEmailForm`

* Allow adding `affiliationOptions` in `addWithConfirmationCode`

* Add confirmationStep in add-email.tsx

* Call `getEmails` once a secondary email is added

* Fix tests

* Lint fix

* Style confirm-email-form

Figma: https://www.figma.com/design/TWyeImDSZHhkl9akYaGmeb/24.5-Secondary-email-reconfirmation?node-id=1-449&p=f&m=dev

* Remove unnecessary `successMessage` and `successButtonText` from hidden ConfirmEmailForm

* Remove icon padding

* Rename file to confirm-email-form.tsx

* Use `OLButton`

* Add Cancel button

* Update loading states

* Remove redundant `className` with variants

GitOrigin-RevId: 62b1729cf2299da38f20fa3946273ad0193c7d54
2025-01-31 09:05:23 +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
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
David
84ebca6742 Merge pull request #18456 from overleaf/dp-fix-main-lint
Fix lint by using recordEventForUserInBackground

GitOrigin-RevId: 3412c9a997ce0921b25408fc584060e528843b88
2024-05-27 10:22:44 +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
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
David
8f9577da5c Merge pull request #17947 from overleaf/dp-secondary-email-confirmation-code
Add endpoints for secondary email confirmation by code

GitOrigin-RevId: c2829672fd9aeca457f76958d4922b9c95086f26
2024-04-26 08:04:00 +00:00
Thomas
207bb852f7 Merge pull request #17572 from overleaf/tm-email-confirmation-require-login
Prevent email confirmation unless logged in to the requesting account

GitOrigin-RevId: 28af875b2887b8bbef8327097635aa01345c682c
2024-03-22 09:03:10 +00:00
Rebeka Dekany
560efb22e9 [web] Track if the email is confirmed/verified (#15818)
* Added email-verifed event

* added email provider

* check if the email is primary

* rename confirm email segmentation

* remove the segmentation because it duplicates verification-type

* move the response

* remove duplicate definition

---------

Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 2956467b46a883fc0ee00c26dd446ba82fa5be26
2023-11-27 09:03:56 +00:00
Mathias Jakobsen
5e083dffd5 Merge pull request #15822 from overleaf/mj-audit-log-tokens
[web] Add audit logs for token expiration operations

GitOrigin-RevId: 220fe017cf508ead986a4cd2bd9009035418ce43
2023-11-21 09:03:59 +00:00
Eric Mc Sween
554cd6a4d9 Merge pull request #15172 from overleaf/em-promise-utils
Move util/promises from web into a shared library

GitOrigin-RevId: fe1980dc57b9dc8ce86fa1fad6a8a817e9505b3d
2023-10-20 08:04:05 +00:00
Miguel Serrano
1d85a2c135 Merge pull request #13164 from overleaf/msm-email-limit
[web] limit user email addresses to 10

GitOrigin-RevId: 038214cc921d86a407391e6c82fa9cd16a7f9646
2023-05-29 08:04:04 +00:00
Mathias Jakobsen
59f5a1d82f [web] Add auditing of email removals (#8904)
* [web] Add auditing of email removals

* [web] Improve auditing of email removal from script

GitOrigin-RevId: ccb948f01616a0bcb2d8f718d6b9e69585e8bb89
2022-07-27 12:17:31 +00:00
Jakob Ackermann
b027ef95e5 Merge pull request #7986 from overleaf/jpa-eslint-8
[misc] upgrade eslint packages to the latest version everywhere

GitOrigin-RevId: f1480d4a171acef82fb26c4aa54be3a6088b0ab3
2022-05-17 08:05:59 +00:00
Miguel Serrano
719542f9f7 Primary Email Check (#6471)
* added primary-email-check page, route and controllers
* add `#add-email` internal link in settings to display new email form
* added primary-email-check redirection with split test
* update `lastPrimaryEmailCheck` when the default email address is set
* added `lastPrimaryCheck` to admin panel
* translations for primary-email-check
* acceptance tests for primary-email-check
* [web] multi-submit for primary email check
* Using `confirmedAt` to prevent from displaying primary-email-check page

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-Authored-By: Miguel Serrano <mserranom@gmail.com>
GitOrigin-RevId: d8e3a280439da08038a4487d8bfd7b3b0596e3b5
2022-02-04 09:03:34 +00:00
Eric Mc Sween
e2be63e9ed Merge pull request #5740 from overleaf/em-gcp-logging-web
Improve GCP logging for web

GitOrigin-RevId: b304c87a3fe46c29189f665eb3daf22c23d6eb8f
2021-11-11 09:03:09 +00:00
Eric Mc Sween
4d15360439 Merge pull request #5648 from overleaf/em-revert-gcp-logging-web
Revert "Improve GCP logging for web"

GitOrigin-RevId: 92d446baf62108da1df92146eec12a2fe69d30ee
2021-11-02 09:03:29 +00:00
Eric Mc Sween
5c4e116ad2 Merge pull request #5632 from overleaf/em-gcp-logging-web
Improve GCP logging for web

GitOrigin-RevId: 1198fab2e821a55563058171cfa435605216e337
2021-11-02 09:03:22 +00:00
Jakob Ackermann
4f96f5f5f7 Merge pull request #5125 from overleaf/jpa-portal-de-ng
[web] de-ng portals page

GitOrigin-RevId: 2460c51fb0f81be758c5804e66803a98b614b304
2021-09-22 08:03:41 +00:00
Alexandre Bourdin
9468e5cb4f Merge pull request #4338 from overleaf/ab-session-manager
Extract functions from AuthenticationController to SessionManager

GitOrigin-RevId: 86870ce03a762e1a837dcf493759e8851e759883
2021-07-28 12:36:22 +00:00
Alf Eaton
1be43911b4 Merge pull request #3942 from overleaf/prettier-trailing-comma
Set Prettier's "trailingComma" setting to "es5"

GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
2021-04-28 02:10:01 +00:00
Jakob Ackermann
4f8a905e9b Merge pull request #3909 from overleaf/jel-reconfirm-email-template
Add reconfirm email template

GitOrigin-RevId: 2488c79c25a7148f601e3e3e2021cdbee4be7b4c
2021-04-16 02:05:33 +00:00
Alf Eaton
1ebc8a79cb Merge pull request #3495 from overleaf/ae-prettier-2
Upgrade Prettier to v2

GitOrigin-RevId: 85aa3fa1acb6332c4f58c46165a43d1a51471f33
2021-04-15 02:05:22 +00:00
Alf Eaton
2ff1cf43d6 Merge pull request #3470 from overleaf/eslint
Upgrade and configure ESLint

GitOrigin-RevId: ad5aeaf85e72c847a125ff3a9db99a12855e38aa
2020-12-16 03:08:28 +00:00
Jakob Ackermann
15fd090e7a Merge pull request #3325 from overleaf/jpa-session-cleanup
[UserEmailsController] clear sessions after changing the primary email

GitOrigin-RevId: 319b483a3c2851c37c0a340ba9c43a86225a9246
2020-10-31 03:05:36 +00:00
Jessica Lawshe
aee83bc0cf Merge pull request #3173 from overleaf/jel-institution-sso-audit-log
Update audit log when institution SSO is linked/unlinked

GitOrigin-RevId: 264ffbed025dccb4dd202f86afe545c3bf0c1f76
2020-09-15 02:04:24 +00:00
Timothée Alby
bbf3132a16 Merge pull request #3096 from overleaf/jel-security-alert-primary-email
Send security alert email when primary email changed

GitOrigin-RevId: a01f38a2478dc280261b9a43ef1a01751d4601fb
2020-08-13 02:06:44 +00:00
Timothée Alby
3babf23444 Merge pull request #3091 from overleaf/jel-log-default-email-change
Update audit log for default email changes

GitOrigin-RevId: c7b4e4e888aa5ffd976062d72f660ded303f0885
2020-08-13 02:06:40 +00:00
Timothée Alby
d932c153c0 Merge pull request #3090 from overleaf/jel-async-setDefaultEmailAddress
Convert setDefaultEmailAddress to async

GitOrigin-RevId: 1f915af03c3dbe54b2cce439ecd55eeb3a3f35d3
2020-08-13 02:06:31 +00:00
Jessica Lawshe
c3450e4414 Merge pull request #3051 from overleaf/jel-log-when-email-added
Add entry to auditLog when user adds an email

GitOrigin-RevId: 797c85e18cb2b201e09fd2631b1e5ea066adfc37
2020-08-10 15:54:42 +00:00
Jessica Lawshe
305f82459f Merge pull request #3040 from overleaf/jel-email-added-alert
Secondary email added alert

GitOrigin-RevId: 6bfe8eb54110a522281b32490b0107db8890ab64
2020-07-28 02:06:48 +00:00
Miguel Serrano
b0dc73a61c Remove HttpErrors.InternalServerError (#3027)
* Added legacyInternal() 500 to HttpErrorHandler
* replaced HttpErrors.InternalServerError being thrown with calls to HttpHandler.legacyInternal()

GitOrigin-RevId: 0b7086a9693b57cdf93976d4221b90315960e8bb
2020-07-23 02:06:50 +00:00
Eric Mc Sween
f251d661ed Merge pull request #3021 from overleaf/msm-oerror-remove-conflict-error
Replace ConflictError thrown with calls to HttpErrorHandler.conflict()

GitOrigin-RevId: 3b4d98af1b31e49ceab4b1b55b94b8f0323c8a9b
2020-07-21 02:06:18 +00:00
Simon Detheridge
117cd59b40 Merge pull request #2728 from overleaf/jpa-ns-handle-422-when-adding-email
Improve error messaging if user adds affiliation that doesnt match domain matcher

GitOrigin-RevId: 12c21c611c6a826ee7e41cc87613913aa58ac13e
2020-04-09 03:21:21 +00:00
nate stemen
8253d0385c Merge pull request #2462 from overleaf/hb-mangled-links-confirmation
Mangled confirmation links fix

GitOrigin-RevId: 334704a93159044a617b7373398a7f384b08783e
2020-01-14 04:15:02 +00:00