Skip to content

Clips in media browser do not load #986

@srt

Description

@srt

Version of the custom_component

5.10.0

Describe the bug

Opening the Media Browser Frigate/Clips results in "Unknown error":

Image

Debug log

The following URL is requested without paging (resulting in a large json response with a size of more than 35 mb:
http://frigate:5000/api/events/summary?has_clip=1&timezone=Europe/Berlin

2025-10-21 20:33:35.055 ERROR (MainThread) [custom_components.frigate.api] Error fetching information from http://frigate:5000/api/events/summary?has_clip=1&timezone=Europe/Berlin: Response payload is not completed: <ContentLengthError: 400, message='Not enough data to satisfy content length header.'>
2025-10-21 20:33:35.055 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [133742416306208] Error handling message: Unknown error (home_assistant_error) XXX from xx.xx.xx.xx (Mozilla/5.0 (Linux; Android 15; WP55 Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/140.0.7339.209 Mobile Safari/537.36 Home Assistant/2025.8.7-17352 (Android 15; WP55))
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/aiohttp/client_proto.py", line 144, in connection_lost
    uncompleted = self._parser.feed_eof()
  File "aiohttp/_http_parser.pyx", line 511, in aiohttp._http_parser.HttpParser.feed_eof
aiohttp.http_exceptions.ContentLengthError: 400, message:
  Not enough data to satisfy content length header.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/frigate/api.py", line 398, in api_wrapper
    return await response.json()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/aiohttp_client.py", line 100, in json
    return await super().json(*args, loads=loads, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 744, in json
    await self.read()
  File "/usr/local/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 686, in read
    self._body = await self.content.read()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/aiohttp/streams.py", line 418, in read
    block = await self.readany()
            ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/aiohttp/streams.py", line 440, in readany
    await self._wait("readany")
  File "/usr/local/lib/python3.13/site-packages/aiohttp/streams.py", line 347, in _wait
    await waiter
aiohttp.client_exceptions.ClientPayloadError: Response payload is not completed: <ContentLengthError: 400, message='Not enough data to satisfy content length header.'>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/frigate/media_source.py", line 759, in _get_event_summary_data
    summary_data = await self._get_client(identifier).async_get_event_summary(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        timezone=info.get("timezone", "utc"), **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/config/custom_components/frigate/api.py", line 143, in async_get_event_summary
    await self.api_wrapper(
    ^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    ),
    ^
  File "/config/custom_components/frigate/api.py", line 443, in api_wrapper
    raise FrigateApiClientError from exc
custom_components.frigate.api.FrigateApiClientError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 28, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/media_source/http.py", line 44, in websocket_browse_media
    media = await async_browse_media(hass, msg.get("media_content_id", ""))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/media_source/helper.py", line 52, in async_browse_media
    item = await _get_media_item(hass, media_content_id, None).async_browse()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/media_source/models.py", line 97, in async_browse
    return await self.async_media_source().async_browse_media(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/frigate/media_source.py", line 721, in async_browse_media
    await self._get_event_summary_data(identifier), identifier, events
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/frigate/media_source.py", line 763, in _get_event_summary_data
    raise MediaSourceError from exc
homeassistant.components.media_source.error.MediaSourceError

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions