Commit Graph

45 Commits

Author SHA1 Message Date
MoxAmber
fc5ae92be1 Merge pull request #27677 from overleaf/as-compile-timeout-enforcement
[web] 10s Compile Timeout - Enforcement Phase

GitOrigin-RevId: 3930eb376cc1293409259e073032218e09d5270e
2025-08-20 08:06:01 +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
Jakob Ackermann
13bf214a3c [web] generate clsi buildId ahead of fetching project content (#24337)
* [web] generate clsi buildId ahead of fetching project content

The buildIds timestamp component will be used for cache invalidation.

* [clsi] strict validation for buildId

* [clsi] validate buildId parameter

GitOrigin-RevId: 88e8b2d48e78fa137b6dca7f2e6b93bbcf88a777
2025-03-24 10:46:02 +00:00
Andrew Rumble
d1a58e6b77 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
Andrew Rumble
9c3d9ef590 Merge pull request #17935 from overleaf/ar-refactor-compile-async
[web] make CompileManager async

GitOrigin-RevId: 617bde1f429fa9aafc7d4bf4ec628b2a22386b19
2024-04-30 08:04:43 +00:00
Antoine Clausse
616bd0df16 Merge pull request #17925 from overleaf/jpa-ac-20s-timeout-migration-logging-tweaks
[web] timeout 20s split-test teardown cleanups (remove override, remove tests, ...)

GitOrigin-RevId: 8d8c44539cf45d0f5142f84cf8372cecda3bf77a
2024-04-17 08:04:30 +00:00
Antoine Clausse
d35204033f 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
491bc2628d 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
2dd10c7fee [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
32d2603adb 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
Davinder Singh
5c5a01777c Making getAnalyticsIdFromMongoUser private to UserAnalyticsIdCache (#16125)
* Making getAnalyticsIdFromMongoUser private to UserAnalyticsIdCache

* renaming userAnalyticsIdCache to UserAnalyticsIdCache

* deleting function _getAnalyticsIdFromMongoUser

* renaming userAnalyticsIdCache to UserAnalyticsIdCache part 2

* format:fix

* adding upperCamelCase

* capital case first letter

GitOrigin-RevId: 2e9c18c544b8cffb53838aed56e1ef16979606a5
2024-01-08 09:05:31 +00:00
Thomas
3cd0cefd30 Gradual rollout of new compile timeout to existing users (#15478)
* Rollout compile timeout to existing users

* Update copy for compile timeout messages

GitOrigin-RevId: bada02efb3fc506ae6e35bdb7871a58ef4295cbe
2023-10-31 09:04:11 +00:00
John Lees-Miller
8f1dac6d68 Merge pull request #15195 from overleaf/tm-compile-timeout-20s-phase-two-date-change
Update new/existing user cut off date for compile timeout

GitOrigin-RevId: 382e8bc171f1d3728cfbaefa85d9c2d13779d4ee
2023-10-11 08:03:46 +00:00
Thomas
03aaabd5cb Merge pull request #15169 from overleaf/tm-compile-timeout-20s-phase-two
Decide new user cutoff using baseline (original) n2d assignment

GitOrigin-RevId: 7ea263cc551f87a4d9fed70450c32d7dea6b1e58
2023-10-11 08:03:33 +00:00
Thomas
31cb9e336b 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
Eric Mc Sween
f038cd4d10 Merge pull request #13454 from overleaf/jpa-n2d-split-test
[web] add split test for running standard compiles on n2d instances

GitOrigin-RevId: 05b85870c2ff5eb0345e700101225535a4a569f1
2023-07-17 10:34:42 +00:00
Eric Mc Sween
75abea72b0 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
Brian Gough
5c06b29e77 Merge pull request #10740 from overleaf/jpa-auto-compile-rate-limit-two-buckets
[web] split rate-limit tracking for auto-compiles into two buckets

GitOrigin-RevId: dcc743343010afe7d877fe5d37f020f10a8fd412
2022-12-06 09:04:10 +00:00
Jakob Ackermann
51c870c285 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
b19c56ccaf 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
Eric Mc Sween
98f73fe35c 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
a78bcee15f 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
f0bd6dda23 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
Jakob Ackermann
7f9fd00bda Merge pull request #5367 from overleaf/jpa-node-handle-callback-err
[misc] fix eslint violations for node/handle-callback-err

GitOrigin-RevId: 83a4900e8861010df1917bff49382bd9c93375bd
2021-10-28 08:03:26 +00:00
Jakob Ackermann
5e773ce950 Merge pull request #4101 from overleaf/ae-settings-module
Migrate from `settings-sharelatex` to `@overleaf/settings`

GitOrigin-RevId: 9a298ba26382180c1351683c5fddc9004418c1e6
2021-07-08 02:08:28 +00:00
Jakob Ackermann
7db7cd4a49 [misc] merge pdf caching into main (#4033)
* [frontend] WIP: pdf caching using service worker -- squashed

Ref: 920fbaa00b31530f7c457a2d93bad5e553798057
Co-Authored-By: Brian Gough <brian.gough@overleaf.com>
Co-Authored-By: Eric Mc Sween <eric.mcsween@overleaf.com>

* [misc] add contentId into the URL for protecting PDF stream contents

* [misc] gracefully handle missing ranges in serviceWorker

* [misc] support PDF stream caching for anonymous users

* [misc] polish header names and add URL to error message when fetch fails

* [misc] polish event handler registration

* [misc] limit serviceWorker scope to /project/ -- trailing slash

This will block the service worker from intercepting requests on the
 project dashboard.

* [misc] add per-request feature flag for enabling PDF stream caching

* [misc] expose compile stats and timings to the frontend

* [misc] serviceWorker: support clsiServerId and compileGroup url params

* [misc] serviceWorker: polish header maps

* [misc] serviceWorker: drop TODO for p-limit -- the browser has a queue

* [misc] serviceWorker: drop verbose log message on every fetch

* [misc] cut down size of diff in backend code

* [misc] add test case for forwarding of pdf caching and metrics details

* [misc] serviceWorker: drop all the log lines

* [misc] serviceWorker: add boundary guards to the compile request regex

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: 4b291b4a4f2866cf07bccf8ec9068f33bbfdc916
2021-05-18 02:07:57 +00:00
Miguel Serrano
f9871103bf Merge pull request #3949 from overleaf/msm-reenable-eslint-const-rule
Reenable eslint `prefer-const` rule

GitOrigin-RevId: 4f3825be8b8dff381095209085a36eaab76260d5
2021-05-06 02:09:14 +00:00
Alf Eaton
1be43911b4 Merge pull request #3942 from overleaf/prettier-trailing-comma
Set Prettier's "trailingComma" setting to "es5"

GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
2021-04-28 02:10:01 +00:00
Alf Eaton
1ebc8a79cb Merge pull request #3495 from overleaf/ae-prettier-2
Upgrade Prettier to v2

GitOrigin-RevId: 85aa3fa1acb6332c4f58c46165a43d1a51471f33
2021-04-15 02:05:22 +00:00
Eric Mc Sween
db93fa3a8b Merge pull request #3556 from overleaf/jpa-clsi-persistance-query-param
[CompileController] enable clsi node persistence via query parameter

GitOrigin-RevId: 515814d6ad5832e69538ef6d63f81c61c66fd73f
2021-01-22 03:04:42 +00:00
Alf Eaton
2ff1cf43d6 Merge pull request #3470 from overleaf/eslint
Upgrade and configure ESLint

GitOrigin-RevId: ad5aeaf85e72c847a125ff3a9db99a12855e38aa
2020-12-16 03:08:28 +00:00
Christopher Hoskin
1e8598a8d9 Merge pull request #3331 from overleaf/csh-issue-3661-bump-agents
Update metrics module

GitOrigin-RevId: bdef141035f277ce4863f14f8a6e166d710b1111
2020-10-31 03:05:30 +00:00
Brian Gough
beb452e4e0 Merge pull request #2930 from overleaf/bg-downgrade-recently-compiled-warning
remove unnecessary recently-compiled warning

GitOrigin-RevId: ee9feaf932e741d40741568f63fcf65ac42fb27d
2020-06-20 02:10:52 +00:00
Brian Gough
63e8c48c77 Merge pull request #2926 from overleaf/bg-create-alpha-compile-group
create alpha compile group

GitOrigin-RevId: edc063ef591a1bed20600a9418e2114f8ab0a3df
2020-06-20 02:10:42 +00:00
Ersun Warncke
ba253bee12 Revert "Revert "Revert "clear rootDoc_id when deleting doc, reset on compiles if invalid"""
This reverts commit 034ae6fa4d8515944683395ef14d99801829cb6a.

GitOrigin-RevId: 16801e6f35e1ee879d36ca46e262f8bb6e506a54
2020-02-12 04:20:56 +00:00
Ersun Warncke
02140124bd Revert "Revert "Revert "wip"""
This reverts commit 80bc280977d25e3ba554c32242fddfb3e15915e6.

GitOrigin-RevId: 563ed572aad616d98cd81e0acf649df8f063aa3a
2020-02-12 04:20:47 +00:00
Ersun Warncke
1c77077e71 Revert "Revert "wip""
This reverts commit f817ac652e35e9ed79db8d24c4144460e4cc0f71.

GitOrigin-RevId: 80bc280977d25e3ba554c32242fddfb3e15915e6
2020-02-12 04:19:50 +00:00
Ersun Warncke
93bf7cc4db Revert "Revert "clear rootDoc_id when deleting doc, reset on compiles if invalid""
This reverts commit 7acba5876581044a08d6deb4767a4a2196dcb765.

GitOrigin-RevId: 034ae6fa4d8515944683395ef14d99801829cb6a
2020-02-12 04:19:41 +00:00
Ersun Warncke
76a6c399e3 Revert "clear rootDoc_id when deleting doc, reset on compiles if invalid"
This reverts commit 539982adbf55014400f4aff94195e7f567cda676.

GitOrigin-RevId: 7acba5876581044a08d6deb4767a4a2196dcb765
2020-02-06 04:19:46 +00:00
Ersun Warncke
71d0036e8e Revert "wip"
This reverts commit 81103ae6d7c0c22eb24da6ed6577223ba16e8861.

GitOrigin-RevId: f817ac652e35e9ed79db8d24c4144460e4cc0f71
2020-02-06 04:19:36 +00:00
Ersun Warncke
9d1ac41777 wip
GitOrigin-RevId: 81103ae6d7c0c22eb24da6ed6577223ba16e8861
2020-02-06 04:18:48 +00:00
Ersun Warncke
74ecb4bebe clear rootDoc_id when deleting doc, reset on compiles if invalid
GitOrigin-RevId: 539982adbf55014400f4aff94195e7f567cda676
2020-02-06 04:18:37 +00:00
Ersun Warncke
2c335802ca remove excessive logging
GitOrigin-RevId: 62024bbe0415a4fdae66eb1b9c6707e5faec7cd1
2019-11-27 12:17:32 +00:00
Timothée Alby
109585d20c Merge pull request #1947 from overleaf/ta-cleanup-guard-1
Remove __guard__ Function Used to Access Settings

GitOrigin-RevId: 15e3749990a9fc68f8d344390b1bf0d09d839106
2019-07-15 13:23:38 +00:00
Alasdair Smith
0ca81de78c Merge pull request #1717 from overleaf/as-decaffeinate-backend
Decaffeinate backend

GitOrigin-RevId: 4ca9f94fc809cab6f47cec8254cacaf1bb3806fa
2019-05-29 09:32:21 +00:00