From 2758081a2fcc95199c279130fb2dd41f4ca9c73a Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 16:55:25 +0000 Subject: [PATCH] fix(storage): prevent r2 upload failure by removing restricted header Removed the `cf-create-bucket-if-missing` header from the multipart upload request in `js/storage/r2-s3.js`. This header triggers a 403 Forbidden error (and subsequent "Failed to fetch" due to CORS behavior) when using R2 API tokens with limited "Object Read & Write" permissions, as it requires bucket creation privileges. Bucket existence is now handled separately. --- js/storage/r2-s3.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/js/storage/r2-s3.js b/js/storage/r2-s3.js index e34ed34f..8ec4b607 100644 --- a/js/storage/r2-s3.js +++ b/js/storage/r2-s3.js @@ -258,16 +258,6 @@ export async function multipartUpload({ CacheControl: computeCacheControl(key), }); - createCommand.middlewareStack.add( - (next) => async (args) => { - if (args?.request?.headers) { - args.request.headers["cf-create-bucket-if-missing"] = "true"; - } - return next(args); - }, - { step: "build" } - ); - const { UploadId } = await s3.send(createCommand); if (!UploadId) {