Skip to content

Multi-reddits generate Error 500 #312

@KeenIIDX

Description

@KeenIIDX

I updated to eddrit v0.18.0 today on my local docker eddrit instance, and now my multi-reddits no longer work. It generates an Error 500, it seems like any multi-reddit does, for example: https://eddrit.com/r/mildlyinfuriating+music this link on my instance fails. But it works on the eddrit.com instance... My Dedric instance is behind a Caddy reverse proxy, if that’s relevant.

The error in the docker logs is:

[2026-02-24 04:06:03 +0000] [8] [ERROR] Exception in ASGI application
Traceback (most recent call last):
  File "/home/eddrit/.local/lib/python3.14/site-packages/uvicorn/protocols/http/httptools_impl.py", line 416, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        self.scope, self.receive, self.send
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/eddrit/.local/lib/python3.14/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/applications.py", line 107, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/app/eddrit/utils/middlewares.py", line 78, in __call__
    await self.app(scope, receive, send_with_extra_headers)
  File "/app/eddrit/utils/middlewares.py", line 95, in __call__
    await self.app(scope, receive, send)
  File "/app/eddrit/utils/middlewares.py", line 58, in __call__
    await self.app(scope, receive, send_with_refreshed_cookies)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 462, in handle
    await self.app(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 290, in handle
    await self.app(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 78, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/eddrit/.local/lib/python3.14/site-packages/starlette/routing.py", line 75, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/app/eddrit/routes/pages/subreddit_user_and_wiki.py", line 178, in subreddit_or_user
    information = await get_subreddit_information(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        request.state.http_client, request.path_params["name"]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/app/eddrit/reddit/fetch.py", line 80, in get_subreddit_information
    return await _get_multi_information(http_client, subreddit_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/eddrit/reddit/fetch.py", line 324, in _get_multi_information
    res = await http_client.head(f"{REDDIT_BASE_API_URL}/r/{name}")
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx/_client.py", line 1826, in head
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx/_client.py", line 1540, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx/_client.py", line 1629, in send
    response = await self._send_handling_auth(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
    )
    ^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx/_client.py", line 1657, in _send_handling_auth
    response = await self._send_handling_redirects(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
    )
    ^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects
    response = await self._send_single_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx/_client.py", line 1730, in _send_single_request
    response = await transport.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/eddrit/.local/lib/python3.14/site-packages/httpx_curl_cffi/transport.py", line 427, in handle_async_request
    _resp = await self._session.request(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        **self._create_request_params(request),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/eddrit/.local/lib/python3.14/site-packages/curl_cffi/requests/session.py", line 1051, in request
    req, buffer, header_buffer, q, header_recved, quit_now = set_curl_options(
                                                             ~~~~~~~~~~~~~~~~^
        curl=curl,
        ^^^^^^^^^^
    ...<40 lines>...
        event_class=asyncio.Event,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/eddrit/.local/lib/python3.14/site-packages/curl_cffi/requests/utils.py", line 443, in set_curl_options
    for k, v in h.multi_items():
                ~~~~~~~~~~~~~^^
  File "/home/eddrit/.local/lib/python3.14/site-packages/curl_cffi/requests/headers.py", line 199, in multi_items
    value.decode(self.encoding) if value is not None else value,
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 43: ordinal not in range(128)

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