S3 uploader fails from no 'Access-Control-Allow-Origin' header

I am trying to get the s3 Uploader component to work in my app and it fails with nothing in the Retool console. Inspecting the browser console, I see this:

Access to fetch at '[URL]' from origin 'https://[MY_RETOOL_APP].retool.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Following some other discussion topics here, I tried changing the s3 ACL here to bucket-owner-full-control to no avail.

CleanShot 2023-12-04 at 14.52.39

My S3 setup:

CORS:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "https://*.retool.com/"
        ],
        "ExposeHeaders": []
    },
    {
        "AllowedHeaders": [],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]

I tried using the same S3 access key id and secret key that I configured on the Retool Resource on awscli and I was able to upload images from the command line with no trouble.
I also tried creating a resource query to list all files within my s3 bucket and that works no problem. It's only the s3 uploads that continue to fail.

I've spent hours tinkering with s3 settings and retool resource configuration here with no luck. Any guidance here on what I may have wrong in my s3 configuration or Retool resource configuration will be extremely helpful. Thank you!

The configuration you have looks correct, matching the guide we have here. Have you tried it with your domain, i.e. https://[MY_RETOOL_APP].retool.com instead of using the wildcard in the URL? And can you try removing the / from the origin name?