* Implement Back to School 2023 banners and modal
* Only show WritefullPromoBanner if not showing BackToSchoolModal
GitOrigin-RevId: 3bd2ea48fa6d66f112cc26662a61be05cf7daafd
* Implement LATAM geo-pricing split test
* Hide Paypal if currency is one of INR, COP, CLP, PEN
* Only send the LATAM/INR banner events when banner is rendered
* Workaround in Subscription dashboard for CLP not having minor units
GitOrigin-RevId: a677086a7762900563558126d2f81a4c57bbe9d7
* [cm6] toolbar for source mode
* top:0 for new toolbar
* empty div for extensions
* fix legacy css top pos
* show source toolbar split test
* prettier
* show beta icon in source editor
* dropdown toolbar wip
* fix wrong conflict resolve
* math dropdown, chrome extension fixes
* math dropdown cleanup
* sort en.json
* fix sort en.json
* using isVisual
* getMeta in component, pug update
* using flex grow
* toolbar beta badge
* remove extra whitespace
* has-legacy-toolbar class
* Increase container size
* fix tests
* prettier
* styling fixes, using SplitTestBadge
* only show source toolbar if flag is set
* fix typo
---------
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 34b01a9421f4a0d6defc40925c5092901575946e
* [web] Fix NPE in WikiController
This error prevents the wiki from retrieving
page content in Server Pro
* [web] add `settings.proxyLearn` to SaaS config
GitOrigin-RevId: d137097e08720e8423133a7f59e2fe619fe134be
* [cm6] rename to Code Editor | Visual Editor
* showLegacySourceEditor change
* show info badge
* remove info badge
* display info badge
* use "Visual Editor" in example project
GitOrigin-RevId: 549e25aa4bcfe58522eadc70e35ca35f822317b1
* Remove frontend project list angular code (pugfiles + controllers)
* Remove unused translation keys in every language
GitOrigin-RevId: e0514721d6a32ca2de7d1be9433da3476ba1680c
* Implement INR geopricing test
* Show again the INR banner after 30 days
* Update INRBanner to direct users to the plans page and add tracking
* Remove local testing hack in GeoIpLookup
* Update formatter for subscription dashboard
* Flip assignment to assign all users and add event segmentations
* Fix linting
* Review suggestions - factorised recommended currency helper function
GitOrigin-RevId: b1616520f8c7ead689a840720057297e67d3f574
* Use a block widget for top padding
* Update review panel positions when the editor geometry changes
* Remove editorPaddingTop from position calculations
* Recalculate review panel on start adding comment
* Assert on line content rather than index
* Use broadcastChange
* Keep focus in the editor when opening the review panel
* debounce broadcastChange
* Set CULL_AFTER to Infinity
GitOrigin-RevId: a8d7b8967736a9164b5264eeaadf334c15ec95ce
- Extract/duplicate the style from editor file tree (only extract styling that's being used in history file tree)
- Change some of the class name to avoid duplicated class name from the editor file tree
- Revert change to editor file tree since it has been moved to history file tree
GitOrigin-RevId: 6c3b20080c9b428363024db622f60e3540d919e6
* Update Copybara options in preparation for open-sourcing the source editor
* Move files
* Update paths
* Remove source-editor module and checks for its existence
* Explicitly mention CM6 license in files that contain code adapted from CM6
GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b
* Add react file tree UI to history view
* Use history data from API to render react file tree in history view
GitOrigin-RevId: 2b1eb5422f0c91fdf5e87e21d1e5d06defd45e98
* Implement onboarding video tour split test:
- Add split test infrastructure
- Create new `OnboardingVideoTourModal` component
- Place the component inside the editor pug template with a split test
* add event segmentation for `onboarding-video-tour-close-button-click` event:
1. video: `first` | `second`
2. firstVideoWatchingTimeInSecond: total time watching first video
2. secondVideoWatchingTimeInSecond: total time watching second video (0 if skipped)
* add event segmentation for:
1. `onboarding-video-tour-dismiss-button-click`
2. `onboarding-video-tour-next-button-click`
3. `onboarding-video-tour-done-button-click`
with these key/value:
1. firstVideoWatchingTimeInSecond: total time watching first video
2. secondVideoWatchingTimeInSecond: total time watching second video (0 if skipped/not watched yet)
* Use contentful to host video assets
GitOrigin-RevId: 27a6f38d15d7a03b07455e216dda63d99983ca80
* Refactor & change `add-affiliation.tsx` file:
* Change class from `user-profile` to `add-affiliation`
* Add new optional `className` props for custom styling
* Show affiliation widget on mobile screen:
* Fix bug on use add affiliation hooks: return type should be `boolean`, not `boolean | 0`
GitOrigin-RevId: 800b951e2a012797266b1780993b4ed9a918d565
* Add new event segmentations for the upgrade button in dashboard to help analysis
* Also add an extra check for the upgrade button in the navbar since it's only appeared in the project dashboard react version
GitOrigin-RevId: fca14e3adfbafd0fd143b045ba43588913f7297b
* Implement new users micro survey for project dashboard page on react and non-react version
* Add 'new-users-micro-survey-click' and 'new-users-micro-survey-prompt' new event for the analytics
GitOrigin-RevId: 9aabe931987638b38995d404aa90ac4d40b2f3b5
- Implement the banner on both react and non-react project dashboard
- Use split test with 4 different variants, `save`, `empower`, `did-you-know`, and `default`, each variant has a different copy, except the `default` which won't show the banner to users
GitOrigin-RevId: ee76769dfd38b8e52de8cc0f201c24e41905d016
- Importing SettingsController from the angular code, which enables post requests for every select menu and socket handler for compiler, texlive version, and main document select option
- New context for the data handling infrastructure between react and angular. The data is still located in the angular version, and I use the context only as a proxy to fetch/post new data.
GitOrigin-RevId: 59009bceb128d82969a2318e90036aacf79f9887
* Improve "compile" keypress handling
* Remove "compile" keypress handling from PDF preview
* Remove compile shortcuts from CM6
* Use an event for Vim keybindings
* Remove event handlers from Angular/Ace
* Move useCompileTriggers into DetachCompileProvider
GitOrigin-RevId: 7f0e667b5106a849458e06ebb0f7a413d5d63430
* Update "go to line" hotkey for cm6 and add new info text in hotkeys modal
* Differentiate modal title between cm6 and ace hotkeys
* Update test to reflect change in hotkeys modal title
* Add test for hotkeys modal bottom text
* Update test on editor left menu hotkeys button to reflect change in hotkeys modal title
GitOrigin-RevId: 61bae16313ea7a37fa3b9441dbe5a93ab7823d01
Implement legacy source editor survey:
* Force user to switch to cm6 if they haven't seen switch away survey
* Only show user switch away survey if they open ace from another editor
* We need to wait 3 seconds until the survey is being shown
* Add comment to explain the reasoning of not showing cm6 switch away survey for rich text users
* Use localstorage `editor.has_seen_cm6_switch_away_survey` setter to not show the survey if user has seen the survey
* the `editor.has_seen_cm6_switch_away_survey` will have the value `true` even if user is not interacting with it, so update comment to reflect that
* Add `once: true` option to keydown event to avoid unnecessary callback invocation upon key presses
GitOrigin-RevId: c26be2bb39efac2dff112c821fca893e5993dcbf
* 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