Commit graph

402 commits

Author SHA1 Message Date
Tim Down
9c16a85295 Merge pull request #24030 from overleaf/td-bs5-remove-font-awesome
Remove Font Awesome in BS5

GitOrigin-RevId: 3ee9b136ac9ecda57ba9985d1da7d7a7e6b275e6
2025-07-18 08:05:06 +00:00
Mathias Jakobsen
39b4581e1d Merge pull request #26735 from overleaf/mj-system-theme
[web] Add new system theme to the editor

GitOrigin-RevId: b65083c5e96abc493556e901c861689cb7e3bbf7
2025-07-14 08:05:37 +00:00
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
Alf Eaton
d617fd0754 Add visual preview (#26947)
GitOrigin-RevId: f77b59219909971b11416f196783b3ab7198ed91
2025-07-10 08:07:28 +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
Davinder Singh
8adc7526d9 Tearing down "paywall-change-compile-timeout" (#26741)
* removing the split test

* removing translations

* removing comments

* removing odcRole

GitOrigin-RevId: 8654876a6d97c52058fe9416f4495845d1320765
2025-07-10 08:06:10 +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
Rebeka Dekany
1950585514 Improve selectors to reduce flaky E2E tests (#26413)
* Use the leadingIcon prop instead of spacing

* Remove duplicated ID

* Make the alt text to be empty since image is decorative

* Make switcher input visually hidden

The switcher's input previously used 'pointer-events: none', which prevented proper interaction in the test. It replaces that hack.

* Add accessibilityLabel to the info icon that is actually a clickable link

* Use more specific selectors

* It should display

* Use more specific selectors

* Use more specific selectors

GitOrigin-RevId: a555d96cf972d06dd5432f44a23b02355cedcd94
2025-06-27 07:34:51 +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
Tim Down
ab140f578d Merge pull request #26244 from overleaf/td-limit-browser-translate-ide
Prevent browser translation of stuff that shouldn't be translated in IDE page

GitOrigin-RevId: 96a75b51c3c8efc4cbcec7eb17d9e331a03e2c96
2025-06-24 08:05:32 +00:00
David
e1a3037ffa Merge pull request #26162 from overleaf/dp-error-logs-ai-2
Update error logs AI UI

GitOrigin-RevId: 6f9783090797e6d7d2fe01178f6945aa364ff4ac
2025-06-17 08:05:22 +00:00
MoxAmber
e95b159edd Merge pull request #26395 from overleaf/as-compile-timeout-event-fix
[web] Rename time segmentation value to compileTime to prevent MixPanel errors

GitOrigin-RevId: 70ddfd5091e3f8d98849f09dc9d09adc8c0bf2c7
2025-06-13 08:07:48 +00:00
MoxAmber
0a79ac75ff Merge pull request #26312 from overleaf/as-10s-compile-timeout
[web] 10s Compile Timeout: Warning Phase

GitOrigin-RevId: 749baad646fa7ef0d3a8e14fbbb5edec7b227ed3
2025-06-13 08:06:13 +00:00
David
72ff927a52 Merge pull request #26311 from overleaf/dp-auto-compile-failure
Add a code check banner to the new editor

GitOrigin-RevId: 6ee01d8379247824f4ec0684809ad432c4617c96
2025-06-12 08:05:35 +00:00
andrew rumble
25675ce2ba Remove unused params from destructuring
GitOrigin-RevId: e47a16e2d99e923c314fd0fa2220c19b7b2c9b51
2025-06-11 08:05:56 +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
David
43563158d3 Merge pull request #25779 from overleaf/dp-recompile-button
Update Recompile button to match figma designs

GitOrigin-RevId: c3614fe2e621a64eb35dd4989b86c68a89bea342
2025-05-28 08:04:53 +00:00
Tim Down
5c4cb50628 Merge pull request #24988 from overleaf/td-bs5-upgrade-and-rename
Apply minor upgrades to Bootstrap 5 and react-bootstrap

GitOrigin-RevId: eb013f38515ebd4b9572d139f00841aca344e3c6
2025-05-16 08:05:28 +00:00
Jakob Ackermann
ec1bd69605 [clsi-cache] remove non sharded instances (#25645)
* Revert "[clsi-cache] only use sharding from updated project editor tabs (#25326)"

This reverts commit 1754276bed3186c0536055c983e32476cc90d416.

* [clsi-cache] remove non sharded instances

GitOrigin-RevId: aa3ac46140dfc1722a3350cf7071e5b11af61199
2025-05-16 08:05:02 +00:00
Alf Eaton
60cdd252ef Add span between synctex button and tooltip (#25475)
GitOrigin-RevId: d1e7c71597566f916a9432d9114def791cf25fa8
2025-05-14 08:06:21 +00:00
Alf Eaton
c942b490ab Clamp PDF highlights to the extents of the page container (#25498)
GitOrigin-RevId: cc2e30b04b9c57b2ea6038bee1e06467b785386f
2025-05-14 08:06:16 +00:00
Mathias Jakobsen
587390d066 Merge pull request #25514 from overleaf/mj-ide-pdf-controls-editor-only
[web] Hide PDF controls from menu bar in editor only mode

GitOrigin-RevId: 91513e40693e1214c3bdbc56d9dec19e08c74e36
2025-05-14 08:05:38 +00:00
Jimmy Domagala-Tang
50c2d8f32f Merge pull request #25405 from overleaf/jdt-wf-rebrand-popover
Writefull Rebranded Features Editor Promotion

GitOrigin-RevId: 49beddbfa44bacf1546543e172dc8edcdb3784bc
2025-05-13 08:06:50 +00:00
Jakob Ackermann
d489e35782 [web] emit event when synctex mapping was downloaded from clsi-cache (#25424)
* [clsi] tell frontend when synctex mapping was downloaded from clsi-cache

* [web] emit event when synctex mapping was downloaded from clsi-cache

GitOrigin-RevId: 1f6b7e0faaa7dd76449aad566802da971a4cf9ed
2025-05-09 08:06:00 +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
Jakob Ackermann
6881ba956a [clsi-cache] only use sharding from updated project editor tabs (#25326)
GitOrigin-RevId: 1754276bed3186c0536055c983e32476cc90d416
2025-05-07 08:06:39 +00:00
Jakob Ackermann
5ce1685b5b [clsi-cache] shard each zone into three instances (#25301)
* [clsi-cache] shard per zone into three instances

Keep the old instance as read fallback. We can remove it in 4 days.

Disk size: 2Ti gives us the maximum write throughput of 240MiB/s on a
N2D instance with fewer than 8 vCPUs.

* [clsi] fix format

* [k8s] clsi-cache: bring back storage-classes

* [k8s] clsi-cache: fix reference to zonal storage-classes

* [k8s] clsi-cache: add logging configs

* [clsi] improve sharding

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

* [clsi] fix sharding

Index needs to be positive.

* [clsi] fix sharding

The random part is static per machine/process.

* [clsi] restrict clsi-cache to user projects

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

* [k8s] clsi-cache: align CLSI_CACHE_NGINX_HOST with service LB

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 1efb1b3245c8194c305420b25e774ea735251fb3
2025-05-07 08:06:16 +00:00
Tim Down
057f4b4bb5 Merge pull request #25113 from overleaf/td-remove-button-info-variant
Change labs/new editor buttons to be based on secondary buttons

GitOrigin-RevId: f02565e60be33ff75c217c1ea1d0f24b3b619ed4
2025-05-05 08:05:40 +00:00
Mathias Jakobsen
081fced4bd Merge pull request #25217 from overleaf/mj-beamer-arrow-links
[web] Fix arrow movement in beamer presentation mode after link click

GitOrigin-RevId: 85701d9c918889981faa34f1adb57fb901d7b9df
2025-05-05 08:05:14 +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
David
5b499efd23 Merge pull request #25128 from overleaf/dp-synctex
Add synctex controls with buttons hidden to new editor

GitOrigin-RevId: 27566210444ca6d83fef977290fa7c2700f2bb62
2025-05-01 08:06:15 +00:00
Rebeka Dekany
df3d9099b6 Add aria-label to indicate the current PDF page number to screen readers (#25034)
GitOrigin-RevId: c2d64928378c9919f8ab8480559418cc52338854
2025-04-30 08:05:31 +00:00
Alf Eaton
c732a02b38 Use toast notifications for SyncTeX errors and handle missing file errors (#24579)
GitOrigin-RevId: 88c6658ff0d11fdb43cef19c48b542a3b2206666
2025-04-28 08:05:42 +00:00
Alf Eaton
247b4e274d Upgrade PDF.js to v5 (#24948)
* Reapply "Upgrade PDF.js to v5 (#24646)" (#24946)
* Upgrade core-js, caniuse-lite and babel

GitOrigin-RevId: 63398189301b5f5adc8a17b332d92dccfc26d612
2025-04-28 08:05:09 +00:00
Alf Eaton
9d290ae234 Add polyfills for AbortSignal.any and AbortSignal.timeout (#24958)
GitOrigin-RevId: d0fc041054e17f50b5b19343e06e857bd9635902
2025-04-28 08:05:04 +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
Jakob Ackermann
ee2338a33b [web] align criteria for fallback to clsi-cache (#24970)
* [web] rename helper for browser cache bug, avoid confusion w/ clsi-cache

* [web] align criteria for fallback to clsi-cache

Notably, avoid the fallback from inside pdf-caching when disabled.

GitOrigin-RevId: 3fd918de14eef59c45c28cc5b5e256048cb91528
2025-04-18 08:05:25 +00:00
Alf Eaton
34d5564abc Revert "Upgrade PDF.js to v5 (#24646)" (#24946)
This reverts commit 3ef46af6363aab5b5b007b6c9d72decae65a36ab.

GitOrigin-RevId: 9c3671b3ff196bb62ff547210a1138cb603d6791
2025-04-17 08:05:15 +00:00
Alf Eaton
a1098a921c Upgrade PDF.js to v5 (#24646)
GitOrigin-RevId: 3ef46af6363aab5b5b007b6c9d72decae65a36ab
2025-04-17 08:04:59 +00:00
Mathias Jakobsen
e670024f5c Merge pull request #24678 from overleaf/mj-ide-view-help-menu
[web] Add remaining options to menu bar

GitOrigin-RevId: cf6cc6c2aaf450e362588c514e1a87e923a611b4
2025-04-10 08:05:48 +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
Jakob Ackermann
b538d56591 [clsi-cache] backend (#24388)
* [clsi-cache] initial revision of the clsi-cache service

* [clsi] send output files to clsi-cache and import from clsi-cache

* [web] pass editorId to clsi

* [web] clear clsi-cache when clearing clsi cache

* [web] add split-tests for controlling clsi-cache rollout

* [web] populate clsi-cache when cloning/creating project from template

* [clsi-cache] produce less noise when populating cache hits 404

* [clsi-cache] push docker image to AR

* [clsi-cache] push docker image to AR

* [clsi-cache] allow compileGroup in job payload

* [clsi-cache] set X-Zone header from latest endpoint

* [clsi-cache] use method POST for /enqueue endpoint

* [web] populate clsi-cache in zone b with template data

* [clsi-cache] limit number of editors per project/user folder to 10

* [web] clone: populate the clsi-cache unless the TeXLive release changed

* [clsi-cache] keep user folder when clearing cache as anonymous user

* [clsi] download old output.tar.gz when synctex finds empty compile dir

* [web] fix lint

* [clsi-cache] multi-zonal lookup of single build output

* [clsi-cache] add more validation and limits

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

* [clsi] do not include clsi-cache tar-ball in output.zip

* [clsi-cache] fix reference after remaining constant

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

* [web] consolidate validation of filename into ClsiCacheHandler

* [clsi-cache] extend metrics and event tracking

- break down most of the clsi metrics by label
  - compile=initial - new compile dir without previous output files
  - compile=recompile - recompile in existing compile dir
  - compile=from-cache - compile using previous clsi-cache
- extend segmentation on compile-result-backend event
  - isInitialCompile=true - found new compile dir at start of request
  - restoredClsiCache=true - restored compile dir from clsi-cache

* [clsi] rename metrics labels for download of clsi-cache

This is in preparation for synctex changes.

* [clsi] use constant for limit of entries in output.tar.gz

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>

* [clsi-cache] fix cloning of project cache

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: 4901a65497af13be1549af7f38ceee3188fcf881
2025-04-10 08:05:17 +00:00
M Fahru
f0fe0db10c [web] Remove unused get_more_compile_time string key because of paywall-cta split test is removed (#24574)
* Re-add missing translation key

* Remove `get_more_compile_time` translation key because of `paywall-cta` is removed

GitOrigin-RevId: bf0fe677adc32a91db57d41d83f0f1e0b2ee3741
2025-03-28 09:04:41 +00:00
M Fahru
ad677afa81 Merge pull request #22705 from overleaf/mf-tear-down-paywall-cta
[web] Tear down `paywall-cta` split test

GitOrigin-RevId: 8cfba819b80bb34f48f8fc1fec37aee6791ef9f0
2025-03-27 14:16:52 +00:00
Alf Eaton
e56c4304a1 Avoid re-rendering sync buttons when code/pdf position changes (#24192)
GitOrigin-RevId: cc17fc15df356bde6a737d6e60479cdc2e421d3e
2025-03-24 10:48:02 +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
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
Alf Eaton
2147f1d53d Remove Bootstrap 3 code from IDE page components (#23061)
GitOrigin-RevId: b41aff10672bf96e892de0be396a69eb25e2443b
2025-03-07 09:05:45 +00:00
Alf Eaton
cee51af9fd Disable "Go to code location in PDF" button for non-TeX files (#23751)
GitOrigin-RevId: 9a51252e2df6e52532d0cd787a8fd744af41ed95
2025-02-26 09:04:08 +00:00