Commit Graph
75 Commits
Author SHA1 Message Date
Andrew Rumble 79d80cc266 Merge pull request #21462 from overleaf/revert-18828-ac-node-20
Revert "Upgrade Node from `18.20.2` to `20.17.0`"

GitOrigin-RevId: cc12c33b4588caa2959817a113547d20d437d6f4
2024-10-30 09:05:07 +00:00
Andrew Rumble a480df8a89 Merge pull request #18828 from overleaf/ac-node-20
Upgrade Node from `18.20.2` to `20.17.0`

GitOrigin-RevId: 0ba9b0921fc246a97d3da0aad7d48635c0e24ae8
2024-10-30 09:04:38 +00:00
andrew rumble 2486f893eb Add an endpoint for rails to record salesforce mappings
GitOrigin-RevId: fcca974a69217dc885c458543a82b4dcc338d98b
2024-10-23 08:05:54 +00:00
andrew rumble 24b27e3863 Send subscription -> salesforce/v1 links to analytics
GitOrigin-RevId: 52c02138f9ef8141850e2f8ce16f2bab1e7463b0
2024-10-23 08:05:50 +00:00
Andrew Rumble ad9c0446e2 Changes to support converted features
GitOrigin-RevId: 5f46cbf77c6f814820231b9cbfab9906dab6270d
2024-10-17 08:06:22 +00:00
Andrew Rumble 2bfb55a305 Update tests
GitOrigin-RevId: 9272720e0f6865c54257c43bd98d8e6003251aa2
2024-10-17 08:06:17 +00:00
Andrew Rumble 9490251251 Update acceptance tests
GitOrigin-RevId: cf8bc3f86ccff15df8e20ceda6842dad8538d5e3
2024-10-17 08:06:13 +00:00
Andrew Rumble c6c62088cc Migrate Features to ES modules
GitOrigin-RevId: 4e9d3176b4b5a5504afc102e569a27d7788864a3
2024-10-17 08:06:08 +00:00
Andrew Rumble d2e6608f01 Convert export_institution_chat script to ES module
GitOrigin-RevId: 8570922654049edb514f8091421e5be2f04988cd
2024-10-17 08:04:59 +00:00
Andrew Rumble e0dba75b81 Convert top level acceptance tests to ES module
GitOrigin-RevId: ab45010ec557d62576c470d2e024549e67261c66
2024-10-16 09:35:34 +00:00
Andrew Rumble ad5e818420 Set importedAt date test into the past
GitOrigin-RevId: 535bbd72a7b72298367aa4da2e98de5542c53f30
2024-10-16 08:05:10 +00:00
Andrew Rumble 3f0cf84318 Convert scripts that use institutions module
GitOrigin-RevId: d5819904f746c04fdb63971af93e8f8cc6f9fda8
2024-10-16 08:04:52 +00:00
Andrew Rumble e60297bd04 Convert refresh_features to es module
GitOrigin-RevId: c3fd7ec4c0f3ce5560f6a8b4e3fff1d2eec5c4ab
2024-10-16 08:04:41 +00:00
Andrew Rumble d711d35466 Add a rule to catch commonjs code in es modules
GitOrigin-RevId: 7c8efb2b53e981ad32140bcfbeb0f81270936337
2024-10-14 11:11:09 +00:00
Andrew Rumble e05c181af4 Ignore test settings file
GitOrigin-RevId: 5f9e901f4358bb631299ec165b72305ea814e343
2024-10-14 11:07:18 +00:00
andrew rumble 50c74c3168 Add esmock for tests
GitOrigin-RevId: 42be4094f8551a1588de5048b4876557e16888f1
2024-10-14 11:05:07 +00:00
andrew rumble 4919172d52 Load settingsCheckModule regardless of module type
GitOrigin-RevId: 7afeb6d5bbe6b5db33c8d1a547009980e6e75c53
2024-10-14 11:04:50 +00:00
andrew rumble 46317a9b9c Make apply module function async
This will allow us to support async module loading required for ES
modules support.

GitOrigin-RevId: bfd925c94ca3b6df8f75f704e21164a546973f5f
2024-10-14 11:04:41 +00:00
andrew rumble 2f96ef11f9 Allow ESM OL modules to be loaded
Lots of changes to async/await required to allow this. We have to make
some changes to handle the fact that modules are loaded async in stages
rather than sync (so we can't control when top-level functionality is
run in a fine grained way)

GitOrigin-RevId: 0127b15bfc4f228a267df3af8519c675e900654e
2024-10-14 11:04:32 +00:00
andrew rumble 5a5995f43c Convert server and router files to ES modules
GitOrigin-RevId: dab330dd89afb156db6586d8c28b146216548477
2024-10-14 11:04:28 +00:00
andrew rumble e128e8ea32 Convert app.js to ES modules
GitOrigin-RevId: 7819cc8c8235b93b985c1c07c7dec778c93d9134
2024-10-14 11:04:23 +00:00
Andrew Rumble ee8c13ec7e Ensure gov banner defined before use
GitOrigin-RevId: 1db97fd4882600f8e6764273bbcbec503b68f01e
2024-10-14 11:03:55 +00:00
andrew rumble 8a31146d02 Promisify LinkedFilesController
GitOrigin-RevId: b81ed1615939671839cbeabc36308fe8b81647cf
2024-10-14 11:03:19 +00:00
andrew rumble 63ea296453 Add promises export needed for LinkedFilesController
GitOrigin-RevId: 0a4c4b8faf1c6bb94d288cb8019d3966c283ed70
2024-10-14 11:03:14 +00:00
andrew rumble 696bfa3756 Move functions to prepare for async/await
GitOrigin-RevId: b0f43d14a214d1f7695b3b312d63827d2c82470c
2024-10-14 11:03:09 +00:00
andrew rumble 05a7f1e632 Add mjs support to eslint
GitOrigin-RevId: d2db7eb14e3d68a7dc95b24c98cee0d41ccd7e74
2024-10-14 10:59:51 +00:00
andrew rumble 35afb713a3 Upgrade mongodb-legacy and mongoose to latest
GitOrigin-RevId: a581ebca5a3c0108ad37a6ea55b7772a065793d9
2024-09-24 08:06:36 +00:00
andrew rumble 0c428e149f Update mongoose count usages to countDocuments
count was removed see:
https://mongoosejs.com/docs/migrating_to_8.html#removed-count.

GitOrigin-RevId: 308c8f4b681269c29669c45b5f2022404b3af463
2024-09-24 08:06:32 +00:00
andrew rumble 5f699ac5ef Fix findOneAnd* usages
findOneAnd* now returns either a document or null rather than a result
set (unless the result set is requested explicitly). See
https://www.mongodb.com/blog/post/behavioral-changes-find-one-family-apis-node-js-driver-6-0-0.

GitOrigin-RevId: 93dc64cbcc663217f914cf9e9821e2b9642154db
2024-09-24 08:06:28 +00:00
andrew rumble 5b1c0c5008 Fix use of fake ObjectIds in tests
12 character strings are no longer valid see:
https://github.com/mongodb/js-bson/releases/tag/v6.0.0 (Strings of
length 12 can no longer make an ObjectId)

GitOrigin-RevId: 2590c10915c50b951f991b2cf161d80235e445ca
2024-09-24 08:06:23 +00:00
andrew rumble bb12dd33ee Capture more logging information for output.zip errors
GitOrigin-RevId: a2f15d05100dfdba06778a1a795c8eabefd2666d
2024-09-24 08:05:33 +00:00
andrew rumble d4911ea246 Stop waiting for finalize
Finalize promise will only resolve when the archive is closed. We want
to stream as soon as we have the data so this does not suit us. We want
to log errors that are thrown due to finalize, these should be
propogated by archiver to the response already.

GitOrigin-RevId: 4f9d727a00ead1be3caee62e1e0adba069a545c7
2024-09-24 08:05:28 +00:00
andrew rumble d4824b9c5f Get full path only when adding file to archive
This allows us to:
* Get files that are in subdirectories (not known to happen but might as
well support)
* Removes need to sanitise missing_files output

GitOrigin-RevId: 4b27b7f1b506578a6d713ea23979aa9370dfdcb0
2024-09-24 08:05:24 +00:00
andrew rumble 60a75d12b0 Rename files to reflect refactoring elsewhere
GitOrigin-RevId: 335f876913b7868cf69dcd55dd156261edd98945
2024-09-24 08:05:19 +00:00
andrew rumble 487d9125a2 Improve stream error safety
GitOrigin-RevId: de4c512a62d304b3eeb2a1521aac173fa93d8411
2024-09-24 08:05:15 +00:00
andrew rumble 1409e32010 Move logging into ArchiveManager
GitOrigin-RevId: 71a28a0215c5f1a6975c9e2fcdcd476513df1cbc
2024-09-24 08:05:10 +00:00
andrew rumble c387e60a28 Remove unnecessary symlink check
GitOrigin-RevId: 08d7295403a258818276b9fbd7666a20fbc2e00f
2024-09-24 08:05:06 +00:00
andrew rumble 3fa35ef03a Share ignore logic between web and clsi
GitOrigin-RevId: c4ae306413efb71989d2db410c3859cb69b3d5de
2024-09-24 08:05:01 +00:00
andrew rumble d627a0bee9 Remove files param from output.zip endpoint
GitOrigin-RevId: 300cd870578237ad8e61be4e9e41991f884aa754
2024-09-24 08:04:57 +00:00
andrew rumble c764566148 Allow all files to be in zip (in same directory)
GitOrigin-RevId: 14645a0c3db88faf00e2718b9574b5892ac3efcb
2024-09-24 08:04:53 +00:00
andrew rumble e537835718 Remove request dep and move fetch-utils to main deps
GitOrigin-RevId: c11bb10ab753bc726332a924b3d13617a1fb3b40
2024-09-17 08:05:12 +00:00
andrew rumble 13d275a353 Convert references acceptance tests to use fetch-utils
GitOrigin-RevId: 9adebf1926a406af6a6dfbd3a091a4d8fd8764da
2024-09-09 08:04:45 +00:00
andrew rumble bdc907ecc6 Move overrides to top level
See documentation:
https://docs.npmjs.com/cli/v10/configuring-npm/package-json#overrides

GitOrigin-RevId: 13f7a475335e9ef54419f18fab14f31da32ef250
2024-09-06 08:04:44 +00:00
andrew rumble 7677174670 Bump @grpc/grpc-js to 1.8.22 and 1.10.11
These versions patch a vulnerability

GitOrigin-RevId: cb0c13d5fcf8276b93bb1dfb34709f423ebe4346
2024-09-06 08:04:39 +00:00
andrew rumble b28d9c15e4 Convert github-sync files to use fetch-utils
GitOrigin-RevId: 5b3a40bbeac54d00d566144d5642b2b36171b239
2024-09-02 08:04:42 +00:00
andrew rumble 777acc4040 Refactor mongodb infra module to remove unneeded code
GitOrigin-RevId: f907753dffd67ed279815693c37498ec255f1353
2024-08-21 08:04:59 +00:00
andrew rumble 56f70b3246 Support v5 of mongodb when recording metrics
GitOrigin-RevId: 6365fa54b0b50dc8527fe75f371c53a43e2c5a72
2024-08-21 08:04:55 +00:00
andrew rumble da350a52fd Check that we are using same ObjectId as mongoose
GitOrigin-RevId: 95812e15365bea740dfd02215e706f8014239840
2024-08-21 08:04:50 +00:00
andrew rumble d4cc50bc21 Placate the linter
GitOrigin-RevId: 064d796a5c3c49cfdacee5cf1a461d38f08425b3
2024-08-21 08:04:46 +00:00
andrew rumble 4e2bfd58a1 Handle removal of mongoose callback API for UserMemberships
GitOrigin-RevId: 0bdfaf4bfb357d75ee05513cf524540eef7fcec4
2024-08-21 08:04:42 +00:00
andrew rumble 330868ff0c Handle Mongoose callback api removal in test helpers
GitOrigin-RevId: 00b8128aed7727e7a1b6f8d2d92a5fbc3a7775fb
2024-08-21 08:04:37 +00:00
andrew rumble 5cd5c1bffc Use new ObjectId instead of ObjectId()
GitOrigin-RevId: bfbf9f1d6b84a13f32fce127f01a49b1deaee6fe
2024-08-21 08:04:33 +00:00
andrew rumble e08c60424d Allow independent pools to be used for mongo/mongoose
GitOrigin-RevId: c0c7d8e3388fd9402d7b22b70eda9455b4ecc205
2024-08-21 08:04:29 +00:00
andrew rumble 032deaf05c Switch to mongodb-legacy
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
andrew rumble 04b46fa5ff Install new mongodb-legacy and mongoose
GitOrigin-RevId: 66000d8c4752fcd51152854ff1eb255f7382607c
2024-08-21 08:04:19 +00:00
andrew rumble 019562cb5a Update promises to use async functions directly
GitOrigin-RevId: f6a5d235ee259a4cf00f1e8d5c089b2d1d24a842
2024-08-15 08:04:39 +00:00
andrew rumble f13cb88f02 Update unit tests
GitOrigin-RevId: b7a0b6265fefae775f0ce8a61e57e5231930dc50
2024-08-15 08:04:35 +00:00
andrew rumble 7af4980a4d Promisify ProjectEntityUpdateHandler functions
Promisify wrapWithLock

Promisify getDocContext

Promisify updateDocLines

Promisify setRootDoc

Promisify unsetRootDoc

Promisify addDoc and addDocWithRanges

Promisify addFile

Promisify upsertFile

Promisify upsertDocWithPath

Promisify deleteEntity

Promisify deleteEntityWithPath

Promisify mkdirp and mkdirpWithExactCase

Promisify moveEntity

Promisify renameEntity

Promisify addFolder

Promisify convertDocToFile

Promisify resyncProjectHistory

Promisify _addDocAndSendToTpds

Promisify _replaceFile

Promisify _checkFiletree

Promisify _cleanupEntity

Promisify _updateProjectStructureWithDeletedEntity

Promisify _cleanUpDoc and _cleanUpFile

Promisify upsertFileWithPath

Promisify upsertDoc

Promisify _uploadFile

Promisify _addFileAndSendToTpds

GitOrigin-RevId: 56a7de0ae79efedd5ad48abae2db22a4028c0c12
2024-08-15 08:04:30 +00:00
andrew rumble c4d7da87a6 Move functions to be promisified
Moving these first will make later commits have a cleaner diff. There
are no substantive code changes in the moved functions.

GitOrigin-RevId: 06e0c5bb02f300942c8fbe80e81484c4d717dbc9
2024-08-15 08:04:25 +00:00
andrew rumble 8af5fa0378 Upper-case for all methods
This is required by the fetch-api.

GitOrigin-RevId: 641c63ad2fe6b9d01c48c28faf669051de8f3271
2024-08-01 08:05:11 +00:00
andrew rumble 2477ac6c50 Upper case PUT for consistency
GitOrigin-RevId: e3ce6b652ee9cee8a719b56d0dddda2faf575968
2024-08-01 08:05:06 +00:00
andrew rumble cbf8832908 Fix typos
GitOrigin-RevId: 69477e3d95db2862f745f43d97a6f98430a1973c
2024-08-01 08:05:01 +00:00
andrew rumble 67cb9fc1b3 Separate qs out from url
GitOrigin-RevId: 8a1c45d3d71240e63f78f2f1920b324577eb7e6d
2024-08-01 08:04:56 +00:00
andrew rumble 709982ac65 Switch request out for fetch
GitOrigin-RevId: b011976084d113c250b002c1bae23f6b38a3281c
2024-08-01 08:04:52 +00:00
andrew rumble 2ccd39b2fa Switch to using status over statusCode
This is a difference in the request/fetch APIs.

GitOrigin-RevId: bde9adcf4de2ceaabfd9baae7a93bf2b0b5e5a1e
2024-08-01 08:04:47 +00:00
andrew rumble 0a62bc1239 Fix typo in name of method
GitOrigin-RevId: fe8a2bcf5e577c001c4508b7bb010e1738ccc903
2024-08-01 08:04:42 +00:00
andrew rumble bfc6ac8745 Add mock for the unlink dropbox endpoint
GitOrigin-RevId: 41293a2cb6ab3cf87d40717e43c0f4888df89fe1
2024-07-23 08:04:28 +00:00
andrew rumbleandJakob Ackermann f54b257022 Remove special code for handling RequestFailedErrors
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 821826fa56b89176b615e026f11db0b7fcfcbd30
2024-07-17 08:05:05 +00:00
andrew rumbleandJakob Ackermann 0e89857a9f Remove unneeded/confusing assignment
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 2aa48249cf216bc8cca7e95153695095923c0b86
2024-07-17 08:05:01 +00:00
andrew rumble 15ea69995a Replace request with fetch-utils in ExpressLocals
GitOrigin-RevId: 85c112a2124aeca128753e40c70869517c7026f6
2024-07-17 08:04:57 +00:00
andrew rumble 81b0eb7eb5 Remove obsolete comment
GitOrigin-RevId: 73da65c200d19ed4b389423e3d9f983c90ea1885
2024-06-17 08:04:09 +00:00
andrew rumble 49b7ebe0d0 Remove instances where async is required but not used
GitOrigin-RevId: a202a2d90c4ce61391aabbde1f24437caef54ff0
2024-06-17 08:04:05 +00:00
andrew rumble ee31d44f03 Explicitly specify latest version of async
GitOrigin-RevId: 9112007de0f5eb4e75604de9f01c2d77b3b8b980
2024-06-17 08:04:00 +00:00
andrew rumble 0e2f0e7f7d Update protobufjs to 7.2.5 everywhere
GitOrigin-RevId: 353d3a6d7bef5527fe0a068775dd6ac8c3557483
2024-06-17 08:03:46 +00:00
andrew rumble 3311066363 Add new fields to mongoose subscription schema
GitOrigin-RevId: 6b28d7464482a8d5729709f99893b333c3d7f9c2
2024-06-11 08:04:55 +00:00