home-assistant / home-assistant/android

"Unable to connect to Home Assistant" error shown over notification video clip while media is actually decoding/playing successfully

Open
#7,380 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Kotlin
Stars
3.9k
Forks
1.1k
Avg merge
1d 12h
Merged PRs (30d)
81

Description

Home Assistant Android app version: 2026.8.3-full (24000)
Android version: 17
Device model: Pixel 9
Home Assistant Core version: 2026.8.1

Description:
Tapping a video clip from a Frigate camera notification (/api/frigate/notifications/{id}/{camera}/clip.mp4?external_auth=1) consistently shows an "Unable to connect to Home Assistant" / ConnectionTimeout error screen. All connectivity checks in the error detail panel pass (DNS, port, server connection, HA verification). The same URL opens and plays correctly every time in a regular browser.
Debug logging shows the clip is actually loading and playing successfully in the background at the time the error appears: the native HEVC hardware decoder (c2.exynos.hevc.decoder) initializes and decodes 1920x1080 video frames, and the audio stream starts and plays (confirmed by hearing audio from the clip while the error screen is displayed with no visible video). ~13 seconds later the app navigates back to the dashboard URL, consistent with the clip finishing normally — but the error overlay was shown throughout and no video was ever visible.
This suggests the error/connectivity-status overlay is either firing on a stale/incorrect signal, or is rendering on top of a working WebView media player rather than reflecting actual connection state.
This started in the last ~1-2 weeks; previously clip playback from notifications worked reliably. No changes were made to network config, Frigate version, or HA's internal_url/external_url settings in that window.

Log:
```
[timestamp] D FrontendUrlManager: Loading server URL: http://:8123/api/frigate/notifications///clip.mp4?external_auth=1
[timestamp] I cr_MediaCodecBridge: create MediaCodec video decoder, mime video/hevc, decoder name c2.exynos.hevc.decoder
[timestamp] I CCodec: Created component [c2.exynos.hevc.decoder] for [c2.exynos.hevc.decoder]
... (decoder configures 1920x1080, audio stream opens and plays) ...
[~13s later] D FrontendUrlManager: Loading server URL: http://:8123/?external_auth=1
```

![Screenshot_20260826-174710~2.jpg](https://github.com/user-attachments/assets/53a06d7f-c734-46eb-91d9-6123b6f4a72f)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Frigate notification clip URL flow and tracing the FrontendUrlManager messages around clip playback and the later dashboard navigation. Compare the connection-error overlay state with the native media decoder and audio/video playback; done means the clip is visibly playable without an incorrect connection error covering it.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.