Commit Graph

253 Commits

Author SHA1 Message Date
Antoine Clausse
192ca0479c [web] Move UI scope to React states (#26403)
* Move `ui.view` to setState

* Move `openFile` to setState

* Move `ui.leftMenuShown` to setState

* Move `ui.miniReviewPanelVisible` to setState

* Move `ui.pdfLayout` to setState

* Move `ui.chatOpen` to setState

* Move `ui.reviewPanelOpen` to setState

* Cleanup: remove layout-context-adapter and imports

* Replace `ui` scope by mocked `LayoutProvider` in tests

* Update test

* Remove unnecessary `scopeStore.set('ui.chatOpen' ...`

GitOrigin-RevId: 81578bfdc958239eac492905f714a6074c81d0f5
2025-06-25 08:05:15 +00:00
Antoine Clausse
485b8ff884 [web] Add compilation indicator favicon (#25990)
* Import changes from Hackathon

https://github.com/overleaf/internal/pull/24501

* Update compile status: allow errors

* Update favicons. Use the ones from Figma

* Optimize and reuse path from favicon.svg

* Clear status favicon after 5s on active tab

* Rename hook from useCompileNotification to useStatusFavicon

* Add tests

* Revert changes to favicon.svg

* Query favicon on document.head

GitOrigin-RevId: 3972b1981abaf6c80273e0ed5b1bc05eb51bd689
2025-06-24 08:05:15 +00:00
Miguel Serrano
177db2826c Merge pull request #26070 from overleaf/msm-disable-dropbox
[web] Disable Dropbox Capability

GitOrigin-RevId: 5f91d2918bf3b88e52f4d27c828a4715f9b88629
2025-06-20 08:05:20 +00:00
Antoine Clausse
e2add2cba1 [web] Rename docRoot_id to docRootId in the frontend code (#26337)
* Rename `rootDoc_id` to `rootDocId` in the frontend

* Update types

* Fix frontend test

GitOrigin-RevId: b755a4ebf7b8c0b8ed800d713bbae8cfcfdd5046
2025-06-18 08:07:05 +00:00
Antoine Clausse
37e550f43f [web] Remove instances of $scope and _ide (#26297)
* Remove `$scope` from `getMockIde`

* Replace `...getMockIde()` by `_id: projectId`

* Simplify stories decorator scope.tsx: less reliance on `window`

* Update helper editor-providers.jsx: pass data instead directly instead of using `window`

* Remove `cleanUpContext`

* Remove unused prop `clsiServerId`

* Update types to reflect unused properties

* Remove comment

* Add `ol-chatEnabled` in Storybook

* Revert moving `getMeta` outside of the component

This causes issues in Storybook

GitOrigin-RevId: dc2558ce814c2d738fb39450c57c104f4419efb8
2025-06-18 08:06:42 +00:00
andrew rumble
6ec0fd2ee2 Disable lint warnings for stubbed class
GitOrigin-RevId: bcee2d1ea4fcb5543fa31fd2174641e55d6c4d39
2025-06-11 08:06:00 +00:00
andrew rumble
6f0eb6901c Remove unused full arguments
As distinct from removing destructured props.

GitOrigin-RevId: d02ad8d36fb532559ed2899268d7b699f2f2fa37
2025-06-11 08:05:46 +00:00
Eric Mc Sween
55a90dc221 Merge pull request #26209 from overleaf/em-multiple-edit-ops
Support multiple ops in the history OT ShareJS type

GitOrigin-RevId: fad1e9081ed1978de414c5130692d3b23fcd13d8
2025-06-10 08:06:13 +00:00
Mathias Jakobsen
bb298263b0 Merge pull request #26257 from overleaf/mj-ide-breadcrumbs-crash
[web] Avoid editor crash when breadcrumbs can't find open entity

GitOrigin-RevId: 7c7f198c82e102ee9f8e2a59ca1755c3550bdf37
2025-06-10 08:05:46 +00:00
Mathias Jakobsen
4236265982 Merge pull request #26133 from overleaf/mj-ide-keyboard-shortcuts
[web] Editor redesign: Add keyboard shortcuts to menu bar

GitOrigin-RevId: 8fe844389de70a919ba836d03f0390f585532bb1
2025-06-10 08:05:42 +00:00
Eric Mc Sween
6d43673d5f Merge pull request #26128 from overleaf/em-no-tracked-deletes-in-cm
History OT: Remove tracked deletes from CodeMirror

GitOrigin-RevId: 4e7f30cf2ed90b0c261eaa4ba51a2f54fe6e3cef
2025-06-06 08:06:34 +00:00
Eric Mc Sween
266f2c47c0 Merge pull request #26041 from overleaf/em-history-ot-type-serialize
History OT type: operate on parsed EditOperations

GitOrigin-RevId: dbb35789736958d4ef398e566400d6e9a0e49e8b
2025-06-04 08:07:54 +00:00
Eric Mc Sween
d949b8f831 Merge pull request #25910 from overleaf/em-track-changes-sharejs
Track changes in the history OT sharejs doc

GitOrigin-RevId: 17365219f24a25790eac611dbde9681eb73d0961
2025-06-04 08:07:50 +00:00
Eric Mc Sween
8a1e5a3555 Merge pull request #25952 from overleaf/em-split-editor-facade
Split EditorFacade functionality for history OT (2nd attempt)

GitOrigin-RevId: 2bc6d6c54a9f336fd4a69f0eb548dd06b9f06f5f
2025-06-02 08:05:30 +00:00
Mathias Jakobsen
0827886060 Merge pull request #25955 from overleaf/mj-ide-editing-session
[analytics+web] Add editor redesign status to editing session segmentation

GitOrigin-RevId: 8f2a05a6851d41712a592952c18b845b77115f47
2025-05-30 08:05:35 +00:00
Eric Mc Sween
6d17c6e8b0 Merge pull request #25949 from overleaf/revert-25869-em-split-editor-facade
Revert "Split EditorFacade functionality for history OT"

GitOrigin-RevId: a55328e08776fa0f59071fca955ba73ef130984d
2025-05-28 08:05:30 +00:00
Eric Mc Sween
26300dea3b Merge pull request #25869 from overleaf/em-split-editor-facade
Split EditorFacade functionality for history OT

GitOrigin-RevId: 1e415e1d058c0de0b27271a9a5d7208b4a8a689b
2025-05-28 08:05:26 +00:00
Eric Mc Sween
43586bcaee Merge pull request #25825 from overleaf/em-accept-edit-operations
Accept all EditOperations in history-ot type

GitOrigin-RevId: b3bc710c92c4aa31dfeec16d422e42f0a6bb8cdb
2025-05-23 08:05:46 +00:00
Jakob Ackermann
98762a55c5 [history-ot] rename remaining history-v1-ot references to history-ot (#25428)
* [history-ot] rename remaining history-v1-ot references to history-ot

* [web] rename History-v1 OT -> History OT in admin panel

* [web] rename OT Migration -> History OT Migration in admin panel

GitOrigin-RevId: 103ce816d5320d6379d51009cdc08b8a71aa48e6
2025-05-20 08:06:46 +00:00
Tim Down
cb150a6043 Merge pull request #25502 from overleaf/td-chat-open-bug
Prevent chat opening by default for new user

GitOrigin-RevId: 260050c26f6b9dee7ea52284dadb7ed00ce9eddb
2025-05-13 08:08:11 +00:00
Jimmy Domagala-Tang
9aa325ff2d Merge pull request #25151 from overleaf/dk-use-user-features
UserFeaturesContext with cross-tab syncing via BroadcastChannel

GitOrigin-RevId: 4262719f5018f5717211851ce28b3255af65461a
2025-05-13 08:07:57 +00:00
Jakob Ackermann
e54d3c3e19 [history-ot] initial implementation of using doc-level history-ot (#25054)
* [history-v1-ot] initial implementation of using doc-level history-v1-ot

* [web] fix advancing of the otMigrationStage

Use 'nextStage' for the user provided, desired stage when advancing.

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [document-updater] document size check in editor-core

* [history-ot] rename history-v1-ot to history-ot and add types

* [history-ot] apply review feedback

- remove extra !!
- merge variable assignment when processing diff-match-match output
- add helper function for getting docstore lines view of StringFileData

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

* Revert "[document-updater] add safe rollback point for history-ot (#25283)"

This reverts commit d7230dd14a379a27d2c6ab03a006463a18979d06

Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

---------

Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 89c497782adb0427635d50d02263d6f535b12481
2025-05-08 08:05:44 +00:00
David
306b5d4f55 Merge pull request #25164 from overleaf/dp-editor-survey
Create Editor Survey

GitOrigin-RevId: dc11ef16c0a00aa846ac7a664dd88e9531e832f2
2025-05-02 08:05:47 +00:00
Tim Down
aae0d42002 Merge pull request #23940 from overleaf/td-react-18
Upgrade to React 18

GitOrigin-RevId: 9b81936e6eea2bccd97fe5c2c5841f0b946371b8
2025-05-02 08:05:29 +00:00
Tim Down
719fbe7847 Merge pull request #25093 from overleaf/td-upgrade-react-error-boundary-second-attempt
Upgrade react-error-boundary to version 5, second attempt

GitOrigin-RevId: 2b88334b66f0ace383211c147279ff88e9f956bb
2025-04-29 08:06:23 +00:00
Alf Eaton
12463ac08d Use toast notifications for SyncTeX errors and handle missing file errors (#24579)
GitOrigin-RevId: 88c6658ff0d11fdb43cef19c48b542a3b2206666
2025-04-28 08:05:42 +00:00
Jakob Ackermann
ead78d49ea [web] avoid accessing the sharejs snapshot directly (#25037)
* [web] avoid accessing the sharejs snapshot directly

* [web] limit API interface for sharejs types

GitOrigin-RevId: faece372128e4580376e32fa93aa8fedf1e02957
2025-04-24 08:05:15 +00:00
Domagoj Kriskovic
e508f11719 "default-visual-for-beginners" split test tear down (#24759)
GitOrigin-RevId: cdd6c8d3ffb60b9ae3e972f2267f1838cf720c83
2025-04-16 08:05:47 +00:00
David
925334d776 Merge pull request #24859 from overleaf/dp-history-file-tree
Always show file tree in history view in new editor

GitOrigin-RevId: e993aae4c1625ef7fb0a716ae5bff8edb0e8d0d0
2025-04-16 08:04:52 +00:00
Mathias Jakobsen
283f55b448 Merge pull request #24427 from overleaf/mj-command-registry
[web] Editor redesign: Add command registry

GitOrigin-RevId: c3d78d052f7e6e067de3247da8fe04329d8822ff
2025-04-07 08:04:40 +00:00
Alf Eaton
c8a13182ed Avoid setting pendingOpCreatedAt for remote changes (#24542)
GitOrigin-RevId: 5d1684a743825cac23d486678b8f249cf0d152d8
2025-03-27 09:06:02 +00:00
Jakob Ackermann
cd267d7735 [web] ensure that only a single socket.io transport is connected (#24422)
GitOrigin-RevId: 9397b0c85f0a889385d4761945e976ada7aa537b
2025-03-27 09:05:14 +00:00
Alf Eaton
bee486977b Remove unused flush-changes listener (#24449)
GitOrigin-RevId: e22a6677617e1d20f9cd4fce38653d126714a553
2025-03-27 09:05:06 +00:00
Miguel Serrano
5067695fbb Merge pull request #24327 from overleaf/msm-update-max-reconnect-gracefully-interval
[web] Make `maxReconnectGracefullyIntervalMs` configurable

GitOrigin-RevId: 18846b050e76ec86d00bc0dd7e07ab09d552bed7
2025-03-26 09:04:56 +00:00
Alf Eaton
866c18b6c3 Convert GitHub Sync tests to Cypress (#24228)
* Use OError
* Remove setTimeout stub
* Convert GitHub Sync tests to Cypress
* Use setIgnoringExternalUpdates directly
* Migrate remaining GitHub Sync components to TypeScript

GitOrigin-RevId: 7c8b875b9a7bbf6353d87a5f93c2267d1d4bc65d
2025-03-24 10:51:00 +00:00
Alf Eaton
3876643f6f Record an event when the "unsaved doc" alert is displayed (#24431)
GitOrigin-RevId: 87ccdf5a15173afa7548532d72fb1d3e32f255fe
2025-03-24 10:50:56 +00:00
Domagoj Kriskovic
cff3389a68 Disable track changes for reviewers in free projects (#24368)
* Disable track changes for reviewers in free projects

* cleanup_unused_locales

GitOrigin-RevId: 806ee20c0aed5ef61352041782af620cec72ed70
2025-03-24 10:49:20 +00:00
Alf Eaton
689a3c103b Remove 'review-panel-redesign' split test and old code (#24235)
GitOrigin-RevId: 1f3d4a9a51429591a82391a9bee3cfdf226bc9c8
2025-03-24 10:48:15 +00:00
David
062b2d57f8 Merge pull request #24137 from overleaf/mj-ide-permissions-utils
[web] Add switcher for editor redesign

GitOrigin-RevId: 806a1f567027df53f879b564a50aaae9166c8480
2025-03-18 09:05:40 +00:00
Alf Eaton
495dbe7b42 Merge pull request #24196 from overleaf/ae-fetch-data-access
Avoid fetching unavailable project data

GitOrigin-RevId: 58fd58f098af5e3eb000e31f22b403d3e28ef691
2025-03-12 09:05:18 +00:00
Alf Eaton
a12e2001c3 Remove Bootstrap 3 code from IDE page components (#23061)
GitOrigin-RevId: b41aff10672bf96e892de0be396a69eb25e2443b
2025-03-07 09:05:45 +00:00
Jakob Ackermann
7c2243a59a [real-time] log transport and clientId in both directions of serverPing (#24084)
GitOrigin-RevId: dabd8db6949498ef1a6252864cef94cd4329e3c0
2025-03-07 09:04:40 +00:00
Domagoj Kriskovic
e85233b12c Open overleaf assist paywall via event listener (#23958)
* Add overleaf assist paywall modal component in storybook

* update img alt

* remove data-action

* rename assistant -> assist

* use css var for blue color

* Open Overleaf assist paywall if in "overleaf-assist-bundle" split-test

* dont use optional planCode

* Open overleaf assist paywal via event listener

* rename to mainEditorLayoutModals

* call setAssistantUpgraded when modal is shown

* fix merge mistake

* fix lint error

* fix merge differences

GitOrigin-RevId: 0b3162a5c241d4dbe2773ae773c3e35f02c5c492
2025-03-04 09:04:37 +00:00
Alf Eaton
aedb835067 Tidy up global scope values (#20379)
* Remove crypto from window
* Remove ui.loadingStyleSheet
* Remove onlineUsers scope
* Remove addNewComment

GitOrigin-RevId: 5e62ed7f265cdd530b5ca85488477093b0be775a
2025-02-28 09:05:15 +00:00
Jakob Ackermann
76a5002e6d [web] editor connection tweaks for connection attempts when offline (#23864)
* [web] only flag errors originating from WebSocket connect as ws failure

* [web] slow down reconnecting when potentially offline

GitOrigin-RevId: 7c587d52dfe8092c45e2152f929e05e814db98f4
2025-02-26 09:04:47 +00:00
Jakob Ackermann
fd83d1a1cb [web] restrict external heartbeat/server ping to websocket transport (#23830)
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: c03a78e2c05cd380b705bd14652060980682cb39
2025-02-25 09:05:02 +00:00
Jakob Ackermann
d05669f551 [web] editor connection fixes (#23807)
* [haproxy] add support for xhr-polling in real-time

* [web] try 3 WebSockets then fallback to xhr-polling when (re-)connecting

* [web] ensure old socket.io transport has been closed when reconnecting

* [web] close xhr-polling transport before leaving the page

This will de-register the client, leave the project and clean up the
connected clients tracking ASAP.

* [web] rename constant to avoid confusion

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 55e500c341145947e5589875438fc796394b6ae4
2025-02-25 09:04:58 +00:00
Alf Eaton
717454dbbc Only dispatch doc:changed event for insert or delete operations (#23779)
GitOrigin-RevId: b3425d4edffb045b2a15e5fc5cb69210d9e97203
2025-02-24 09:05:02 +00:00
Alf Eaton
e81c1bd06c Ensure that the Chat pane is disabled for read-only link collaborators (#23785)
GitOrigin-RevId: 56e1b1d6b08ec7537386cab0b251e325d681e117
2025-02-24 09:04:58 +00:00
Alf Eaton
761af696b2 Reapply "Increase the length of unsaved doc time before the editor is locked" (#23723)
* 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
2025-02-20 09:06:31 +00:00