Network Error in Weweb with Xano

Hi I have consistently had random network error in weweb making a call to a xano api. When I check the xano api reqeust, there is no error, meaning the error happens in weweb. This workflow is a within a loop to upload photos. After a few photos upload is done, the 4th upload has problem showing networking error. Please help.

onreadystatechange: null

readyState: 4

timeout: 0

withCredentials: false

responseURL: “”

status: 0

statusText: “”

responseType: “”

response: “”

responseText: “”

responseXML: null

UNSENT: 0

OPENED: 1

HEADERS_RECEIVED: 2

LOADING: 3

DONE: 4

abort: function abort() { [native code] }

getAllResponseHeaders: function getAllResponseHeaders() { [native code] }

getResponseHeader: function getResponseHeader() { [native code] }

open: function open() { [native code] }

overrideMimeType: function overrideMimeType() { [native code] }

send: function(…n){const e=this;return[“onload”,“onerror”,“onprogress”,“onreadystatechange”].forEach((t=>{t in e&&“function”==typeof e[t]&&D(e,t,(function(n){const e={mechanism:{data:{function:t,handler:X(n)},handled:!0,type:“instrument”}},r=M(n);return r&&(e.mechanism.data.handler=X(r)),Tn(n,e)}))})),t.apply(this,n)}

setRequestHeader: function setRequestHeader() { [native code] }

setAttributionReporting: function setAttributionReporting() { [native code] }

setPrivateToken: function setPrivateToken() { [native code] }

onloadstart: null

onprogress: null

onabort: function(){&&(n(c(“Request aborted”,e,“ECONNABORTED”,)),_=null)}

onerror: function(){n(c(“Network Error”,e,null,)),=null}

onload: null

ontimeout: function(){var t=e.timeout?"timeout of "+e.timeout+“ms exceeded”:“timeout exceeded”,i=e.transitional||d;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(c(t,e,i.clarifyTimeoutError?“ETIMEDOUT”:“ECONNABORTED”,)),=null}

onloadend: function w(){if(){var i="getAllResponseHeaders"in ?l(.getAllResponseHeaders()):null,s=m&&“text”!==m&&“json”!==m?.response:.responseText,o={data:s,status:.status,statusText:.statusText,headers:i,config:e,request:};r((function(e){t(e),A()}),(function(e){n(e),A()}),o),_=null}}

addEventListener: function(e,r,i){try{“function”==typeof r.handleEvent&&(r.handleEvent=Tn(r.handleEvent,{mechanism:{data:{function:“handleEvent”,handler:X(r),target:t},handled:!0,type:“instrument”}}))}catch(t){}return n.apply(this,[e,Tn(r,{mechanism:{data:{function:“addEventListener”,handler:X(r),target:t},handled:!0,type:“instrument”}}),i])}

dispatchEvent: function dispatchEvent() { [native code] }

removeEventListener: function(n,e,r){const i=e;try{const e=i&&i.sentry_wrapped;e&&t.call(this,n,e,r)}catch(t){}return t.call(this,n,i,r)}

__sentry_xhr__Object

uploadObject
onreadystatechange: null

readyState: 4

timeout: 0

withCredentials: false

responseURL: “”

status: 0

statusText: “”

responseType: “”

response: “”

responseText: “”

responseXML: null

UNSENT: 0

OPENED: 1

HEADERS_RECEIVED: 2

LOADING: 3

DONE: 4

abort: function abort() { [native code] }

getAllResponseHeaders: function getAllResponseHeaders() { [native code] }

getResponseHeader: function getResponseHeader() { [native code] }

open: function open() { [native code] }

overrideMimeType: function overrideMimeType() { [native code] }

send: function(…n){const e=this;return[“onload”,“onerror”,“onprogress”,“onreadystatechange”].forEach((t=>{t in e&&“function”==typeof e[t]&&D(e,t,(function(n){const e={mechanism:{data:{function:t,handler:X(n)},handled:!0,type:“instrument”}},r=M(n);return r&&(e.mechanism.data.handler=X(r)),Tn(n,e)}))})),t.apply(this,n)}

setRequestHeader: function setRequestHeader() { [native code] }

setAttributionReporting: function setAttributionReporting() { [native code] }

setPrivateToken: function setPrivateToken() { [native code] }

onloadstart: null

onprogress: null

onabort: function(){&&(n(c(“Request aborted”,e,“ECONNABORTED”,)),_=null)}

onerror: function(){n(c(“Network Error”,e,null,)),=null}

onload: null

ontimeout: function(){var t=e.timeout?"timeout of "+e.timeout+“ms exceeded”:“timeout exceeded”,i=e.transitional||d;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(c(t,e,i.clarifyTimeoutError?“ETIMEDOUT”:“ECONNABORTED”,)),=null}

onloadend: function w(){if(){var i="getAllResponseHeaders"in ?l(.getAllResponseHeaders()):null,s=m&&“text”!==m&&“json”!==m?.response:.responseText,o={data:s,status:.status,statusText:.statusText,headers:i,config:e,request:};r((function(e){t(e),A()}),(function(e){n(e),A()}),o),_=null}}

addEventListener: function(e,r,i){try{“function”==typeof r.handleEvent&&(r.handleEvent=Tn(r.handleEvent,{mechanism:{data:{function:“handleEvent”,handler:X(r),target:t},handled:!0,type:“instrument”}}))}catch(t){}return n.apply(this,[e,Tn(r,{mechanism:{data:{function:“addEventListener”,handler:X(r),target:t},handled:!0,type:“instrument”}}),i])}

dispatchEvent: function dispatchEvent() { [native code] }

removeEventListener: function(n,e,r){const i=e;try{const e=i&&i.sentry_wrapped;e&&t.call(this,n,e,r)}catch(t){}return t.call(this,n,i,r)}

__sentry_xhr__Object

uploadObjectstrong text

When I check the xano api reqeust

Hi, what do you means by this. Network tab or Xano logs ? It could be because you reached the xano api rate limit (it’s very low on free plan)

Please share a video or screenshot of the request in the network tab if possible, it could help use debug your issue :slight_smile:

Yeah, i just opened a ticket and a thread with XANO to find out how to upgrade the plan/tier without using CC. (CC only for traveling)

However, the API Limit is very low, check in the browser (F12) if you have 429 error or WeWeb also showing it in their logs.

The error log is from the left side of workflow in weweb. The strange thing is that when I refresh the page and do it again. There is no error. The error just happens randomly and it affects my patients as they are using this workflow to upload images for diagnosis.

I m using launch plan in xano which has no record and rate limit. And there is no error log in xano API request. So it seems the error is in weweb and the request has not even passed to Xano.

I m going to upload a video demoing what’s happened.

@whcmeduk can you show it with pictures?
That one seems to be new.

it looks like something is blocking your request.

I am trying to uploaded a few photos. The 4th one has failed. The workflow shouldn’t have problem otherwise the first 3 uploads won’t be successful.
In xano, all requests are okay. So the 4th upload error is not in xano but in weweb. I am a paid user in xano under launch plan, there isn’t rate nor record limit.


What is the response in WeWeb, you almost clicked on it :grinning:?

I have copied and pasted aw the response in the very beginning of the post. What information do you need exactly?

around minute 3:45 than response

sry i mean request

Here you go, this time the problem happens in the 7th loops of the upload. The photos are just simple small jpg, nothing special.

This config and request i mean, what is it saying if you extend it.

I have also started running into Network Errors way more frequently with WeWeb. I’m on a Scale plan with Xano, so it is not API limits there

Request are made directly from your browser to xano, so if it works sometimes, and sometimes not, for the same request, it’s probably something related to Xano

The problem still exists and there is no fix. Xano has no request history for the network error. Nothing is sent to xano. I think the problem exists in the weweb. If it does affect more than me, I hope the weweb team can take a look at it.

From my response of my customers, this happens way more frequently in mobile than in desktop. I have hundreds of customers using this function every weeks. and maybe half of them will have network error.

Did you asked Xano about this ? As I said, its very unlikely it come from WeWeb (it still can) because =>

  1. Its a network error, meaning the request was sent
  2. There is no WeWeb middlware between your app and Xano, so the request was made from your browser to your Xano
  3. No xano log doesn’t mean the request was not made, it could mean Xano was unable to respond, maybe was down for a couple of seconds I don’t know

If you could create a ticket on support.weweb.io with a way to reproduce the issue we will absolutely dig into, without a way to reproduce it will be hard to help :confused:

Did you use a custom js or installed npm packages ?

I would:

  1. open up devtools (right-click on your browser window and click “inspect”.
  2. Select the “network” tab from devtools. If you don’t see it across the top, there may be a button that looks like >>. Click that, and select "network
  3. Run your situation until you get the bad answer/error
  4. Look at the network tab for what came back. Take a screenshot/make a video of what you see. Probably one of them is “red” to indicate an error.
  5. In the vid/screenshots, also include what happens when you click the red one. Should show you headers which are helpful for diagnosis.
2 Likes

In my homepage there is a workflow on page load, which is a very simple xano api request: it counts the items in a datatable called prescription. On page load it is successful, but if I repeat the request a few times, I will get network error. There is no bad request in xano. So something is wrong in between. I have launch plan in xano which should have no rate limit. Is it possible for weweb staff to look at my case? Previously I can contact with Mael. but now it seems the right bottom chatbox is gone. Please advise. Thank you in advance.

I didn’t manage to reproduce it, on my side I can click hundred of times and it will work each time :thinking:

Could you please open the dev tool (right click → inspect → console tab and network tab

And try to reproduce again the error on your side, once it happen you should see some messages in the console tab and the request state in the the network tab (looking like my screenshot)

If you can share how these two tabs looks when the issue happen it could help us resolve it, thanks :slight_smile: