Laayo Blog

Fewer "network error" messages, and more honest ones

An app should not blame your internet for a problem on our side. Here is how we changed the way Laayo handles slow and failed requests.

Few things are more frustrating than an app that says “check your internet” while every other app on your phone works fine. Some of our customers were seeing exactly that. When we looked closely, most of those messages were not about their internet at all.

What was really happening#

Three things were behind most of the messages:

  • Busy moments on our side. At peak times some requests took longer than the app was willing to wait. The app then showed a connection error, even though the phone’s connection was fine.
  • Stale connections after a break. When you left the app for a while and came back, the first request sometimes tried to reuse a connection that had quietly gone away, and waited until it gave up.
  • Over-eager offline detection. A brief switch between Wi-Fi and mobile data could make the app think it was offline for a moment, which was enough to show the wrong message.

What we changed#

  • One quiet retry. If loading something fails because of a timeout or a dropped connection, the app tries once more on a fresh connection before showing anything. We only do this for requests that read information, never for anything that places or changes an order.
  • Fresh connections after a break. When you come back to the app, it starts with clean connections instead of trusting old ones.
  • Offline means offline. The app waits for the network to settle before deciding it is offline, and only then shows “No internet connection”.
  • Honest wording. When the problem is on our side, the message now says so: something went wrong on our side, please try again in a moment.

On the server side we tuned how long connections stay open between our edge and our servers, and stopped retrying slow requests in a way that added load at the worst possible moment.

Seeing problems before you do#

The app now reports a small, private sample of failed requests to our own error tracker, without any personal details, so our engineers can see which part of the system is struggling and fix it before it reaches many people.

Quick answers#

I still see “No internet connection”. Why? Your phone is offline or the network changed. The app will reload by itself when you are back online.

Will a retry place my order twice? No. Only requests that read information are retried. Placing an order is never repeated automatically.

ReliabilityNetworkingNative apps

Laayo Engineering

Backend, apps and infrastructure

The team that keeps orders, riders, payments and the apps running across Birtamod and Damak.