* [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
* updated pdf.js to 2.5.207, and added worker-loader as a devDependency
* updated pdf.js loaded to load ES5 build instead of the default one
* replaced imports with named imports due to changes on pdf.js worker loading
There are some hash downgrades in the lockfile. Running the commands through the appropriate methods yields the same result consistency
GitOrigin-RevId: 37be3901abf1044d93d83cb684e4e32721550d5a