Commit Graph

91 Commits

Author SHA1 Message Date
Jakob Ackermann
e6edb4bf23 [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
ddc15e4c8d [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
Jakob Ackermann
302788e50f [web] fix download of output.pdf when creating Server Pro template (#23988)
GitOrigin-RevId: 899b9bfd54af8d3f345393068663d769ec3a869b
2025-03-03 09:05:26 +00:00
andrew rumble
29abcbba8a Remove files param from output.zip endpoint
GitOrigin-RevId: 300cd870578237ad8e61be4e9e41991f884aa754
2024-09-24 08:04:57 +00:00
Andrew Rumble
2d6b19fa9a Merge pull request #18538 from overleaf/ar-add-download-all-link-in-web
[web] add download all link for output files

GitOrigin-RevId: 3d574d75d53e577cb0f8fd3caa4f757d9e1b7889
2024-06-03 08:04:07 +00:00
Christopher Hoskin
011e6ea7ec Merge pull request #18397 from overleaf/em-revert-download-all-link
Revert "Merge pull request #18190 from overleaf/ar-add-download-all-l…

GitOrigin-RevId: 681eb2734636d76558e682dc85083bfcaa6b7d2d
2024-05-17 08:05:10 +00:00
Andrew Rumble
031b1a6d4e Merge pull request #18190 from overleaf/ar-add-download-all-link
[web] Add download all link for output files

GitOrigin-RevId: a275f17b6acf3130250d91462ba01588b93b62f5
2024-05-16 08:05:04 +00:00
Antoine Clausse
2b302a8acc Reintroduce compile sampling for analysis (#18217)
* Revert "Merge pull request #14143 from overleaf/jlm-unsampled-compiles"

This reverts commit 2457977d61756be52db506d7c84531b22a26abe0, reversing
changes made to 3c452b3943c453707aac90d38e7b5b2ea9df0df4.

* Re-add export of `getPercentile` in SplitTestHandler.js

Was previously removed in aa8c0aadec

GitOrigin-RevId: 42c48829e7246a6bdb9dbb2d075638c1eafdf2f0
2024-05-06 08:04:45 +00:00
Antoine Clausse
e2648c28cd Merge pull request #17909 from overleaf/ac-tear-down-compile-timeout-tests-2
[web]  Remove split-tests `compile-backend-class*` and `compile-timeout-20s*` (attempt 2)

GitOrigin-RevId: 5658f2977d3e7089eec5bbe7a33eee81c153e41d
2024-04-16 08:04:08 +00:00
Antoine Clausse
113344b6a9 Merge pull request #17899 from overleaf/revert-17700-ac-tear-down-compile-timeout-tests
Revert "[web] Remove split-tests `compile-backend-class*` and `compile-timeout-20s*`"

GitOrigin-RevId: d5070ced06adbd435e782a44b7ef767e395bd6a0
2024-04-15 08:04:37 +00:00
Antoine Clausse
7cb0b0b6af [web] Remove split-tests compile-backend-class* and compile-timeout-20s* (#17700)
* Remove split-tests of `compile-timeout-20s` and `compile-timeout-20s-existing-users`

* Remove `NEW_COMPILE_TIMEOUT_ENFORCED_CUTOFF` variables

* Revert timeout override `60` -> `20`

* Update settings.overrides.saas.js: `compileTimeout: 20`

* Remove `compile-backend-class-n2d`

* Remove `force_new_compile_timeout`

* Remove `showNewCompileTimeoutUI`

* Remove `compileTimeChanging`

* Simplify code by removing segmentation object

* Remove `CompileTimeoutChangingSoon`

* Remove `user.features.compileTimeout = '20 (with 10s prompt)'`

* Remove `CompileTimeWarning`

* Remove `TimeoutUpgradePrompt` (old)

* Remove `compile-backend-class`

* Remove unused translations

* Update tests

* Fix: Show `CompileTimeout` even if `!window.ExposedSettings.enableSubscriptions`

* Create script to migrate users to 20s compileTimeout

* migration script: exclude `compileTimeout: 20` from the match

* migration script: use `batchedUpdate`

* Remove `showFasterCompilesFeedbackUI` and `FasterCompilesFeedback`

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

* Remove `_getCompileBackendClassDetails`, simplify definition of `limits` object

* Remove `Settings.apis.clsi.defaultBackendClass`

* Remove unnecessary second scan of the whole user collection in dry mode

* Override `timeout` to 20 for users having `compileGroup === 'standard' && compileTimeout <= 60`

* Remove second `logCount`: re-run the script in dry-mode if you want to see that count

* Use secondary readPreference when counting users

* Fix script setup and exit 0

* Fix: Remove `user.` from query path!

* Add acceptance test on script migration_compile_timeout_60s_to_20s.js

GitOrigin-RevId: 3cb65130e6d7fbd9c54005f4c213066d0473e9d8
2024-04-15 08:04:24 +00:00
David
d92b97956c Merge pull request #16731 from overleaf/dp-ip-rate-metrics
Add tracking of rate limit method to metrics

GitOrigin-RevId: 3996c2a0ccb747018571ce402120be46fc52eace
2024-02-13 09:04:09 +00:00
Jimmy Domagala-Tang
fa142c5821 Merge pull request #16322 from overleaf/dk-ignore-clsi-warning
[web] ignore noisy CLSI 404 warning

GitOrigin-RevId: d821496e2fb91ba184a32449986c128b9b079f3f
2024-01-04 09:03:37 +00:00
Jakob Ackermann
2d1aece4fa Merge pull request #15793 from overleaf/jpa-compile-domain-cleanup
[web] tear down split test for new compile domain

GitOrigin-RevId: 7ab417d67e508cd95bd4e78ce7ce2a993c789dca
2023-11-17 09:02:56 +00:00
Jakob Ackermann
e4154cb286 Merge pull request #15247 from overleaf/jpa-submission-backend-class
[web] use n2d instances for compiling submissions

GitOrigin-RevId: 57eb27af230b994c3816c0476673ea558226ac1e
2023-10-25 08:04:03 +00:00
Eric Mc Sween
554cd6a4d9 Merge pull request #15172 from overleaf/em-promise-utils
Move util/promises from web into a shared library

GitOrigin-RevId: fe1980dc57b9dc8ce86fa1fad6a8a817e9505b3d
2023-10-20 08:04:05 +00:00
Thomas
5c8de7dd58 Implement test to reduce compile timeout to 20 seconds (#14705)
Compile timeout reduction to 20s for treatment users

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 54f70fe4b1fc631cef966deb0c1d28c904dd3a44
2023-09-19 08:03:52 +00:00
Jakob Ackermann
ed99efca27 Merge pull request #14501 from overleaf/jpa-streaming-log-noise
[web] CompileController: ignore noisy spurious error

GitOrigin-RevId: 8885286a5e06bfa38bc70d98b703f52a1269d899
2023-08-28 08:04:57 +00:00
Jakob Ackermann
6982bb4601 Merge pull request #14358 from overleaf/jpa-abort-check
[web] skip streaming clsi response when the request was aborted

GitOrigin-RevId: 8152399f18328eafd3e93143190a5eb8d1fdff1d
2023-08-18 08:04:51 +00:00
Jakob Ackermann
f2262f322b Merge pull request #14023 from overleaf/jpa-web-clsi-fetch
[web] migrate CompileController from request to node-fetch

GitOrigin-RevId: ffb3319319d7f986ec972b4b6c56bd5499ecd9ab
2023-08-04 08:03:39 +00:00
John Lees-Miller
b8d6ecbb89 Merge pull request #14143 from overleaf/jlm-unsampled-compiles
Remove compile sampling for analysis

GitOrigin-RevId: 2457977d61756be52db506d7c84531b22a26abe0
2023-08-03 08:04:12 +00:00
Alf Eaton
a911139deb 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
Alf Eaton
4842879c57 Allow digits in PDF filenames (#13122)
GitOrigin-RevId: 58c93d299c3bfe79dd4c223b8b060411bad078c7
2023-05-18 08:03:55 +00:00
Alf Eaton
cc1a767f99 Allow all Unicode "letter" characters in PDF filename (#13071)
GitOrigin-RevId: 030d7326b33525a34bccff26e12103e9a8e1a3f3
2023-05-17 08:05:19 +00:00
Alf Eaton
214c72816e Use content-disposition for setting the Content-Disposition header (#13072)
GitOrigin-RevId: f84100beb5e00485be4732c954b5ee553fe18558
2023-05-17 08:05:10 +00:00
Jakob Ackermann
a32622b35e 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
074fa09667 Merge pull request #11940 from overleaf/jpa-fix-assignment-of-initial-clsi-vm
[web] fix assignment of initial compile server

GitOrigin-RevId: 84aea918946a106a5826d7cf39cc0bf47047cb35
2023-03-07 09:04:33 +00:00
Eric Mc Sween
daef90acc0 Merge pull request #11492 from overleaf/em-rate-limiter
Move all remaining rate limiters to rate-limiter-flexible

GitOrigin-RevId: 163ab2aebecb281057e552dc75591dd02028990c
2023-01-31 09:03:44 +00:00
Jakob Ackermann
d2791e9adf Merge pull request #11442 from overleaf/jpa-hybrid-pdf-download
[web] add hybrid download of compile output

GitOrigin-RevId: b9c6dfc86e3af2f7b1728e791f074ec6d5e0badf
2023-01-27 09:04:12 +00:00
Jakob Ackermann
ca3114fbe4 Merge pull request #11246 from overleaf/jpa-user-content-domain-access-check
[misc] prepare migration to user content domain

GitOrigin-RevId: 581ccab6d39ec021fb44a555a09e55441c35d0d1
2023-01-18 09:05:14 +00:00
Jakob Ackermann
60a2bf63e3 [web] drop rate of compile-result-backend events to 1%
GitOrigin-RevId: af3e4b56812f014ad7c40d1a98ee6db16798890b
2022-11-04 09:06:03 +00:00
Jakob Ackermann
d1dc798c07 Merge pull request #10139 from overleaf/jpa-split-test-min-chunk-size
[misc] add split test for a per request pdfCachingMinChunkSize

GitOrigin-RevId: 6a8a3c6267501789f2047a67b03db6ac6df427c3
2022-10-26 08:03:39 +00:00
Jakob Ackermann
d82571843e 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
1c11828677 Merge pull request #8649 from overleaf/jpa-halt-on-error-flag
[web] record stopOnFirstError in compile-result-backend event

GitOrigin-RevId: f194daa1cb377e095acf7a280ff5ba7859b8736b
2022-07-01 08:04:05 +00:00
ilkin-overleaf
50e80a7728 Merge pull request #8602 from overleaf/jpa-auto-compile-tracking
[web] record isAutoCompile in compile-result-backend event segmentation

GitOrigin-RevId: b4b4b336d47987ef5d5ed132524a553ba5d4d140
2022-06-29 08:04:05 +00:00
Jakob Ackermann
75c3d59207 Merge pull request #8535 from overleaf/jpa-missing-return
[web] add a missing return statement from an error branch

GitOrigin-RevId: 282972cee23f6b426413ede0885695e386fc9352
2022-06-24 08:05:08 +00:00
Jakob Ackermann
12b7769e00 Merge pull request #8550 from overleaf/jpa-disable-feedback-ui
[web] disable faster compiles feedback UI

GitOrigin-RevId: 13566029cb6b37054d129d677a50e63484d9642a
2022-06-23 08:03:04 +00:00
Jakob Ackermann
cf5b092127 Merge pull request #8505 from overleaf/jpa-compile-result-full
[web] collect compile-result for ALL compiles

GitOrigin-RevId: 5ba29fb352bc29d14c22e7e80fa556148d862137
2022-06-23 08:02:46 +00:00
Jakob Ackermann
832628ed31 Merge pull request #8534 from overleaf/jpa-fix-downloads
[web] double down on passing compileBackendClass to clsi

GitOrigin-RevId: 6e035a885caa31e55ff0cf63c584f3f03629f1cf
2022-06-22 08:05:40 +00:00
Jakob Ackermann
032614a8fb Merge pull request #8483 from overleaf/jpa-faster-compiles-feedback-ui
[web] faster compiles feedback UI

GitOrigin-RevId: 9feea47503aa6bddf51adb73b8c9fbef394fda14
2022-06-22 08:05:14 +00:00
Jakob Ackermann
eff6b9e884 Merge pull request #8522 from overleaf/jpa-rename-event
[web] rename analytics event for server side compile result details

GitOrigin-RevId: c7646918c455f992425013ff517e76a669e5cc46
2022-06-22 08:05:08 +00:00
ilkin-overleaf
f92d9894e2 Merge pull request #8482 from overleaf/jpa-compile-result-segmentation
[web] simplify segmentation of compile-result event

GitOrigin-RevId: 8cd42bb7712b9cc2385c3681b78d493b3fa138ce
2022-06-21 08:02:54 +00:00
Jakob Ackermann
8d3caa251c Merge pull request #8396 from overleaf/jpa-split-test-mongo-user
[web] implement split test assignment based on mongo user

GitOrigin-RevId: d3e2dff6a5e925cfd0426e9ebfeb7b64dc803f42
2022-06-16 08:03:20 +00:00
Timothée Alby
0e91c44980 Merge pull request #8376 from overleaf/jpa-delete-zonal-downloads-split-test
[web] tear down split test on zonal downloads -- keep zonal variant

GitOrigin-RevId: a7e1f48cdc64175e4fc28828ad9a46b0a28383b5
2022-06-15 08:04:18 +00:00
Eric Mc Sween
6e8527d2a7 Merge pull request #8286 from overleaf/em-halt-on-error-backend
Stop on first error backend implementation

GitOrigin-RevId: 497b1ed2c13f544760d8ad8d029359db75275389
2022-06-07 08:02:21 +00:00
Eric Mc Sween
c8ab3ec1ee Merge pull request #8253 from overleaf/em-decaf-cleanup-compile-controller
Decaf cleanup CompileController and CompileManager

GitOrigin-RevId: 97384c9f76a2487c04f3d8d6a384cefdfcd083d4
2022-06-03 08:03:32 +00:00
Jakob Ackermann
5124973697 Merge pull request #8135 from overleaf/jpa-refactor-zonal-download
[misc] refactor handling of zone prefix in compile response

GitOrigin-RevId: f1f33d7d257854176f383bb5d786710f6b09f737
2022-05-26 08:03:53 +00:00
Jakob Ackermann
99a8c7317c Merge pull request #8094 from overleaf/jpa-handle-missing-output-files
[web] handle missing outputFiles array

GitOrigin-RevId: 9b1210ff620888f45ec1a3b38c9f91b5a3e22778
2022-05-24 08:04:36 +00:00
Jakob Ackermann
911f10cbf8 Merge pull request #8070 from overleaf/jpa-web-zonal-traffic-test
[web] add split test for rollout of zonal clsi-lb downloads

GitOrigin-RevId: 67fb843ffb0c5902419a4e5c7d2ff9d35cf93470
2022-05-24 08:04:30 +00:00
Jakob Ackermann
b027ef95e5 Merge pull request #7986 from overleaf/jpa-eslint-8
[misc] upgrade eslint packages to the latest version everywhere

GitOrigin-RevId: f1480d4a171acef82fb26c4aa54be3a6088b0ab3
2022-05-17 08:05:59 +00:00