* [web] add external 15s heartbeat to socket.io connection
* [web] extend debugging context for client errors
- include performance.now() timestamp for correlating other timings
- include connectionState, especially for new externalHeartbeat detail
- include spellCheckLanguage to check on client-side spelling impact
* [web] remove unnecessary hook dependency
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
* Refactor externalHeartbeat
* Add connectionManager to context
* Clear the interval earlier, and on connect
* [web] refactor handling of socket debugging info
* [web] add split-test for external socket heartbeat
* [web] fully remove connectionManager from connection context
---------
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: fbebe64f8aa207eb4fd4a8f27d522d1cac35f9d4
* Prevent scrolling when reply textarea is focused
* remove focusIsOnTextarea check as it is handled above
* remove unnecessery setSelected
GitOrigin-RevId: 5ce3fc6691a19fe2566875785607bb4faa3e9f52
* Increase threshold for "latency in red color"
* Fix online status in Chrome and Safari
* Add "Auto ping" checkbox
* Put `/socket-diagnostics` behind `AuthenticationController.requireLogin`
* Set logs to `logger.info` when debugging
* Add `publicId` and `clientId` to logs
* Fix disconnect logs when debugging
* Refresh UI every second. Display red "Ping Count" if unanswered for 3s
* Update services/web/frontend/js/features/socket-diagnostics/components/socket-diagnostics.tsx
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Update services/web/frontend/js/features/socket-diagnostics/components/socket-diagnostics.tsx
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* `npm run format:fix`
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 9faf2abdac51fa4b87c67d8fe89c4125d01d826f
* Create a UI to test socket connection
* Add Clock Delta to the measurements
* Add colors to DiagnosticItem
* Update icon
* Add more info to the diagnostics screen
* Add logs in backend on debug messages, disconnections and connection
* Add last received ping info
* Reorder DiagnosticItems
* Remove "warning" text color (too light)
* Replace Phosphor icons by Material Icons
GitOrigin-RevId: 6a015b4928cd19849ff287cf254f671840ed44af
* Add `dsNavStyle` prop, so `sidebar-navigation-ui-update` doesn't change all pages
* Use `useIsDsNav` instead of `useSplitTestContext`
* Create a `useDsNavStyle` hook
* Use `useDsNavStyle`
* Add comment on `useIsDsNav` and `NavStyleContext`
* Revert "Hide nav dropdown chevron icon in welcome page"
This reverts commit 78b5ba85
* Move `DsNavStyleProvider` usage to project-list-ds-nav.tsx
* Fix typo
* Simplify `useDsNavStyle` conditions
GitOrigin-RevId: df3fe66d772919c40df69d357bee6949ab413928
* Convert event-tracking to TypeScript
* Convert local-storage to TypeScript
* Convert mapSeries to TypeScript
* Convert SessionStorage to TypeScript
* Convert account-upgrade to TypeScript
* Convert isValidTeXFile to TypeScript
* Convert date functions to TypeScript
* Convert EventEmitter to TypeScript
* Convert isNetworkError to TypeScript
* Convert webpack-public-path to TypeScript
* Convert displayNameForUser to TypeScript
GitOrigin-RevId: 79c5a2d1101fcd520f3116f0f4af29d974189d94
* [web] rm split test from the change to group modal
* [web] rm split test from cancel flow
* [web] rm split test from checkout flow
* [web] rm unused translations
GitOrigin-RevId: 0188f2631ed18e79fdf55dabedac7cdea4f213d3