* Initialize left menu react migration and migration download menu UI to react
* Add test case to DownloadMenu react component
* Update test description and add an href check to one of the download link
* Extract storybook document mock to its own fixture file
* Add mockCompileOnLoad config on storybook editor scope
- if mockCompileOnLoad: true (default), then the default compile mock will be used
- If mockCompileOnLoad: false, then we have to provide a compile mock on the storybook component
* Create download menu storybook component
* Use a single "editor-left-menu" controller on the editor left menu migrations
* Remove the form import from the react version of the left menu
* Change inline style to utility class name
GitOrigin-RevId: 5357c7bfc78bf40f52b9b308df8f2b60d793fbf7
* removed the hgihlight-sso-2 split test
* added the correct variant
* removed the if else condition
* renamed the file _registration_sso_highlight_sso_variant.pug to _registration_sso.pug
* replaced with home-registration
* Swapped translations and deleted one
* removed shareLatex login text from login page and related translations that were being used only once in this code snippet
* renamed a file name while rendering it and deleted the unsuded file. and replaced a string with error variable for message
* added event segmentation back
* swapped two lines
* removed event-segemntation from one file
GitOrigin-RevId: d99de42215e9f6034f618c47dbd47fa7a4913efa
[web] Do not fail loading the project list when a deleted user is referenced as a project's lastUpdatedBy
GitOrigin-RevId: cd2a7b7a6a03a1775fd436f7bc233a6f1a359bd4
* change event segmentation to plans-page-layout-v2-annual
* update some new plans page event to have new event key
* add location segmentation key for some of the group plans events
GitOrigin-RevId: 99d8258112d9661955a196e57ca05a017afba0f4
* [web] set-password: reject same as current password
* [web] Add 'peek' operation on tokens
This allows us to improve the UX of the reset-password form,
by not invalidating the token in the case where the new
password will be rejected by validation logic.
We give up to three attempts before invalidating the token.
* [web] Add hide-on-error feature to async forms
This allows us to hide the form elements when certain
named error conditions occur.
* [web] reset-password: handle same-password rejection
We also change the implementation to use the new
peekValueFromToken API, and to expire the token explicitely
after it has been used to set the new password.
* [web] Validate OneTimeToken when loading password reset form
* [web] Rate limit GET: /user/password/set
Now that we are peeking at OneTimeToken when accessing this page,
we add rate to the GET request, matching that of the POST request.
* [web] Tidy up pug layout and mongo query for token peeking
Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: 835205cc7c7ebe1209ee8e5b693efeb939a3056a
* [web] Upgrade restricted user access if they are invited members
Previously, if a user joined a project via a read-only link and later on
joined the project via an invite, we would still treat them as
restricted users, disabling chat and commenting. This patch changes
that, so that we do *not* consider an invited user restricted.
GitOrigin-RevId: e2acdfd29cc0687cb7276310a9c96d697087b21a
* Add onboarding survey page
* Add onboarding new analytics events to mixpanel allowlist
* [web] Try Premium prompt
* moved try-premium code to overleaf-integration
* fixed sheet styling
* Add onboarding flow redirect handling to registration handlers (#9462)
* Add redirect logic for onboarding flow after registration
* Update UPGRADE_PROMPT_URL
* Cleanup style of OverleafAuthenticationController
* Refactor finishLogin calls to call wrapped function in OverleafAuthenticationController
* Refactor user properties/onboarding flow redirect into finishLogin wrapper
* Fix async/await calls after refactoring
* Update tests for finishLogin refactoring
* Don't redirect to upgrade prompt if user has premium via commons
Co-authored-by: Miguel Serrano <mserranom@users.noreply.github.com>
GitOrigin-RevId: 7c392aa6949f99fa909f9ca4e4baad4c4d4ff6be