window.addEventListener("offline", …) показывает полоску «Проверьте интернет» — navigator.onLine грубо отражает сетевой интерфейс, но не гарантирует доступность вашего API.
Дублируйте проверку failed fetch с понятным retry.
- [Navigator.onLine — MDN](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine) — Ограничения свойства.
- [online event — MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event) — События online/offline.
---
## Ложные срабатывания
Captive portal в отеле может давать onLine true при недоступном DNS — тестируйте HEAD к вашему origin.
