Attempting to preview or join rooms under docker-compose polylith deployment returns a 500 error
Background information
- Dendrite version or git SHA: 0.9.5
- Monolith or Polylith?: Polylith
- SQLite3 or Postgres?: Postgres
- Running in Docker?: Docker
-
go version: - - Client used (if applicable): Element
Description
- What is the problem: Attempting to preview or join rooms returns a 500 error.
- Who is affected: -
- How is this bug manifesting: Client & server side errors
- When did this first appear: On initial installation
Steps to reproduce
- Deploy polylith instance of dendrite with docker-compose
- Attempt to join a room
- observe a 500 response from client_api, and "M_UNKNOWN" on the client side.
Client side:
#matrix:matrix.org is not accessible at this time. Try again later, or ask a room or space admin to check if you have access.
M_UNKNOWN was returned while trying to access the room or space. If you think you're seeing this message in error, please submit a bug report.
Server side:
client_api_1 | time="2022-08-29T08:13:18.576507872Z" level=error msg="rsAPI.GetRoomIDForAlias failed" error="HTTP 500 from http://room_server:7770/api/roomserver/GetRoomIDForAlias" req.id=BVTGsCenU0Ia req.method=GET req.path="/_matrix/client/r0/directory/room/#matrix:matrix.org"
As a sidenote, messaging individual users seems to work fine.
I just tried the API endpoint on my 0.9.5 monolith and get
https://XXX/_matrix/client/r0/directory/room/INVALIDROOMFORMAT
{"errcode":"M_BAD_JSON","error":"Room alias must be in the form '#localpart:domain
https://XXX/_matrix/client/r0/directory/room/#room:domain.com gives me a stock "404 page not found" page, independent whether the room alias exists or not.
P.S. Same on r0 and v3 versions of the endpoint.
Wondering if this is a proxy issue. Running
curl 'https://$ServerName/_matrix/client/r0/directory/room/%23matrix:matrix.org'
works fine and is correctly logged in my proxy (Traefik), while #matrix:matrix.org is simply logged as GET /_matrix/client/r0/directory/room/ HTTP/2.0" 404
For the HTTP 500, we'd need the error from the roomserver.
same with nginx: _matrix/client/r0/directory/room/#matrix:matrix.org is logged as
_matrix/client/r0/directory/room/ (resulting in a 404)
by nginx.
Polylith mode has been deprecated. As this issue relates to polylith, it will be closed.