{
  "id": 7485084,
  "title": "I Throttled My App to Slow 3G. Here's What My Tests Never Caught",
  "url": "https://urgent.news/2026/09/15/i-throttled-my-app-to-slow-3g-heres-what-my-tests-never-caught",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-15T05:41:21.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/shubhradev/i-throttled-my-app-to-slow-3g-heres-what-my-tests-never-caught-h7m"
  },
  "original_language": "en",
  "account": "The reporter intentionally slowed down their application's network speed to 3G in order to observe any hidden performance issues that don't typically manifest on faster connections. Upon doing so, the reporter discovered two critical bugs that had previously gone unnoticed.\n\nThe first bug was a race condition that caused search results to appear in the incorrect order. The reporter's search function fetched results based on user input, but on a slow 3G connection, the asynchronous requests and responses didn't always arrive in the order they were sent. This led to the search results being displayed in the wrong sequence. To resolve this, the reporter introduced a request ID to track which query was the most recent, ensuring that only the latest results were displayed.\n\nThe second bug was an autosave feature that unintentionally saved the user's data twice or even dropped the last edit. The autosave relied on a client-side timeout that assumed a normal round trip time, but on the throttled 3G connection, the actual save time exceeded the timeout limit. Consequently, the client would treat the save as a failure and attempt to resend it, resulting in duplicate saves. To fix this issue, the reporter implemented an in-flight guard that prevented new saves from being sent while an existing one was still in progress. This ensured that only one save was processed at a time, preventing duplicate saves and preserving the user's last edit.",
  "summary": "I wasn't looking for a performance problem. I wanted to see what happened when the network got slow enough that assumptions I normally never notice had time to surface. So I opened DevTools, set the throttle to 3G (Chrome's network throttling reference dropped the separate \"Slow 3G\" preset a while back and just calls it \"3G\" now, sitting between Slow 4G and Offline), and started clicking around…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}