* Allow selecting comment text without changing scroll position
* cursor:default on review content
* check text selection on mouseup
* update comment
GitOrigin-RevId: f867613f5b4d08c3b960abfa061b14b404f411a8
* Remove uses of `useIsDsNav`
* Remove `sidebar-navigation-ui-update` as true from analytics events
* Hide "ds-nav" survey for users who have the feature flag
* `make cleanup_unused_locales` & `bin/run web npm run extract-translations`
* Update frontend tests
GitOrigin-RevId: 83f429d81ca1b46e9eab4fc667a921026a85912f
* [web] wait for sending project invite notification, send email detached
Errors from sending the notification or email are still logged only.
Wait up-to ~one second for notification to be sent (API timeout is 1s).
* [server-pro] tests: wait for invite action to complete
GitOrigin-RevId: e6998e6134b5267c91b47785d616a46e9651b996
* hide cached files/logs and files buttons while primary paywall showing
* replace plans link with interstitial
* open checkout in new tab
* editors > collaborators, use correct collab count for student plan, refactor collab translations
* fix variable case
GitOrigin-RevId: 48f53aa385ed6d7e5c9b485fe4a045a47c448777
* Reapply "Increase the length of unsaved doc time before the editor is locked (#23431)"
This reverts commit d0efca398e59ca488c530ee9ec5ca76f29843679.
* Use pendingOpCreatedAt if inflightOpCreatedAt isn't set
GitOrigin-RevId: b3301d7cc1554215a4ba569537bd47beeefde20f
* adding a hello world end point in analytics service for customerio
* adding updateCustomerIoUser handler function
* setting up the function recordUserAnalyticsEvent
* removing hello function and adding end points for update and track function
* installing the node js source for customer io
* adding the the functions for identify and track events
* adding a properties property
* adding new API key
* cleaning some code and making some changes to make it work
* renaming function to include identify keyword
* adding some detailed succes messages and try catch blocks
* adding a temporary key for testing
* adding the env variable for key
* adding a fallback value for acceptance test, this will need more investigation later on
* deleting the controller, as the handler functions will directly be linked to the customerio queue, so we do not want this path anynmore
GitOrigin-RevId: 38e0cb713e5d6a14c70cdbfb2a7463c633746bbe
* Use opInflightSince to measure unsaved doc time
* Use performance.now() for lastAcked timestamp
* Use inflightOpCreatedAt
* Increase MAX_UNSAVED_ALERT_SECONDS to 15
* Increase MAX_UNSAVED_SECONDS to 30
* Increase FATAL_OP_TIMEOUT to 45000
* Convert "Connection lost" modal to a notification
GitOrigin-RevId: 2d4233723620fd03ce6d6c5795c48c33c0b2f92c
* Create script: remove_unconfirmed_emails.mjs
* Update script remove_unconfirmed_emails.mjs after pairing
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
* Add user counts. Add timing
* Revert previous changes: just remove the fully unconfirmed emails
* Add tests on scripts/remove_unconfirmed_emails.mjs
* Update audit log so `removedEmail` is a string and doesn't break the admin-panel audit logs list
* Update remove_unconfirmed_emails to have a `--generate` and a `--consume` mode
* Update tests on remove_unconfirmed_emails
* Add tests checking that `--consume` doesn't delete any email
* Update script so `--consume` checks that emails shouldn't be deleted again!
* Update CSV path to `/tmp/...`
* Add test cases: deleted users, deleted email, comma in email
---------
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 8c60b56bcdfa33bc6143d66c32a5f430fb76f6d7
* [server-ce] upgrade mongo to 6.0 in e2e tests
* [server-ce] upgrade mongo to 6.0 for CE dev-env
GitOrigin-RevId: 6a76297d32177a8b5a067d325e74bdb01971af30