Uppy url upload fail

Hi, I am trying to set up Uppy url upload in my application, however, it keep looping url/get request and websocket communication from Uppy companion internally, so the process never finished. The message returned from websocket connected to the companion shows success message.

Is there anything important to set up on client/server side that is a must in order to enable Uppy url upload? I am using Uppy in React, but not the latest Uppy React package.

Here is the version I am using:

"@uppy/aws-s3": "^3.6.0",
"@uppy/box": "^2.2.0",
"@uppy/compressor": "^1.0.5",
"@uppy/core": "^3.8.0",
"@uppy/dashboard": "^3.7.1",
"@uppy/drag-drop": "^3.0.3",
"@uppy/dropbox": "^3.2.0",
"@uppy/facebook": "^3.2.0",
"@uppy/file-input": "^3.0.4",
"@uppy/google-drive": "^3.4.0",
"@uppy/image-editor": "^2.4.0",
"@uppy/onedrive": "^3.2.0",
"@uppy/progress-bar": "^3.0.4",
"@uppy/url": "^3.5.0",
"@uppy/webcam": "^3.3.4",

Are you hosting Companion yourself? You need a Companion instance for @uppy/url.

Yes, I am hosting Companion myself. I have use the same Companion in different applications, one works while the other doesn’t.

The set up on client side is the same, and the S3 bucket used is also the same. I am not sure where else should I be looking into at this point, as the issue seems to be internally from Uppy.

I have tried to upgrade my Uppy version to the latest today, but the result is pretty much the same, except that the payload from websocket returns with a different message:

{
  "action": "error",
  "payload": {
    "error": {
      "name": "TypeError",
      "message": "Cannot read properties of null (reading 'query')"
    }
  }
}

I can’t reproduce this on https://uppy.io/examples. Without a reproducible example I don’t think I can look into this.

Would the screenshot of the looping requests in the network tab help? I can also take a screenshot of the initiator as well.

Posting all the information you have could be helpful yes

Hi, thank you for your continue support on this issue.

I think it would be better if you could see the issue on the application. I would like to invite you to create an account on fluer.com, this is our website application, and you will be able to replicate the issue there.

Here are the steps:

  1. Create an account
  2. Navigate to “My Projects/Assets/Images”
  3. Click “Add image”, Uppy should pop up there, and perform url upload

You should able to see the issue I mentioned in my main thread from the network tab.

Please let me know if you need more information!

Since this is free support, ideally you post all relevant information here. Screenshots, error messages, integration code.

Hi, thanks for explaining!

Here is some screenshots of the issue

Here is the curl of the url/get request:

curl 'https://uploader.fluer.com/url/get' \
  -H 'accept: application/json' \
  -H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8,zh-CN;q=0.7,zh;q=0.6' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'origin: https://fluer.com' \
  -H 'pragma: no-cache' \
  -H 'priority: u=1, i' \
  -H 'referer: https://fluer.com/' \
  -H 'sec-ch-ua: "Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-site' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36' \
  --data-raw '{"fileId":"https://logos-world.net/wp-content/uploads/2021/10/Shutterstock-Logo.png","url":"https://logos-world.net/wp-content/uploads/2021/10/Shutterstock-Logo.png","protocol":"multipart","endpoint":"https://s3.us-east-1.amazonaws.com/com.fluer.uploads","size":13628,"fieldname":"file","metadata":{"success_action_status":"201","content-type":"image/png","acl":"public-read","x-amz-meta-bucket":"com.fluer.uploads","bucket":"com.fluer.uploads","X-Amz-Algorithm":"AWS4-HMAC-SHA256","X-Amz-Credential":"AKIA47P2VX6MB7IHKCYM/20250314/us-east-1/s3/aws4_request","X-Amz-Date":"20250314T211532Z","key":"uploads/3408146980910662829/images/original/8X2rZJwKZXEvkSB/shutterstock-logo.png","Policy":"eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0xNFQyMToyODo1MloiLCJjb25kaXRpb25zIjpbeyJzdWNjZXNzX2FjdGlvbl9zdGF0dXMiOiIyMDEifSx7ImNvbnRlbnQtdHlwZSI6ImltYWdlL3BuZyJ9LHsiYWNsIjoicHVibGljLXJlYWQifSx7IngtYW16LW1ldGEtYnVja2V0IjoiY29tLmZsdWVyLnVwbG9hZHMifSx7ImJ1Y2tldCI6ImNvbS5mbHVlci51cGxvYWRzIn0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJYLUFtei1DcmVkZW50aWFsIjoiQUtJQTQ3UDJWWDZNQjdJSEtDWU0vMjAyNTAzMTQvdXMtZWFzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsiWC1BbXotRGF0ZSI6IjIwMjUwMzE0VDIxMTUzMloifSx7ImtleSI6InVwbG9hZHMvMzQwODE0Njk4MDkxMDY2MjgyOS9pbWFnZXMvb3JpZ2luYWwvOFgyclpKd0taWEV2a1NCL3NodXR0ZXJzdG9jay1sb2dvLnBuZyJ9XX0=","X-Amz-Signature":"f766a51a8a24afaa0c17c20ed76fd6836328130aff4267df7de66c7ad7619dbc"},"httpMethod":"post","useFormData":true,"headers":{}}'

Here is the request response:

{
    "token": "33c7f453-4b61-48fb-9dd2-b778746e71ef"
}

Here is the response from the websocket:

{
    "action": "success",
    "payload": {
        "response": {
            "responseText": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<PostResponse><Location>https://s3.us-east-1.amazonaws.com/com.fluer.uploads/uploads%2F3408146980910662829%2Fimages%2Foriginal%2F8X2rZJwKZXEvkSB%2Fshutterstock-logo.png</Location><Bucket>com.fluer.uploads</Bucket><Key>uploads/3408146980910662829/images/original/8X2rZJwKZXEvkSB/shutterstock-logo.png</Key><ETag>\"be483a956825fcfb99538d75abc730f7\"</ETag></PostResponse>",
            "status": 201,
            "statusText": "Created",
            "headers": {
                "x-amz-id-2": "wcqr93iTJYUECS0JJegOXm27Wv2jzY8UqAAnUdWvDLaGyg6wZYs5o/DbDuWkfDwEG+BIwSrw5y4=",
                "x-amz-request-id": "FRKQPGTKS1H0KVES",
                "date": "Fri, 14 Mar 2025 21:15:56 GMT",
                "x-amz-server-side-encryption": "AES256",
                "etag": "\"be483a956825fcfb99538d75abc730f7\"",
                "x-amz-checksum-crc64nvme": "Xqf/y+9lpps=",
                "x-amz-checksum-type": "FULL_OBJECT",
                "location": "https://s3.us-east-1.amazonaws.com/com.fluer.uploads/uploads%2F3408146980910662829%2Fimages%2Foriginal%2F8X2rZJwKZXEvkSB%2Fshutterstock-logo.png",
                "content-type": "application/xml",
                "content-length": "406",
                "server": "AmazonS3",
                "connection": "close"
            }
        },
        "bytesUploaded": 13628,
        "complete": true,
        "url": null
    }
}