Commit graph

31 commits

Author SHA1 Message Date
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
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
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
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
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
Alf Eaton
df6147bb4d Convert PDF.js code to TypeScript
GitOrigin-RevId: 840bc48816d78497131b927522b4f6f7940bb0c4
2024-10-14 11:00:45 +00:00
Jakob Ackermann
1213709578 Merge pull request #14980 from overleaf/jpa-debug-console
[web] migrate frontend logging to debugConsole

GitOrigin-RevId: b03ff9030b03fff059738d2270bc4b4912e79f16
2023-09-28 08:04:12 +00:00
Alf Eaton
29f67a3985 Merge pull request #13525 from overleaf/jpa-teardown-compile-domain-test
[web] start tear down of split test for new compile domain

GitOrigin-RevId: 405bba924a37f56614b0744f47914306f420a028
2023-07-17 10:43:01 +00:00
Jakob Ackermann
a75cda5f2a Merge pull request #13361 from overleaf/jpa-pdf-download-err
[web] add original error to MissingPDFException info

GitOrigin-RevId: 06c040847c67cc148b1b9a0358fa652779f01c39
2023-07-17 10:25:54 +00:00
Jakob Ackermann
b6877cb4dd Merge pull request #12994 from overleaf/jpa-pdf-caching-fallback
[web] bring back support for proxies without HTTP-Range request support

GitOrigin-RevId: f0a4863ee175c332c9dea7da28987f293a903e63
2023-05-11 08:04:16 +00:00
Jakob Ackermann
df3c7e48ab Merge pull request #12198 from overleaf/jpa-force-new-compile-domain
[web] changes for force-new-compile-domain test

GitOrigin-RevId: a4ceaf46fdcebed156d155385cbbc2f06405d31f
2023-03-17 09:04:49 +00:00
Jakob Ackermann
f803563673 Merge pull request #10376 from overleaf/jpa-pdf-caching-disable-first-error
[web] pdf-caching: disable pdf-caching after the first non-404 error

GitOrigin-RevId: f022e75acd9d5140ae02041b60af9819baa25e62
2022-11-09 09:04:03 +00:00
Miguel Serrano
9e50ab8d1e Merge pull request #10350 from overleaf/jpa-pdf-caching-debug-context
[web] pdf-caching: more debug context

GitOrigin-RevId: ef9b20ef8d9a3b0c6b1b8c200eead1c0f8cf6bde
2022-11-09 09:03:00 +00:00
Jakob Ackermann
665ab24cbd Merge pull request #10337 from overleaf/jpa-localized-network-error-messages
[web] pdf-caching: handle localize network error messages

GitOrigin-RevId: 41b0b9e87818d87d08c4cf24991751779243ae32
2022-11-08 09:04:18 +00:00
Jakob Ackermann
3db03ef678 Merge pull request #10313 from overleaf/jpa-pdf-caching-ranges-in-sentry
[web] pdf-caching: display ranges in sentry debug context

GitOrigin-RevId: d58e9c5292b1202e629c3b0706ade067c15e08a0
2022-11-08 09:04:11 +00:00
Jakob Ackermann
e9bc195483 Merge pull request #10301 from overleaf/jpa-pdf-caching-ignore-errors-for-stale-output
[web] pdf-caching: flag more errors as expected

GitOrigin-RevId: a5351db16d268bb8d9d67a86c34698c8b04f4f1a
2022-11-08 09:04:04 +00:00
Mathias Jakobsen
aac9e6616e Merge pull request #10285 from overleaf/jpa-pdf-caching-ignore-404-from-fallback
[web] pdf-caching: double down on ignoring 404 from output.pdf requests

GitOrigin-RevId: 6b489180c221a29758b862884dae4ed6ed954a23
2022-11-04 09:04:53 +00:00
Jakob Ackermann
85547ffe40 Merge pull request #10234 from overleaf/jpa-pdf-caching-ignore-404
[web] pdf-caching: stop counting 404s on the output.pdf as failure

GitOrigin-RevId: eb76570fdce3dd79b8e0ea961722e428446672ac
2022-11-02 09:04:21 +00:00
Jakob Ackermann
abaecac268 Merge pull request #10007 from overleaf/jpa-pdf-caching-latency-compute
[web] collect latencyCompute metric from pdf-caching

GitOrigin-RevId: f20fa2b54078a7106b2413432c4f47375878a5d6
2022-10-26 08:03:31 +00:00
Jakob Ackermann
ed66b43979 Merge pull request #8883 from overleaf/jpa-optimize-pdf-caching
[web] optimize pdf caching

GitOrigin-RevId: 85f8b8425ca0052b0d5229cec651e1d5080f1da4
2022-08-02 08:04:15 +00:00
Jakob Ackermann
f1487714b4 Merge pull request #9058 from overleaf/jpa-error-handling-2nd-page
[web] improve error handling for pdf-caching

GitOrigin-RevId: ddd65f2813fb08eb4493967071ee62d9742930cc
2022-08-02 08:04:07 +00:00
Jakob Ackermann
6485731c98 Merge pull request #9010 from overleaf/jpa-ignore-404
[web] do not consider a 404 on the main pdf url as pdf caching failure

GitOrigin-RevId: 2d57ee92b79227baa58f2e71edbcf63a4848435d
2022-07-29 08:04:41 +00:00
Jakob Ackermann
b795579ca0 Merge pull request #9006 from overleaf/jpa-sentry-error-context
[web] send OError info and OError tags/cause tracebacks to sentry

GitOrigin-RevId: 0544768ca16fcafb63ec6116a573e83302cdbdd3
2022-07-29 08:04:35 +00:00
Jakob Ackermann
3c0bb25249 Merge pull request #8886 from overleaf/jpa-pdf-caching-alpha
[web] prepare alpha release of pdf caching

GitOrigin-RevId: 5617dd443da57b7077db793c2bc39be35ec44ef1
2022-07-21 08:03:10 +00:00
Jakob Ackermann
1a9487d5fd Merge pull request #8931 from overleaf/jpa-pdf-caching-fixes
[web] fixes/improvements for pdf caching

GitOrigin-RevId: 2ba0ed4798fd4dfb57f2dfca8be92ae1a769934f
2022-07-21 08:03:06 +00:00
Jakob Ackermann
0409676c41 Merge pull request #8911 from overleaf/jpa-pdf-detach-pdf-caching-metrics
[web] fix forwarding of pdf caching metrics in pdf-detach mode

GitOrigin-RevId: c4a65190102ca4abfb7970186bc5ee785bff14c6
2022-07-21 08:03:03 +00:00
Jakob Ackermann
f11e1a83cd Merge pull request #8776 from overleaf/jpa-drop-service-worker
[web] goodbye service worker

GitOrigin-RevId: ce85d4850faba15c5877ce1f3e78026de30c6eae
2022-07-11 08:03:57 +00:00
Jakob Ackermann
64184a7f56 Merge pull request #8730 from overleaf/jpa-refactor-pdf-caching
[web] refactor pdf caching

GitOrigin-RevId: af6b871fad652f757d8c465085b33a79b955cd6b
2022-07-07 08:03:28 +00:00