* Move `hasLintingError` from scope to react state
* Move `permissionsLevel` to IdeReactContext states
* Get `permissionsLevel` from `useIdeReactContext()`
* Set `permissionsLevel` in mocked `IdeReactProvider`
* Replace `permissions` scope by React state
* Fixup `permission` changes
* Remove redundant type
GitOrigin-RevId: 6203c61f9ac429789624196bf67e508310f4577f
* Pull email context outside of `ResendConfirmationCodeModal`
* Use `loading` prop of button instead of deprecated Icon
* Swap notification order to clarify priority (no change in behaviour)
* Replace confirmation link action by confirmationCodeModal, and simplify code
* Change to secondary button variant in the Notification
* Display errors within the modal
* Increase ratelimit for resend-confirmation
* Copy changes
* Add stories on email confirmation notifications
* Fix other Notification stories
* Update tests
* Update services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx
Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>
* Remove placeholder on 6-digit code input
---------
Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>
GitOrigin-RevId: dad8bfd79505a2e7d065fd48791fd57c8a31e071
* [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