* [monorepo] record ERROR/FATAL log messages in junit report
* [web] put SaaS specific code behind feature flag
* [web] use split test cache for getting user assignments
The unit tests needed updating as they did not replicate any of the
mongo filtering. The acceptance tests cover this logic.
* [web] make better use of existing indexes
* [web] avoid col-scan in tests of notifications module
* [web] remove cleanup of empty feedbacks collection
* [web] add assertion for reason of rejected request in launchpad test
* [web] add missing indexes
* [web] enable mongo notablescan
* [web] make emailNotifications tests compatible with notablescan
GitOrigin-RevId: b888f2feeb3a0e915f068ae1c4ea23ec17821221
* [libraries] move all the unit tests into test/unit
* [settings] remove empty test file
* [mongo-utils] remove test setup as there are no tests
* [libraries] ensure that all libraries with tests have test/setup.js
* [monorepo] remove test step from Cloud build for libraries without tests
GitOrigin-RevId: b9a0a8a3330db7d8646c7a272b03fbb8c5e44bc0
* Upgrade `aws-sdk` to v3
Also vendored nodemailer-ses-transport
* Moved default region to CE settings
* Ensure timeout is added to `requestHandler` and `region` is populated
* fix unsigned header in signed URL request
The x-amz-acl header is not needed when using the signed request,
as ACL are already defined when creating the signed URL in
PutObjectCommand constructor.
* Add default AWS region for latexqc service
* remove unnecessary region in compose files
* Use AWS_REGION=us-west-2 for history-v1
* prevent retries uploading streams with PutObjectCommand
* Remove AWS SDK JS message suppression
GitOrigin-RevId: 6fda6f02160023ffed76143397bbd965f86a9509
* Add `unicorn/prefer-node-protocol`
* Fix `unicorn/prefer-node-protocol` ESLint errors
* Run `npm run format:fix`
* Add sandboxed-module sourceTransformers in mocha setups
Fix `no such file or directory, open 'node:fs'` in `sandboxed-module`
* Remove `node:` in the SandboxedModule requires
* Fix new linting errors with `node:`
GitOrigin-RevId: 68f6e31e2191fcff4cb8058dd0a6914c14f59926
The GCS library automatically decompresses files with Content-encoding:
gzip. This is very useful, but the S3 library doesn't do that, so we
need to disable the feature in GCS so that it behaves the same way other
persistors behave.
Add contentType and contentEncoding options to sendStream(). These
options will set the corresponding metadata on the object.
This changes the API. The fourth argument to sendStream() used to be the
source md5. Now, it's an options object and the source md5 is a property
of that object.
* Create new module from overleaf/filestore persistors
* Convert persistors to ES6 classes with local settings
* Update README.md
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Update README.md
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Update .gitignore
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Switch to AGPL license
* Paginate S3 list-object results
* Remove S3 client caching
* Clean up S3 md5-verification mechanism
* Update README for recent changes
* Update README.md
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Remove package-lock
* Remove comment about FileHandler
* Add directory marker to FSPersistor.deleteDirectory
* Don't copy opts in GcsPersistor.getObjectStream
* Use Date.now instead of getTime
* Catch errors in migration persistor
* Check that settings.buckets exists
* Don't mutate options in ObserverStream constructor
* Update src/PersistorHelper.js
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Lint and format fixes
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>