* [web] provide an actual rootFolder from EditorProviders in tests
- Fixup SocketIOMock and ShareJS mocks to provide the complete interface
- Extend SocketIOMock interface to count event listeners
- Fixup test that did not expect to find a working rootDoc
* [web] expose imageName from ProjectContext
* [clsi-cache] check compiler settings before using compile from cache
* [web] avoid fetching initial compile from clsi-cache in PDF detach tab
GitOrigin-RevId: e3c754a7ceca55f03a317e1bc8ae45ed12cc2f02
* 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
* 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
* 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
* [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
* 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
* Allow providers to be overridden in ReactContextRoot
* Use ReactContextRoot in EditorProviders
* Use ReactContextRoot in ScopeDecorator
GitOrigin-RevId: bb6dab91f3fca843d7563ed812c4ea6f56fb28bb
* Add Story for `PdfCompileButton`
* Set the CompileButton height so it's similar to BS3
* Add the CompileButton animations
* Remove `sm` from CompileButton: makes font size bigger
* Use MaterialIcon in compile-button dropdown-toggle
* Use MaterialIcon in LayoutDropdown
* Fix stripe alignment on Recompile button
* Set padding around dropdown caret
Per Alexandru's instructions
* Prevent border from disappearing on hover
* Set the padding of the compile button even on both sides
Before: left 12px, right 16px;
After: left 16px, right 16px;
* Change px values to spacing var
* Add some button classes for BS5 only
* Don't render the hidden "Compiling…" in BS5, it changes the button width
* Prevent `loading="[object Object]"` in the DOM
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
---------
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 34f1eed03e63f3459243a37c878612a623f321f8
* [storybook] Rerender when switching BS version
* Move comment to related code (bsStyle)
* Wrap the Layout MenuItem "subdued" text, using flex-column
* Create a Story for `LayoutDropdownButton`
* Center `.layout-dropdown .dropdown-item` vertically
* Remove unused classname `layout-dropdown-list`
* [storybook] Allow `detachable` to be passed as a prop
* Migrate `DetachDisabled` to BS5
* [storybook] Set actions for `^handle.*`, rename story
GitOrigin-RevId: 18509d259fad02a8aeb52132f1919e216b092b7e
* [web] Migrate Logs components JSX to Bootstrap 5
* [web] Migrate logs.less to logs.scss
* [web] Remove unused class names
* [storybook] Define default Bootstrap version in Storybook
This prevents some warning in the console
* [storybook] Update pdf-preview.stories.jsx
* [storybook] Add pdf-log-entry.stories.tsx
* [storybook] Force re-renders when switching BS version
* [web] Keep files dropdown menu in bounds
* [web] Make files dropdown items not bold in BS5
* [web] Revert unrelated change
* [web] Fixup PreviewLogsPaneMaxEntries
* [web] Add style for log-entry-content-link
* [web] Replace log-entry by OLNotification in `PdfCodeCheckFailedNotice`
* [web] Use `BootstrapVersionSwitcher` instead of `isBootstrap5`
* [web] Rename `DropdownBS3` to `BS3Dropdown`
* [web] Reuse variables for `toolbar-height` and `toolbar-small-height`
* [web] Set `id` on `DropdownToggle` not `Dropdown`
* [web] Set `log-entry-btn-expand-collapse` in BS3 only
* [web] Remove `block: true` from StartFreeTrialButton in BS3
* [web] Remove unnecessary CSS in `.log-entry-header-link`
* [web] Use semantic color names
* Migrate the downloadable pdf file list to Bootstrap 5
* Remove nested BootstrapVersionSwitcher, fix "key" prop
* Update roles to: `<li role="menuitem">` `<a role="link">`
* Update `log-entry-header-link`: variant ghost and fix colors
---------
Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 89848970ab5d8a8c135335386caf24363f69a34c