Commit graph

262 commits

Author SHA1 Message Date
Jakob Ackermann
6916e22b09 [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
408f6dfee3 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
18c2b4108d 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
04c42f03e1 [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
8138c76c1d [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
4d857b7937 [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
a7e00e19e2 Only dispatch doc:changed event for insert or delete operations (#23779)
GitOrigin-RevId: b3425d4edffb045b2a15e5fc5cb69210d9e97203
2025-02-24 09:05:02 +00:00
Alf Eaton
6688b81ece 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
8ca5360454 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
Alf Eaton
432bbe0db8 Merge pull request #23714 from overleaf/ae-revert-unsaved-docs
Revert "Increase the length of unsaved doc time before the editor is locked"

GitOrigin-RevId: 0f2d257a55ebc3353ded2b10d505bfdb2e85f402
2025-02-20 09:05:53 +00:00
Eric Mc Sween
483c97a484 Merge pull request #23691 from overleaf/em-resolve-comments-permissions
Add resolveAllComments and resolveOwnComments permissions

GitOrigin-RevId: 1fca9391dc3ff6e890532054582c49f11731e987
2025-02-20 09:05:45 +00:00
Eric Mc Sween
ae491f910b Merge pull request #23692 from overleaf/em-history-errors
Move error boundary inside history container

GitOrigin-RevId: cd4c911cef18b50cd4187f655e818c9ab851cfe0
2025-02-20 09:05:40 +00:00
Alf Eaton
f40118e58b Increase the length of unsaved doc time before the editor is locked (#23431)
* 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
2025-02-20 09:05:20 +00:00
Alf Eaton
04a2e24a89 Use refs and timeout for editor heartbeat events (#23340)
GitOrigin-RevId: 4eb7697fb40c9aaf523765c256c870a21afb0844
2025-02-20 09:05:15 +00:00
Eric Mc Sween
4152d3d796 Merge pull request #23667 from overleaf/em-read-only-label-version
Prevent read-only users from labelling a version

GitOrigin-RevId: 472e70f3860553b131f20afe3dfd01aa00bd48fa
2025-02-19 09:05:26 +00:00
David
46e9c69d8e Merge pull request #23597 from overleaf/dp-integrations-panel
Add integration panel to new editor

GitOrigin-RevId: 85e038c645e40d0ea596ed35d31448caa232e298
2025-02-19 09:05:02 +00:00
David
f219744fdd Merge pull request #23344 from overleaf/dp-file-tree-toolbar
Update file tree toolbar in new editor

GitOrigin-RevId: 11ca678b50e0c525ae60b806dfbc08773b661b7b
2025-02-07 09:06:30 +00:00
Alf Eaton
294079d55e Remove uses of editor scope values (#23312)
GitOrigin-RevId: 97e2188bc1363618b60f722fa317a5b240d5013b
2025-02-07 09:05:12 +00:00
Alf Eaton
9854d37916 Minimise use of ide context provider (#23308)
GitOrigin-RevId: 468b8d4b33925bdb97bd46d2c4e7acb969f3d82b
2025-02-07 09:05:05 +00:00
Alf Eaton
185c53bd70 Restore return on join doc error (#23377)
GitOrigin-RevId: df03621221ecacffe50cb805fd3a2fd71ce773a7
2025-02-07 09:04:57 +00:00
Alf Eaton
36392832d5 Remove unused EventLog (#23419)
GitOrigin-RevId: 25e09466c2a16545436fd9c312431f78e68b3194
2025-02-07 09:04:32 +00:00
Alf Eaton
c629355472 Only select content when opening a file if it matches the expected text (#23324)
GitOrigin-RevId: 8b180ab897bb9027743c37f2b7faf690b7177eb6
2025-02-05 09:05:23 +00:00
Alf Eaton
87186eb568 Standardise naming of openDocId as openDocWithId or currentDocumentId (#23307)
GitOrigin-RevId: d71b6d878188c7b916f02a3749976ecd96d648a3
2025-02-05 09:05:15 +00:00
Alf Eaton
d899144d43 Remove doc:opened event (#23310)
GitOrigin-RevId: e0613c4ac548b57786df6a28f433636485dbb2a7
2025-02-05 09:05:07 +00:00
Alf Eaton
341f84ca80 Return a promise from openDoc (#23309)
GitOrigin-RevId: a2801ce482e48a061269d819aff16a6c6e507955
2025-02-05 09:05:03 +00:00
Alf Eaton
797686939f Merge pull request #23284 from overleaf/ae-scope-event-types
Improve scope event types

GitOrigin-RevId: 5327c56a14244a2513748d3bcbac04413d104e12
2025-02-05 09:04:58 +00:00
Kristina
70a17768a3 Merge pull request #23268 from overleaf/kh-rm-dead-link-sharing-code
[web] remove deprecated project sharing modal

GitOrigin-RevId: 7b25918363c27154e0000e9497847217f2317fce
2025-02-04 09:04:33 +00:00
Kristina
e3fdcdd601 Merge pull request #23131 from overleaf/kh-teardown-link-sharing-split-tests
[web] tear down link sharing split tests

GitOrigin-RevId: 449e9f368405aea1500035269428e7ae0c37d8fb
2025-02-04 09:04:25 +00:00
Jakob Ackermann
8df7f6772c [web] close connection permanently when opening out-of-sync modal (#23148)
* [web] close connection permanently when opening out-of-sync modal

* [web] disable generic forceDisconnected behavior for out-of-sync modal

* [web] hide "disconnected" banner when displaying out of sync modal

GitOrigin-RevId: 133b3e24d94279917298ce7fd5d0a76da2265512
2025-02-03 09:05:34 +00:00
Brian Gough
a6bfbad5bd Merge pull request #23246 from overleaf/bg-real-time-server-ping
add real-time ping-pong messages for debugging lost connections

GitOrigin-RevId: 28feb8c8c7c660a5a23ca394acd0f69ac828c5a3
2025-02-03 09:04:39 +00:00
Domagoj Kriskovic
461818810c Ensure editor decorations for comments are removed in the old review panel (#23239)
GitOrigin-RevId: d41d9b9701fc792c0190f4648ce9c4ddf035a967
2025-01-30 09:05:30 +00:00
David
f523358d08 Merge pull request #23182 from overleaf/dp-pdf-error-state
Add pdf error state for new ide

GitOrigin-RevId: 35fe07744996375db9cb3b860bdc128b509ee438
2025-01-30 09:05:12 +00:00
Mathias Jakobsen
4b46120ec1 Merge pull request #22928 from overleaf/mj-ide-toolbar
[web] Initial editor toolbar

GitOrigin-RevId: 33658d886bf86cbaa22a161f2ff463ef608e5f6b
2025-01-29 09:04:55 +00:00
Alf Eaton
71ab3a41ed Remove ColorManager (#22974)
GitOrigin-RevId: 32cb6fd599345eaf8e474553da5c6d3080575ee8
2025-01-29 09:04:48 +00:00
Alf Eaton
9e040d6946 Select matched text when a file is opened from a full project search result (#23139)
GitOrigin-RevId: bd3b66e89b70c4fa1d77e401d9e5fa755876ce9f
2025-01-29 09:04:33 +00:00
Jakob Ackermann
45a5d090d9 [web] add external 15s heartbeat to socket.io connection (#22853)
* [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
2025-01-28 09:05:12 +00:00
Alf Eaton
4351805f7c Remove CM6 performance measurement (#22663)
GitOrigin-RevId: 2178f2b66c200005517ed8ff52afadd8b5fda14b
2025-01-28 09:04:50 +00:00
David
f3077599bc Merge pull request #23082 from overleaf/dp-file-outline-typescript
Convert outline components to typescript

GitOrigin-RevId: 9fd057f70d9de7b9b209697a5d33ea72d5d64daa
2025-01-28 09:04:39 +00:00
Alf Eaton
f1e1d55d8c Merge pull request #22964 from overleaf/ae-project-search-flush
Ensure that open docs are flushed before running full project search

GitOrigin-RevId: 6707cf982018908a37957503add73a085c749f61
2025-01-24 09:05:05 +00:00
David
2365d8c199 Merge pull request #22836 from overleaf/dp-filetree-typescript
Convert file-tree util files to typescript

GitOrigin-RevId: bdf8d0655a543a216f028bc8477c3ee47aba5566
2025-01-22 09:04:56 +00:00
Mathias Jakobsen
d34d15242e Merge pull request #22855 from overleaf/mj-ide-settings
[web] Add settings modal skeleton to editor redesign

GitOrigin-RevId: bc2e7f07f7ab737a67965fa615a04c8ee88b1271
2025-01-21 09:05:23 +00:00
Alf Eaton
f069adaf15 Add full project search UI (#22671)
GitOrigin-RevId: f40c85f40f4c16b4b3c26a197924cd9ac9b3db1f
2025-01-16 09:05:45 +00:00
Alf Eaton
2fbb4615f9 Convert utility functions to TypeScript (#22658)
* 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
2025-01-16 09:05:36 +00:00
David
e9e59bbcc9 Merge pull request #22720 from overleaf/dp-editor-redesign
Editor redesign skeleton page

GitOrigin-RevId: 966c88ac3714e4cc7de3e21951e4e1641bfd6852
2025-01-09 09:05:43 +00:00
Alf Eaton
aaeac2cd72 Ensure that all callbacks for useEventListener are wrapped in useCallback (#22618)
GitOrigin-RevId: 4a7c409a9720eab04fc17e5111b6a3aeeac6871d
2025-01-09 09:05:00 +00:00
Alf Eaton
3ac1b48d10 Allow context providers to be overridden in ReactContextRoot (#22631)
* Allow providers to be overridden in ReactContextRoot
* Use ReactContextRoot in EditorProviders
* Use ReactContextRoot in ScopeDecorator

GitOrigin-RevId: bb6dab91f3fca843d7563ed812c4ea6f56fb28bb
2025-01-08 09:05:10 +00:00
David
4a8163b3f3 Add new trackedWrite frontend permission for review panel (#22486)
* Add new trackedWrite frontend permission for review panel

* Fix test lint

* Remove comment

* Fix codemirror tests

* hide file actions for reviewer

---------

Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 6aab5c662287a02750d81b3960bbdd9c98b325db
2024-12-17 09:04:48 +00:00
Domagoj Kriskovic
f39ca200b9 Support for adding reviewer role (#22314)
* Support for adding reviewer role

* added collaboratorsGetter tests

* emit toggle-track-changes when reviewer is added

GitOrigin-RevId: 5b831102d561f5dbc4b23ab9f6dc63e3a87ea103
2024-12-10 09:04:47 +00:00
Domagoj Kriskovic
511fe60a9c Revert "Support for adding reviewer role (#22137)" (#22293)
This reverts commit 54064a7f961fe06f188ab449cd469cdaaf01b20a.

GitOrigin-RevId: 1dabc635756aff465d2fe9aa0d18121b081df3b0
2024-12-04 09:05:12 +00:00
Domagoj Kriskovic
f676eca2b8 Support for adding reviewer role (#22137)
* Support for adding reviewer role

* show reviewer in track changes user list

* added "review" in assertClientCanViewProject

* test if reviewer can read project

* added collaboratorsGetter tests

* eit toggle-track-changes when track changes changes

* Support for changing privilege to reviewers for invited users (#22159)

* Add reviewer in change privilege level handler

* added reviewer translation

* added acceptance tests

* fix tests

* Set track changes state permissions for reviewer role (#22167)

* Add reviewer in change privilege level handler

* added reviewer translation

* added acceptance tests

* fix tests

* Set track changes state permissions for reviewer role

* added authorization helper tests

* added ensureUserCanReviewProjectContent middleware

* allow changing track changes only with write permissions

* removed canUserReviewProjectContent

* List projects where user is added as a reviewer (#22249)

* List projects where user is added as reviewer

* list projects in /user/projects

* fix tests

GitOrigin-RevId: 54064a7f961fe06f188ab449cd469cdaaf01b20a
2024-12-04 09:05:00 +00:00