If your Home Assistant frontend is stuck on “Loading data” but the backend looks alive (API works, login works, notifications appear), consider checking your recorder config before chasing frontend, websocket, or proxy issues.
In my case, the problem was caused by a label‑based exclude: in the recorder configuration while using the MariaDB add‑on. Removing only the exclude: block fixed the issue immediately.
Broken config:
recorder:
db_url: mysql://user:pass@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 30
exclude:
label: recorder_exclude
Working config:
recorder:
db_url: mysql://user:pass@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 7
commit_interval: 30
What made this hard to diagnose:
- No config changes for weeks before the issue
- Happened during normal use (minor changes in Music Assistant + ESPHome)
- Reproducible across devices and browsers
- Snapshots from previous weeks and we’re working at the time didn’t help (they restored the same broken state). This made it really challenging to understand.
- Disabling proxy, networking fixes, DB add‑ons, and safe mode didn’t help.
The misleading part: Home Assistant didn’t crash — as far as I can tell recorder blocks startup internally, and the UI sits forever on “Loading data”.
Takeaway:
If you hit this symptom and suspect recorder, try:
- Temporarily remove recorder: completely
- If it boots, re‑add recorder without exclusions first
- Be cautious with label‑based recorder excludes