Commit graph

257 commits

Author SHA1 Message Date
Mathias Jakobsen
4ab4fbdf51 Merge pull request #26951 from overleaf/mj-layout-broken
[web] Add restoreView to LayoutContext

GitOrigin-RevId: 3a50c1e215c99236f503285fee1c924df57e07e4
2025-07-11 08:05:06 +00:00
Tim Down
bfa0459e72 Merge pull request #26928 from overleaf/td-remove-use-scope-value
Remove useScopeValue and its associated store

GitOrigin-RevId: 439d6eb16343f65695ef615a9ff697d0cc5ad2c7
2025-07-10 08:08:59 +00:00
Tim Down
905cc5d45f Move project context out of scope value store (#26615)
* Refactor project context to not use scope store

* Fix Cypress tests for project context changes

* Fix frontend React Testing Library tests for project context changes

* Remove redundant code

* Fix some project types in tests

* Remove unused import and fix a type

* Throw an error if updating the project in the project context before joining the project

* Fix some review panel tests

* Remove unused imports

GitOrigin-RevId: 2f0c928b651f387aa980c29aef7d1ba0649790a7
2025-07-10 08:06:31 +00:00
David
74063b14e0 Merge pull request #26909 from overleaf/dp-eq-preview-presentation-mode
Prevent codemirror tooltips appearing on top of pdf preview

GitOrigin-RevId: 0c6ce15cd91b4958674fbc247bcd27ce5778f7fc
2025-07-10 08:05:34 +00:00
Tim Down
132ccbc4cc Merge pull request #26583 from overleaf/td-editor-scope-values-to-context
Move scope values starting with `editor.` to contexts

GitOrigin-RevId: 7ca349ceff002228cf4e931c644c8c386eb6c597
2025-07-09 08:05:15 +00:00
Antoine Clausse
07b1701b72 [web] Convert EditorProviders and some test files to Typescript (#26512)
* Rename files to tsx

* Update types

* Remove props that aren't typed

* Add `LayoutContextOwnStates`

* Use `LayoutContextOwnStates`

* Ignore ts errors about `SocketIOMock`

* Address comments: remove `satisfies`, update `BroadcastChannel` fixture

* Add types to `makeEditorOpenDocProvider`. Update `openDocId`->`currentDocumentId`

* misc.

* Type sockets as `SocketIOMock & Socket`

* Fix remaining typing errors

* Fix type of `ideReactContextValue`

GitOrigin-RevId: 2734ac707517d56c452b0bf06ea3438f947a64be
2025-07-07 08:05:40 +00:00
Antoine Clausse
09a534f48b [web] Move scopes permissionsLevel, permissions and hasLintingError to React context (#26607)
* 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
2025-07-07 08:05:36 +00:00
Antoine Clausse
40136785dd [web] Move pdf.* scopes to react states (#26599)
* Move `pdf.logEntryAnnotations` to react state

* Remove unused scope `pdf.downloadUrl`

* Remove unused scope `pdf.url`

* Move `pdf.uncompiled` to react state

* Move `pdf.logEntries` to react state

* Remove `pdf` from `mockScope`

* Fix test: "renders annotations in the gutter"

GitOrigin-RevId: bf1d0ec30cc0ffcc1177871651483c296ed08baf
2025-07-03 08:04:58 +00:00
Tim Down
904fac958d Merge pull request #26326 from overleaf/td-clean-up-scope-store
Create separate window.overleaf.unstable.store based on React context values

GitOrigin-RevId: 68f070a6fc5e2965a82720024d91b16fa622b28b
2025-07-02 08:05:53 +00:00
Domagoj Kriskovic
3b65a674d0 Allow switching reviewing mode for anonymous editors (#26426)
* Revert "Remove reference to track changes ofForGuests"

This reverts commit 675f3864e4bf0a07d24848223814768ab50bfd9b.

* handle track changes for guests

* only send on_for_guests

* update test

GitOrigin-RevId: 15308f0904b26d2ea6a2e57b3852cd2a9b3c886d
2025-06-26 08:05:43 +00:00
Mathias Jakobsen
9d267f0803 Merge pull request #26499 from overleaf/dp-pdf-couldnt-compile
Update handling of "suggest fix" in new editor

GitOrigin-RevId: 80d6fa479bc1d12d7e5b82a8c504830c9f4db182
2025-06-26 08:05:14 +00:00
Mathias Jakobsen
4fd9c6fd18 Merge pull request #26440 from overleaf/mj-ide-co-branding-submit
[web] Editor redesign: Add co-branded submit button to toolbar

GitOrigin-RevId: 45f7ba93de8b28868d88a4ad913f6543e0f7e0a6
2025-06-26 08:05:10 +00:00
Antoine Clausse
9e189e7d59 [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
494f0a4b1a [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
3ba002460e [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
David
dc252fe772 Merge pull request #26472 from overleaf/dp-full-project-search-shortcut
Add mod-shift-f shortcut to open full-project-search to new editor

GitOrigin-RevId: a843c408cc8bd30228cbb7bc17309f4f9ff355b3
2025-06-18 08:05:48 +00:00
Domagoj Kriskovic
62714d995d Revert "Reinitialise Writefull toolbar after buying AI assist (#25741)" (#26144)
This reverts commit 7247ae45ca7de7f1f3778b1b22f49e2ff840a7ef.

GitOrigin-RevId: c6dc1a073ce3d0f9703e426df1c12fa1c7ffac5c
2025-06-05 08:05:28 +00:00
David
db98f5132b Merge pull request #25939 from overleaf/dp-error-logs
Update error logs designs for new editor

GitOrigin-RevId: 0de3a54446a0ff114a1debb7b5f274d3a8f19c42
2025-06-05 08:05:11 +00:00
Mathias Jakobsen
da449f9f5f Merge pull request #26015 from overleaf/mj-ide-breadcrumbs-setting
[web] Add setting to control editor breadcrumbs

GitOrigin-RevId: 6e0a4bb97eba63a1df43d85840f8962bf0238b7c
2025-06-03 08:05:49 +00:00
David
c450094659 Merge pull request #25804 from overleaf/dp-on-for-guests
Remove references to removed track changes onForGuests option

GitOrigin-RevId: c251ad41633df33f0d963dbc3c2e5cb62920a5e1
2025-05-23 08:05:59 +00:00
Domagoj Kriskovic
9b27ed4798 Reinitialise Writefull toolbar after buying AI assist (#25741)
* Reinitialise Writefull toolbar after buying AI assist (#25596)

* Reinit Writefull toolbar after buying AI assist

* use refreshSession()

* add a timeout

* add a second refresh

* Increase a timeout for second refresh of writefull session (#25725)

GitOrigin-RevId: 7247ae45ca7de7f1f3778b1b22f49e2ff840a7ef
2025-05-22 08:07:16 +00:00
Domagoj Kriskovic
b8e391c005 Handle undefined user features in UserFeaturesProvider
GitOrigin-RevId: 70841809f691e9f20591bdf1ea05c510a44892af
2025-05-22 08:07:11 +00:00
David
0b9cb185fa Merge pull request #25740 from overleaf/dp-gutter-error-logs
Correctly open logs when using AI assist gutter button in new editor

GitOrigin-RevId: 2700832f9e18d10ca3e6ee52841d31613fee626c
2025-05-22 08:06:47 +00:00
Domagoj Kriskovic
b375b13950 Revert "Reinitialise Writefull toolbar after buying AI assist" (#25731)
* Revert "Increase a timeout for second refresh of writefull session (#25725)"

This reverts commit 0a34bdde656ade863aead22f003253e13af37829.

* Revert "Reinitialise Writefull toolbar after buying AI assist (#25596)"

This reverts commit a2572d62bce0e344d92696e42d137a0b36574b3b.

GitOrigin-RevId: 3d51a4375059ab9f4494a7e18b132cc5db34e4cd
2025-05-19 12:27:00 +00:00
Domagoj Kriskovic
50a5c7984d Reinitialise Writefull toolbar after buying AI assist (#25596)
* Reinit Writefull toolbar after buying AI assist

* use refreshSession()

* add a timeout

* add a second refresh

GitOrigin-RevId: a2572d62bce0e344d92696e42d137a0b36574b3b
2025-05-19 12:26:21 +00:00
David
4847c83cb8 Merge pull request #25618 from overleaf/dp-symbol-palette-proptypes
Remove Proptypes from SymbolPalette components

GitOrigin-RevId: 58b74652a5b47612c4622a7cac9b1ff3aadadfc5
2025-05-16 08:05:48 +00:00
David
69d99079b1 Merge pull request #25553 from overleaf/dp-clone-project-modal-proptypes
Remove Proptypes from CloneProjectModal

GitOrigin-RevId: 400f4c9de72eb1910a0ca067882a6358663303d3
2025-05-16 08:05:44 +00:00
Alf Eaton
6c96c70b28 Remove the full-project-search split test (#25444)
GitOrigin-RevId: b36c1c81152694547dcf044cfb2cb0f511bfdc22
2025-05-14 08:06:31 +00:00
Jimmy Domagala-Tang
732b365683 Merge pull request #25568 from overleaf/jdt-rely-on-user-feats-for-assist-paywall-button
Rely on user features when showing the get assist paywall button post upgrade

GitOrigin-RevId: 2218171eb57996ee962b4ddc94c1749ad65b9c1b
2025-05-14 08:06:04 +00:00
David
8d940ad841 Merge pull request #25387 from overleaf/dp-editor-toolbar-proptypes
Remove proptypes from editor-navigation-toolbar components

GitOrigin-RevId: 77a1c4e13e3da6c06bb515b0137da2f70bfdf4a8
2025-05-13 08:08:06 +00:00
Jimmy Domagala-Tang
82e5b2c5d7 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
b3a1341545 [web] settle on a single split-test for the clsi-cache rollout (#25399)
* [web] settle on a single split-test for the clsi-cache rollout

Use the split-test that was used for rolling out the writes so that we
can use their already populated caches.

* [clsi-cache] fix non-sharded clsi-cache in dev-env

GitOrigin-RevId: 6ebd6369183342fe6d5e325b760d011fd1d57516
2025-05-08 08:06:37 +00:00
Tim Down
7abafb01ea Merge pull request #23940 from overleaf/td-react-18
Upgrade to React 18

GitOrigin-RevId: 9b81936e6eea2bccd97fe5c2c5841f0b946371b8
2025-05-02 08:05:29 +00:00
Domagoj Kriskovic
5a4cf8a003 Refactor Writefull init to always include overleafLabels (#25055)
GitOrigin-RevId: 416b2d1ea3a24e7c879779078e4f2a13ca6c3555
2025-04-28 08:05:47 +00:00
Jakob Ackermann
8ed650f57a [web] make clsi-cache a premium feature (#25075)
* [web] stopOnFirstError=true does not conflict with =false locally

Allow stopOnFirstError to be enabled in the compile from cache and
disabled locally.
Compiles that passed with stopOnFirstError=true will also pass with
stopOnFirstError=false. The inverse does not hold, and we need to
recompile.

* [web] record event when using compile from cache

* [web] record event when falling back to clsi-cache

* [web] make clsi-cache a premium feature

* [k8s] clsi-cache: increase disk size for beta rollout

NOTE: As this is a premium feature and paid servers run in zones c+d, we
do not need to scale up clsi-cache in zone b for now.

* [web] enable full sampling of compile-result-backend events

* [web] fix frontend tests

* [web] be more verbose when determining access to clsi-cache feature

GitOrigin-RevId: 6fd663e16085187876eb225f7f33eeeaf69d2b2a
2025-04-25 08:05:33 +00:00
David
1cfd5ca948 Merge pull request #24950 from overleaf/dp-writeful-editor-switch
Expose isNewEditor in window.overleaf.unstable.store for use by writefull

GitOrigin-RevId: be68b3bc62ea1bfb631f349475888b1153e47cfd
2025-04-24 08:05:58 +00:00
Domagoj Kriskovic
26032d6b77 Add origin for ai assist interstitial modal (#24904)
GitOrigin-RevId: 035edf8791b0afdc8c320598d09d99f5e84acc47
2025-04-18 08:04:55 +00:00
Jakob Ackermann
39110d9da9 [clsi-cache] check compiler settings before using compile from cache (#24845)
* [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
2025-04-16 08:05:35 +00:00
David
846ccd3aac 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
Jimmy Domagala-Tang
0e49a5d9b0 Merge pull request #24391 from overleaf/jdt-move-wf-features-to-ol
Move Writefull table + equation generator to OL toolbar

GitOrigin-RevId: b7bc5b1cde5687360c4f60cb64924da139ccfbe9
2025-04-15 08:05:47 +00:00
Jakob Ackermann
b831a0b3f7 [clsi-cache] frontend (#24389)
* [clsi-lb] forward ?clsiserverid=cache requests to clsi-cache

* [web] use clsi-cache in frontend

* [web] upgrade compile from cache to full compile when triggered inflight

* [web] fix pdf-js-viewer.spec.tsx tests -- add ?clsiserverid=foo to url

* [web] fix renamed reference after merge

* [web] fix download of other output files and use specific build

* [web] consolidate validation of filename into ClsiCacheHandler

* [web] remove unused projectName from getLatestBuildFromCache

* [web] avoid hitting the same clsi-cache instance first all the time

* [web] update documentation

GitOrigin-RevId: d48265a7ba89d6731092640e1492bc9f103f5c33
2025-04-10 08:05:22 +00:00
Jimmy Domagala-Tang
94a067d7c8 Merge pull request #24208 from overleaf/jdt-wf-analytics-wrapper
Create listener for Writefull to send events to our analytics

GitOrigin-RevId: 8ad1866e3c81b1f6c3388b744f9e27810623436e
2025-04-09 08:05:42 +00:00
Eric Mc Sween
f46fd6f2d5 Merge pull request #24433 from overleaf/em-pending-reviewers
Support reviewers in the collaborator limit enforcement logic

GitOrigin-RevId: f11a8e37ca6ef36f9894233803c6ee8363bf0ff8
2025-03-27 14:16:48 +00:00
David
d67f3d3181 Merge pull request #24442 from overleaf/dp-writefull-parent
Provide writefull with element selectors to insert into

GitOrigin-RevId: 87c9a939f7024e54adfe0b970dddb96b7f56d6b3
2025-03-27 09:05:51 +00:00
Jimmy Domagala-Tang
5ba43eb56c Merge pull request #24253 from overleaf/jdt-move-wf-instance-to-context
moving WF to editor context in anticipation for calling functionality…

GitOrigin-RevId: 368554e9308fe8e9e7ef42a4abd78690ec834520
2025-03-25 09:05:21 +00:00
Eric Mc Sween
e4dae982d2 Merge pull request #24225 from overleaf/em-reviewers-share-modal
Count reviewers towards collaborator limit in share modal

GitOrigin-RevId: 27ec3a787124be7590791412d914ec6da78bab35
2025-03-24 10:51:09 +00:00
Jakob Ackermann
54f5c3115c [web] convert file-list to typescript (#24354)
* [web] convert file-list to typescript

* [web] add type annotation for clsiServerId without providing default

Co-authored-by: David Powell <david.powell@overleaf.com>

---------

Co-authored-by: David Powell <david.powell@overleaf.com>
GitOrigin-RevId: 5ecb79c2540a3e46e296c6bf7f8573fb65febc3f
2025-03-24 10:46:48 +00:00
Jakob Ackermann
47ea64c30a [web] operate on shadow-copy of compileResponse.outputFiles (#24330)
GitOrigin-RevId: 49336daf11b2a011d03b7469aa4c0ffed72b279a
2025-03-24 10:45:58 +00:00
David
dcabf55882 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
David
542a52c510 Merge pull request #24210 from overleaf/mj-nested-menu-bar
[web] Editor redesign: Make menu bar nestable

GitOrigin-RevId: 5c08126499ff96494d6af9adcbd75126ddd596af
2025-03-13 09:05:23 +00:00