瀏覽代碼

Upgrade GC storage and big query with updated patches (#31297)

GitOrigin-RevId: ff1432f4194c3529ebf6090d1f93dbed38539014
Anna Claire Fields 6 月之前
父節點
當前提交
72f8dff76d

+ 1 - 1
libraries/object-persistor/package.json

@@ -22,7 +22,7 @@
     "@aws-sdk/lib-storage": "^3.864.0",
     "@aws-sdk/node-http-handler": "^3.370.0",
     "@aws-sdk/s3-request-presigner": "^3.864.0",
-    "@google-cloud/storage": "^6.10.1",
+    "@google-cloud/storage": "^7.18.0",
     "@overleaf/logger": "*",
     "@overleaf/metrics": "*",
     "@overleaf/o-error": "*",

File diff suppressed because it is too large
+ 369 - 282
package-lock.json


+ 30 - 0
patches/@google-cloud+logging++retry-request+7.0.2.patch

@@ -0,0 +1,30 @@
+diff --git a/node_modules/@google-cloud/logging/node_modules/retry-request/index.js b/node_modules/@google-cloud/logging/node_modules/retry-request/index.js
+index 2fae107..5721c54 100644
+--- a/node_modules/@google-cloud/logging/node_modules/retry-request/index.js
++++ b/node_modules/@google-cloud/logging/node_modules/retry-request/index.js
+@@ -1,6 +1,6 @@
+ 'use strict';
+ 
+-const {PassThrough} = require('stream');
++const { PassThrough, pipeline } = require('stream');
+ const extend = require('extend');
+ 
+ let debug = () => {};
+@@ -185,7 +185,7 @@ function retryRequest(requestOpts, opts, callback) {
+         .on('complete', (...params) => handleFinish(params))
+         .on('finish', (...params) => handleFinish(params));
+ 
+-      requestStream.pipe(delayStream);
++      pipeline(requestStream, delayStream, () => {});
+     } else {
+       activeRequest = opts.request(requestOpts, onResponse);
+     }
+@@ -251,7 +251,7 @@ function retryRequest(requestOpts, opts, callback) {
+     // No more attempts need to be made, just continue on.
+     if (streamMode) {
+       retryStream.emit('response', response);
+-      delayStream.pipe(retryStream);
++      pipeline(delayStream, retryStream, () => {});
+       requestStream.on('error', err => {
+         retryStream.destroy(err);
+       });

+ 58 - 0
patches/@google-cloud+logging++teeny-request+9.0.0.patch

@@ -0,0 +1,58 @@
+diff --git a/node_modules/@google-cloud/logging/node_modules/teeny-request/build/src/index.js b/node_modules/@google-cloud/logging/node_modules/teeny-request/build/src/index.js
+index af5d15e..2b63d0c 100644
+--- a/node_modules/@google-cloud/logging/node_modules/teeny-request/build/src/index.js
++++ b/node_modules/@google-cloud/logging/node_modules/teeny-request/build/src/index.js
+@@ -115,6 +115,9 @@ function createMultipartStream(boundary, multipart) {
+         }
+         else {
+             part.body.pipe(stream, { end: false });
++            part.body.on('error', (err) => {
++                stream.destroy(err);
++            });
+             part.body.on('end', () => {
+                 stream.write('\r\n');
+                 stream.write(finale);
+@@ -168,25 +171,27 @@ function teenyRequest(reqOpts, callback) {
+         // Stream mode
+         const requestStream = streamEvents(new stream_1.PassThrough());
+         // eslint-disable-next-line @typescript-eslint/no-explicit-any
+-        let responseStream;
+-        requestStream.once('reading', () => {
+-            if (responseStream) {
+-                (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-            }
+-            else {
+-                requestStream.once('response', () => {
+-                    (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-                });
+-            }
+-        });
++        // let responseStream;
++        // requestStream.once('reading', () => {
++        //    if (responseStream) {
++        //        (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //    }
++        //    else {
++        //        requestStream.once('response', () => {
++        //            (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //        });
++        //    }
++        // });
++
++
+         options.compress = false;
+         teenyRequest.stats.requestStarting();
+         (0, node_fetch_1.default)(uri, options).then(res => {
+-            teenyRequest.stats.requestFinished();
+-            responseStream = res.body;
+-            responseStream.on('error', (err) => {
+-                requestStream.emit('error', err);
+-            });
++            teenyRequest.stats.requestFinished(); stream_1.pipeline(res.body, requestStream, () => {});
++        //    responseStream = res.body;
++        //    responseStream.on('error', (err) => {
++        //        requestStream.emit('error', err);
++        //    });
+             const response = fetchToRequestResponse(options, res);
+             requestStream.emit('response', response);
+         }, err => {

+ 30 - 0
patches/@google-cloud+logging-min++retry-request+7.0.2.patch

@@ -0,0 +1,30 @@
+diff --git a/node_modules/@google-cloud/logging-min/node_modules/retry-request/index.js b/node_modules/@google-cloud/logging-min/node_modules/retry-request/index.js
+index 2fae107..5721c54 100644
+--- a/node_modules/@google-cloud/logging-min/node_modules/retry-request/index.js
++++ b/node_modules/@google-cloud/logging-min/node_modules/retry-request/index.js
+@@ -1,6 +1,6 @@
+ 'use strict';
+ 
+-const {PassThrough} = require('stream');
++const { PassThrough, pipeline } = require('stream');
+ const extend = require('extend');
+ 
+ let debug = () => {};
+@@ -185,7 +185,7 @@ function retryRequest(requestOpts, opts, callback) {
+         .on('complete', (...params) => handleFinish(params))
+         .on('finish', (...params) => handleFinish(params));
+ 
+-      requestStream.pipe(delayStream);
++      pipeline(requestStream, delayStream, () => {});
+     } else {
+       activeRequest = opts.request(requestOpts, onResponse);
+     }
+@@ -251,7 +251,7 @@ function retryRequest(requestOpts, opts, callback) {
+     // No more attempts need to be made, just continue on.
+     if (streamMode) {
+       retryStream.emit('response', response);
+-      delayStream.pipe(retryStream);
++      pipeline(delayStream, retryStream, () => {});
+       requestStream.on('error', err => {
+         retryStream.destroy(err);
+       });

+ 58 - 0
patches/@google-cloud+logging-min++teeny-request+9.0.0.patch

@@ -0,0 +1,58 @@
+diff --git a/node_modules/@google-cloud/logging-min/node_modules/teeny-request/build/src/index.js b/node_modules/@google-cloud/logging-min/node_modules/teeny-request/build/src/index.js
+index af5d15e..2b63d0c 100644
+--- a/node_modules/@google-cloud/logging-min/node_modules/teeny-request/build/src/index.js
++++ b/node_modules/@google-cloud/logging-min/node_modules/teeny-request/build/src/index.js
+@@ -115,6 +115,9 @@ function createMultipartStream(boundary, multipart) {
+         }
+         else {
+             part.body.pipe(stream, { end: false });
++            part.body.on('error', (err) => {
++                stream.destroy(err);
++            });
+             part.body.on('end', () => {
+                 stream.write('\r\n');
+                 stream.write(finale);
+@@ -168,25 +171,27 @@ function teenyRequest(reqOpts, callback) {
+         // Stream mode
+         const requestStream = streamEvents(new stream_1.PassThrough());
+         // eslint-disable-next-line @typescript-eslint/no-explicit-any
+-        let responseStream;
+-        requestStream.once('reading', () => {
+-            if (responseStream) {
+-                (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-            }
+-            else {
+-                requestStream.once('response', () => {
+-                    (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-                });
+-            }
+-        });
++        // let responseStream;
++        // requestStream.once('reading', () => {
++        //    if (responseStream) {
++        //        (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //    }
++        //    else {
++        //        requestStream.once('response', () => {
++        //            (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //        });
++        //    }
++        // });
++
++
+         options.compress = false;
+         teenyRequest.stats.requestStarting();
+         (0, node_fetch_1.default)(uri, options).then(res => {
+-            teenyRequest.stats.requestFinished();
+-            responseStream = res.body;
+-            responseStream.on('error', (err) => {
+-                requestStream.emit('error', err);
+-            });
++            teenyRequest.stats.requestFinished(); stream_1.pipeline(res.body, requestStream, () => {});
++        //    responseStream = res.body;
++        //    responseStream.on('error', (err) => {
++        //        requestStream.emit('error', err);
++        //    });
+             const response = fetchToRequestResponse(options, res);
+             requestStream.emit('response', response);
+         }, err => {

+ 30 - 0
patches/@google-cloud+profiler++retry-request+7.0.2.patch

@@ -0,0 +1,30 @@
+diff --git a/node_modules/@google-cloud/profiler/node_modules/retry-request/index.js b/node_modules/@google-cloud/profiler/node_modules/retry-request/index.js
+index 2fae107..5721c54 100644
+--- a/node_modules/@google-cloud/profiler/node_modules/retry-request/index.js
++++ b/node_modules/@google-cloud/profiler/node_modules/retry-request/index.js
+@@ -1,6 +1,6 @@
+ 'use strict';
+ 
+-const {PassThrough} = require('stream');
++const { PassThrough, pipeline } = require('stream');
+ const extend = require('extend');
+ 
+ let debug = () => {};
+@@ -185,7 +185,7 @@ function retryRequest(requestOpts, opts, callback) {
+         .on('complete', (...params) => handleFinish(params))
+         .on('finish', (...params) => handleFinish(params));
+ 
+-      requestStream.pipe(delayStream);
++      pipeline(requestStream, delayStream, () => {});
+     } else {
+       activeRequest = opts.request(requestOpts, onResponse);
+     }
+@@ -251,7 +251,7 @@ function retryRequest(requestOpts, opts, callback) {
+     // No more attempts need to be made, just continue on.
+     if (streamMode) {
+       retryStream.emit('response', response);
+-      delayStream.pipe(retryStream);
++      pipeline(delayStream, retryStream, () => {});
+       requestStream.on('error', err => {
+         retryStream.destroy(err);
+       });

+ 58 - 0
patches/@google-cloud+profiler++teeny-request+9.0.0.patch

@@ -0,0 +1,58 @@
+diff --git a/node_modules/@google-cloud/profiler/node_modules/teeny-request/build/src/index.js b/node_modules/@google-cloud/profiler/node_modules/teeny-request/build/src/index.js
+index af5d15e..2b63d0c 100644
+--- a/node_modules/@google-cloud/profiler/node_modules/teeny-request/build/src/index.js
++++ b/node_modules/@google-cloud/profiler/node_modules/teeny-request/build/src/index.js
+@@ -115,6 +115,9 @@ function createMultipartStream(boundary, multipart) {
+         }
+         else {
+             part.body.pipe(stream, { end: false });
++            part.body.on('error', (err) => {
++                stream.destroy(err);
++            });
+             part.body.on('end', () => {
+                 stream.write('\r\n');
+                 stream.write(finale);
+@@ -168,25 +171,27 @@ function teenyRequest(reqOpts, callback) {
+         // Stream mode
+         const requestStream = streamEvents(new stream_1.PassThrough());
+         // eslint-disable-next-line @typescript-eslint/no-explicit-any
+-        let responseStream;
+-        requestStream.once('reading', () => {
+-            if (responseStream) {
+-                (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-            }
+-            else {
+-                requestStream.once('response', () => {
+-                    (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-                });
+-            }
+-        });
++        // let responseStream;
++        // requestStream.once('reading', () => {
++        //    if (responseStream) {
++        //        (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //    }
++        //    else {
++        //        requestStream.once('response', () => {
++        //            (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //        });
++        //    }
++        // });
++
++
+         options.compress = false;
+         teenyRequest.stats.requestStarting();
+         (0, node_fetch_1.default)(uri, options).then(res => {
+-            teenyRequest.stats.requestFinished();
+-            responseStream = res.body;
+-            responseStream.on('error', (err) => {
+-                requestStream.emit('error', err);
+-            });
++            teenyRequest.stats.requestFinished(); stream_1.pipeline(res.body, requestStream, () => {});
++        //    responseStream = res.body;
++        //    responseStream.on('error', (err) => {
++        //        requestStream.emit('error', err);
++        //    });
+             const response = fetchToRequestResponse(options, res);
+             requestStream.emit('response', response);
+         }, err => {

+ 6 - 6
patches/@google-cloud+storage++retry-request+5.0.2.patch → patches/@google-cloud+storage++retry-request+7.0.2.patch

@@ -1,5 +1,5 @@
 diff --git a/node_modules/@google-cloud/storage/node_modules/retry-request/index.js b/node_modules/@google-cloud/storage/node_modules/retry-request/index.js
-index a293298..df21af6 100644
+index 2fae107..5721c54 100644
 --- a/node_modules/@google-cloud/storage/node_modules/retry-request/index.js
 +++ b/node_modules/@google-cloud/storage/node_modules/retry-request/index.js
 @@ -1,6 +1,6 @@
@@ -7,19 +7,19 @@ index a293298..df21af6 100644
  
 -const {PassThrough} = require('stream');
 +const { PassThrough, pipeline } = require('stream');
- const debug = require('debug')('retry-request');
  const extend = require('extend');
  
-@@ -166,7 +166,7 @@ function retryRequest(requestOpts, opts, callback) {
-         })
-         .on('complete', retryStream.emit.bind(retryStream, 'complete'));
+ let debug = () => {};
+@@ -185,7 +185,7 @@ function retryRequest(requestOpts, opts, callback) {
+         .on('complete', (...params) => handleFinish(params))
+         .on('finish', (...params) => handleFinish(params));
  
 -      requestStream.pipe(delayStream);
 +      pipeline(requestStream, delayStream, () => {});
      } else {
        activeRequest = opts.request(requestOpts, onResponse);
      }
-@@ -232,7 +232,7 @@ function retryRequest(requestOpts, opts, callback) {
+@@ -251,7 +251,7 @@ function retryRequest(requestOpts, opts, callback) {
      // No more attempts need to be made, just continue on.
      if (streamMode) {
        retryStream.emit('response', response);

+ 12 - 9
patches/@google-cloud+storage++teeny-request+8.0.3.patch → patches/@google-cloud+storage++teeny-request+9.0.0.patch

@@ -1,8 +1,18 @@
 diff --git a/node_modules/@google-cloud/storage/node_modules/teeny-request/build/src/index.js b/node_modules/@google-cloud/storage/node_modules/teeny-request/build/src/index.js
-index af5d15e..8a9bf77 100644
+index af5d15e..2b63d0c 100644
 --- a/node_modules/@google-cloud/storage/node_modules/teeny-request/build/src/index.js
 +++ b/node_modules/@google-cloud/storage/node_modules/teeny-request/build/src/index.js
-@@ -168,31 +168,34 @@ function teenyRequest(reqOpts, callback) {
+@@ -115,6 +115,9 @@ function createMultipartStream(boundary, multipart) {
+         }
+         else {
+             part.body.pipe(stream, { end: false });
++            part.body.on('error', (err) => {
++                stream.destroy(err);
++            });
+             part.body.on('end', () => {
+                 stream.write('\r\n');
+                 stream.write(finale);
+@@ -168,25 +171,27 @@ function teenyRequest(reqOpts, callback) {
          // Stream mode
          const requestStream = streamEvents(new stream_1.PassThrough());
          // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -46,10 +56,3 @@ index af5d15e..8a9bf77 100644
              const response = fetchToRequestResponse(options, res);
              requestStream.emit('response', response);
          }, err => {
-             teenyRequest.stats.requestFinished();
-             requestStream.emit('error', err);
-         });
-+
-         // fetch doesn't supply the raw HTTP stream, instead it
-         // returns a PassThrough piped from the HTTP response
-         // stream.

+ 30 - 0
patches/google-gax++retry-request+7.0.2.patch

@@ -0,0 +1,30 @@
+diff --git a/node_modules/google-gax/node_modules/retry-request/index.js b/node_modules/google-gax/node_modules/retry-request/index.js
+index 2fae107..5721c54 100644
+--- a/node_modules/google-gax/node_modules/retry-request/index.js
++++ b/node_modules/google-gax/node_modules/retry-request/index.js
+@@ -1,6 +1,6 @@
+ 'use strict';
+ 
+-const {PassThrough} = require('stream');
++const { PassThrough, pipeline } = require('stream');
+ const extend = require('extend');
+ 
+ let debug = () => {};
+@@ -185,7 +185,7 @@ function retryRequest(requestOpts, opts, callback) {
+         .on('complete', (...params) => handleFinish(params))
+         .on('finish', (...params) => handleFinish(params));
+ 
+-      requestStream.pipe(delayStream);
++      pipeline(requestStream, delayStream, () => {});
+     } else {
+       activeRequest = opts.request(requestOpts, onResponse);
+     }
+@@ -251,7 +251,7 @@ function retryRequest(requestOpts, opts, callback) {
+     // No more attempts need to be made, just continue on.
+     if (streamMode) {
+       retryStream.emit('response', response);
+-      delayStream.pipe(retryStream);
++      pipeline(delayStream, retryStream, () => {});
+       requestStream.on('error', err => {
+         retryStream.destroy(err);
+       });

+ 58 - 0
patches/google-gax++teeny-request+9.0.0.patch

@@ -0,0 +1,58 @@
+diff --git a/node_modules/google-gax/node_modules/teeny-request/build/src/index.js b/node_modules/google-gax/node_modules/teeny-request/build/src/index.js
+index af5d15e..2b63d0c 100644
+--- a/node_modules/google-gax/node_modules/teeny-request/build/src/index.js
++++ b/node_modules/google-gax/node_modules/teeny-request/build/src/index.js
+@@ -115,6 +115,9 @@ function createMultipartStream(boundary, multipart) {
+         }
+         else {
+             part.body.pipe(stream, { end: false });
++            part.body.on('error', (err) => {
++                stream.destroy(err);
++            });
+             part.body.on('end', () => {
+                 stream.write('\r\n');
+                 stream.write(finale);
+@@ -168,25 +171,27 @@ function teenyRequest(reqOpts, callback) {
+         // Stream mode
+         const requestStream = streamEvents(new stream_1.PassThrough());
+         // eslint-disable-next-line @typescript-eslint/no-explicit-any
+-        let responseStream;
+-        requestStream.once('reading', () => {
+-            if (responseStream) {
+-                (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-            }
+-            else {
+-                requestStream.once('response', () => {
+-                    (0, stream_1.pipeline)(responseStream, requestStream, () => { });
+-                });
+-            }
+-        });
++        // let responseStream;
++        // requestStream.once('reading', () => {
++        //    if (responseStream) {
++        //        (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //    }
++        //    else {
++        //        requestStream.once('response', () => {
++        //            (0, stream_1.pipeline)(responseStream, requestStream, () => { });
++        //        });
++        //    }
++        // });
++
++
+         options.compress = false;
+         teenyRequest.stats.requestStarting();
+         (0, node_fetch_1.default)(uri, options).then(res => {
+-            teenyRequest.stats.requestFinished();
+-            responseStream = res.body;
+-            responseStream.on('error', (err) => {
+-                requestStream.emit('error', err);
+-            });
++            teenyRequest.stats.requestFinished(); stream_1.pipeline(res.body, requestStream, () => {});
++        //    responseStream = res.body;
++        //    responseStream.on('error', (err) => {
++        //        requestStream.emit('error', err);
++        //    });
+             const response = fetchToRequestResponse(options, res);
+             requestStream.emit('response', response);
+         }, err => {

+ 6 - 14
patches/retry-request+4.2.2.patch → patches/retry-request+8.0.2.patch

@@ -1,30 +1,22 @@
 diff --git a/node_modules/retry-request/index.js b/node_modules/retry-request/index.js
-index 6cd6f65..39efb89 100644
+index 298a351..7ec1ef8 100644
 --- a/node_modules/retry-request/index.js
 +++ b/node_modules/retry-request/index.js
-@@ -1,6 +1,6 @@
- 'use strict';
- 
--var { PassThrough } = require('stream');
-+var { PassThrough, pipeline } = require('stream');
- var debug = require('debug')('retry-request');
- var extend = require('extend');
- 
-@@ -164,7 +164,7 @@ function retryRequest(requestOpts, opts, callback) {
-         })
-         .on('complete', retryStream.emit.bind(retryStream, 'complete'));
+@@ -185,7 +185,7 @@ function retryRequest(requestOpts, opts, callback) {
+         .on('complete', (...params) => handleFinish(params))
+         .on('finish', (...params) => handleFinish(params));
  
 -      requestStream.pipe(delayStream);
 +      pipeline(requestStream, delayStream, () => {});
      } else {
        activeRequest = opts.request(requestOpts, onResponse);
      }
-@@ -220,7 +220,7 @@ function retryRequest(requestOpts, opts, callback) {
+@@ -251,7 +251,7 @@ function retryRequest(requestOpts, opts, callback) {
      // No more attempts need to be made, just continue on.
      if (streamMode) {
        retryStream.emit('response', response);
 -      delayStream.pipe(retryStream);
 +      pipeline(delayStream, retryStream, () => {});
-       requestStream.on('error', function (err) {
+       requestStream.on('error', err => {
          retryStream.destroy(err);
        });

+ 20 - 12
patches/teeny-request+7.2.0.patch → patches/teeny-request+10.1.0.patch

@@ -1,45 +1,53 @@
 diff --git a/node_modules/teeny-request/build/src/index.js b/node_modules/teeny-request/build/src/index.js
-index f209888..e9fe982 100644
+index a101736..a87f6b9 100644
 --- a/node_modules/teeny-request/build/src/index.js
 +++ b/node_modules/teeny-request/build/src/index.js
-@@ -166,27 +166,27 @@ function teenyRequest(reqOpts, callback) {
-     }
-     if (callback === undefined) {
+@@ -130,6 +130,9 @@ function createMultipartStream(boundary, multipart) {
+         }
+         else {
+             part.body.pipe(stream, { end: false });
++            part.body.on('error', (err) => {
++                stream.destroy(err);
++            });
+             part.body.on('end', () => {
+                 stream.write('\r\n');
+                 stream.write(finale);
+@@ -184,25 +187,25 @@ function teenyRequest(reqOpts, callback) {
          // Stream mode
--        const requestStream = streamEvents(new stream_1.PassThrough());
-+        const requestStream = new stream_1.PassThrough();
+         const requestStream = streamEvents(new stream_1.PassThrough());
          // eslint-disable-next-line @typescript-eslint/no-explicit-any
 -        let responseStream;
 -        requestStream.once('reading', () => {
 -            if (responseStream) {
--                responseStream.pipe(requestStream);
+-                (0, stream_1.pipeline)(responseStream, requestStream, () => { });
 -            }
 -            else {
 -                requestStream.once('response', () => {
--                    responseStream.pipe(requestStream);
+-                    (0, stream_1.pipeline)(responseStream, requestStream, () => { });
 -                });
 -            }
 -        });
 +        // let responseStream;
 +        // requestStream.once('reading', () => {
 +        //     if (responseStream) {
-+        //         responseStream.pipe(requestStream);
++        //         (0, stream_1.pipeline)(responseStream, requestStream, () => { });
 +        //     }
 +        //     else {
 +        //         requestStream.once('response', () => {
-+        //             responseStream.pipe(requestStream);
++        //             (0, stream_1.pipeline)(responseStream, requestStream, () => { });
 +        //         });
 +        //     }
 +        // });
          options.compress = false;
          teenyRequest.stats.requestStarting();
-         node_fetch_1.default(uri, options).then(res => {
+-        fetch(uri, options).then(res => {
++        (0, node_fetch_1.default)(uri, options).then(res => {
 -            teenyRequest.stats.requestFinished();
 -            responseStream = res.body;
 -            responseStream.on('error', (err) => {
 -                requestStream.emit('error', err);
 -            });
-+            teenyRequest.stats.requestFinished(); stream_1.pipeline(res.body, requestStream, () => {});
++            teenyRequest.stats.requestFinished(); (0, stream_1.pipeline)(res.body, requestStream, () => {});
 +            // responseStream = res.body;
 +            // responseStream.on('error', (err) => {
 +            //     requestStream.emit('error', err);

+ 1 - 1
services/docstore/package.json

@@ -35,7 +35,7 @@
     "p-map": "^4.0.0"
   },
   "devDependencies": {
-    "@google-cloud/storage": "^6.10.1",
+    "@google-cloud/storage": "^7.18.0",
     "@overleaf/migrations": "*",
     "chai": "^4.3.6",
     "chai-as-promised": "^7.1.1",

+ 1 - 1
services/filestore/package.json

@@ -35,7 +35,7 @@
     "tiny-async-pool": "^1.1.0"
   },
   "devDependencies": {
-    "@google-cloud/storage": "^6.10.1",
+    "@google-cloud/storage": "^7.18.0",
     "chai": "^4.3.6",
     "chai-as-promised": "^7.1.1",
     "mocha": "^11.1.0",

+ 2 - 2
services/web/package.json

@@ -78,8 +78,8 @@
     "@contentful/rich-text-html-renderer": "^16.0.2",
     "@contentful/rich-text-types": "^16.0.2",
     "@customerio/cdp-analytics-node": "^0.3.9",
-    "@google-cloud/bigquery": "^6.0.1",
-    "@google-cloud/storage": "^6.10.1",
+    "@google-cloud/bigquery": "^8.1.1",
+    "@google-cloud/storage": "^7.18.0",
     "@node-oauth/oauth2-server": "^5.1.0",
     "@node-saml/passport-saml": "^5.1.0",
     "@overleaf/access-token-encryptor": "*",

Some files were not shown because too many files changed in this diff