* changing to pug conditional format for admin page conditional render
* feat: update notifications settings page and open BE route
feat: adding new page for notification prefs on user settings, along with updating saving prefs for global preferences
adding error handling and disabling when request is inflight
formatting and adding split test for viewing notification ettings
fix: updating to levels of preferences, and removing global type for preferences as we will now share the same backing settings between global and project preferences
feat: add global mute to user settings for notifications
making params in preferences schema optional
feat: update global settings to only set mute, and remove optional settings
fix: store userId as objectId, and filter based on global mute setting
GitOrigin-RevId: 947a95dc02d12b4a2d8e3cc29bd04c23af2aef25
* Remove focused style from the stepper
* Reduce spacing between password input and password policy
* Make input validation icon larger
* Make animated-tick.svg faster
* Move notification to below h1
* Move notification to below h1
* Fix: Warning: Invalid DOM property `autocomplete`. Did you mean `autoComplete`?
* Wrap form-text in a span so it's displayed correctly and not altered by flex
* Remove "Please request a new password reset email and follow the link." text after the email is entered
* Remove (unnecessary?) flex property on .ciam-form-text-icon
* Rename `messageTextNode` to `messageTextSpan`
* Revert changes to input-validator.ts
GitOrigin-RevId: ad83c92a59b9dbc872cf4e49362b0baec9fb5b93
* no grey hyphen when the input is empty
* show email in bold
* Fix tests
* Add test to verify email display in confirmation code input
* Format
GitOrigin-RevId: ade4a670b9dc80b99f64cc3273407a98428521b8
* Make CIAM copies of Pug files
passwordResetCiam.pug
setPasswordCiam.pug
* Update controller with split test assignment
* Use CIAM layout in passwordResetCiam.pug
* Style passwordResetCiam according to designs
* Use CIAM layout in setPasswordCiam.pug
* Style setPasswordCiam according to designs
* Use settings value in registration screen for must_be_at_least_n_characters
* Retrieve email input with a script
* Replace mb-4 by --ds-spacing-800
* Add eye icon to toggle password visibility
* Avoid double dots after some translated strings
* Use `ciamCustomFormDangerMessage`
* Use `ciamErrorNotification`
* Use `ciamButtonContentLoading`
* Replace remaining "mb" classes
* Move new password errors to the top of the form
* Fix CIAM mixins path after rebase
* Use `ciamCustomFormDangerMessage`
* Add `data-ol-spinner-inflight` to buttons
* Replace classname ciam-notification by notification-ds
Remove borders from CIAM notifications
Fix font size
* Revert "Use settings value in registration screen for must_be_at_least_n_characters"
This reverts commit a0af95c11e171097750ad7ee871f6baf89d5c0cb.
(It's Friday afternoon so I don't want to update unrelated stuff :D)
* Update: check_your_inbox
* Remove `.ciam-card` min-height.
Unnecessary thanks to `.confirm-email-success-form`'s min-height: 400px;
* Use phosphor icons
* Style `formMessagesNewStyle` with DS notifications within CIAM pages
Alternatively, we could extend/duplicate `showMessagesNewStyle` with a CIAM variant
* Revert "Style `formMessagesNewStyle` with DS notifications within CIAM pages"
This reverts commit ed382dc1e8cdf5b916c1527f4da0a825167e9675.
* Fix styling of dynamically-created DS notifications
* Set password length info to secondary color
* Move `ciamSamlErrorNotLoggedIn` to saas-authentication module
Prevents errors in CE:
Error: ENOENT: no such file or directory, open '/overleaf/services/web/modules/saas-authentication/app/views/_mixins.pug'
at /overleaf/services/web/app/views/_mixins/ciam_mixins.pug line 3
---------
Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: afe58f18ecee92460ab628a285b6edb48a5c678d
* removing placeholders and adding labels
* adding a test
* adding a test back
* deleting comment
* Target the label of department and role
---------
Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 890c2f836a17c360a577bd71280805e3e5408dd6
* Move `main#main-content.content.content-alt` into a React component (`ContentLayout`)
* Create the CIAM variant of `RegistrationConfirmEmailForm`
* `bin/run web npm run extract-translations`
* Use `CiamLayout` in the Storybook demo
* Add `SplitTestProvider` in tests
* Fix Storybook: Wrap `RegistrationConfirmEmailForm` Story in `onboarding-confirm-email`
* Refactor SCSS files:
- only imports in all.scss
- split .storybook-layout and .storybook-enabled
- extract ciam-spacing.scss
GitOrigin-RevId: f4a214a0978423a1621dd8f60bf459af7b8f877e
[web] Do not show notification to link to Commons SSO when domain is also for group with domain capture
GitOrigin-RevId: 6779e2db02d5d9cc4e7a60789a620403a4e4aa11
* Convert OLModal to named exports only
* Make closeButton the default for OLModalHeader
* Set `closeButton={false}` for modal that is not dismissible
* Fix duplicated imports
* Remove another unnecessary `closeButton` prop
* Fix import
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: ddd7be6e59a966ac634683d2494d6e9d2c3732e6
* Update test for the loading spinner component
* Create a story for the loading spinner component
* Move role and use CSS for spacing instead
* Add a classname prop
* Reuse LoadingSpinner
* Use OLSpinner instead of Spinner
* Use data-testid since status role was moved
* Wait for journals to load
* Use `isLoading` prop instead and fix the button's height
* Use `isLoading` prop instead
* Use LoadingSpinner instead and remove spacing
* Update test for the loading spinner component
* Use `isLoading` prop instead
* Add aria-describedby to layout button for processing state
* Replace `spinner` to `ol-spinner`
* Scope status
* Remove redundant `div.loading`
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 8f43b991f8f458b2abd5a4661913ac9b972d892a
* Create eslint rule for requiring loadingLabel prop when isLoading is specified on OLButton
* Add `loadingLabel` props for OLButton components with `isLoading`
* Clarify loading label and button loading state
GitOrigin-RevId: 89279d5b4c346f9c3b67a59d0db822a2ff04314a
* Update selectors to improve test stability
* Update selectors to improve test stability
* Use plain string matchers
* Fix test
* [monorepo] use plain string matchers everywhere
* [web] remove Kb/ prefix from title of learn wiki links
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 12e13c39822795338a3bee20236454f9948e6221
* Replace placeholders for labels
* Remove redundant aria-label and update labels with `.visually-hidden`
* Change "Invite more members" to a label
* Fix helper text for group members and fix responsiveness
* Change error message to an error notification
* Use label and helper text instead of a placeholder
* Remove redundant label and use the placeholder text instead for the admin user searchbar
* Extract translations
GitOrigin-RevId: a504fda9779da82920b57c7b8aad38a8b027d09a
* Update Reconfirm Affiliation (Pug) in Portal page
Change the notification so it directs users to the settings page instead of triggering an email confirmation with token-link
* Update Reconfirm Affiliation (React) in Settings page
Update the component so it sends the 6-digits code and opens the modal to enter it
* Update Reconfirm Affiliation (React) in Projects page
Update the component so it sends the 6-digits code and opens the modal to enter it
* `cleanup_unused_locales`
* `bin/run web npm run extract-translations`
* Update tests
* Minor updates in tests
* Update Pug notifications with the notification mixin
* De-center the "reconfirmed notification"
* Update "Learn more" links to "Learn more about institutional email reconfirmation"
* Update tests
GitOrigin-RevId: cb65623e209217614786eec56f7f5d28b9e8cec5
* Use the leadingIcon prop instead of spacing
* Remove duplicated ID
* Make the alt text to be empty since image is decorative
* Make switcher input visually hidden
The switcher's input previously used 'pointer-events: none', which prevented proper interaction in the test. It replaces that hack.
* Add accessibilityLabel to the info icon that is actually a clickable link
* Use more specific selectors
* It should display
* Use more specific selectors
* Use more specific selectors
GitOrigin-RevId: a555d96cf972d06dd5432f44a23b02355cedcd94
* Add `no-restricted-globals` eslint rule
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
* Change `self` to `window.self`
* Change `innerWidth` to `window.innerWidth`
* Change `confirm` to `window.confirm`
* Change `location` to `window.location`
* Use `location` from `useLocation` hook
* Use location from useLocation hook
Co-authored-by: Antoine <antoine.clausse@overleaf.com>
* Disable no-restricted-globals eslint rule for use of 'self'
* Use `confusing-browser-globals` from npm
* Prevent unexpected globals in workers, using `no-undef`
* Use `self` as a global in workers
* Use unexpected globals in workers, using `no-restricted-globals` in workers
---------
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 526986799f5f2edf53c7d978fa85c1e98189565f
* Pull email context outside of `ResendConfirmationCodeModal`
* Use `loading` prop of button instead of deprecated Icon
* Swap notification order to clarify priority (no change in behaviour)
* Replace confirmation link action by confirmationCodeModal, and simplify code
* Change to secondary button variant in the Notification
* Display errors within the modal
* Increase ratelimit for resend-confirmation
* Copy changes
* Add stories on email confirmation notifications
* Fix other Notification stories
* Update tests
* Update services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx
Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>
* Remove placeholder on 6-digit code input
---------
Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>
GitOrigin-RevId: dad8bfd79505a2e7d065fd48791fd57c8a31e071
* Improve announced button and link labels for screen reader users
* Improve labels for integration widgets and update test
* Make integration widget IDs to be required
GitOrigin-RevId: 1e0124ef63a91fb63dffd79881c60794bccb9d27
* Add RecaptchaConditions to `user/emails/add-secondary`, set font to 12px
* Hide `RecaptchaConditions` if `ExposedSettings.recaptchaDisabled.addEmail`
GitOrigin-RevId: dcc4609bf8787076257caed6b5a5d1e47178380e
* Remove the Bootstrap 5 version utilities
* Remove Account settings LESS stylesheet and unused styles
* Prefer using the OLFormText wrapper component instead of FormText
* Remove the Bootstrap 3 version stories
* Replace Font Awesome icons to Material icons
* Fix the heading hierarchy
* Cleanup unused translation
* Restore ellipsis to the text of two loading spinners
* Add loading button tests back and add some button loading labels
---------
Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: 283a9167c8c78bf0fe5062840ded6917dcd6263b
* 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