* 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
* [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
* wait doc:saved before compiling
* Refactor DocumentCompiler class to handle pending operations before compilation
* add timeout for pending op
* Increase PENDING_OP_MAX_WAIT to 10000 milliseconds
* check if currentDoc exists
* check doc id on doc:saved
* Fix conditional statement
* Refactor to add and remove event listeners for doc:saved event
* check if getPendingOp exists
* typeof getPendingOp
* forgot to push updates
* add flush-changes event
* use promise for handling pending operations
* Remove console.logs
* add isAwaitingBufferedOps
* Revert "add isAwaitingBufferedOps"
This reverts commit 56b0bbc13caf6375d1cf50e8f65f599e7263c404.
* move _awaitBufferedOps in try block
* dont check for matching doc id
* add a todo comment
GitOrigin-RevId: 9225e7d1a7a69385dc1a26bf7663f89f59db6a8a
- pdfUrl, pdfDownloadUrl and log entries are now cleared up after a compilation error.
- Added a new hook, useScopeValueSetterOnly that limits how changes in React components are propagated to Angular. Since the compilation process happens entirely within compile-context it make sense that compilation results are solely managed by compile-context itself.
GitOrigin-RevId: 2003be03bab6753bb9a88194c7a6163cfd36f9c2
* Only hide the compile logs pane when toggled off
* Handle PDF preview on toggle between split and full-width views
GitOrigin-RevId: 9ceca8a06a22abfa78f245e1ae5d24af98215906