Closed spantaleev closed 2 months ago
There's only one way of constructing URLs, not two. However, the media path is configurable too (heisenbridge
-> media_path
). I guess the config can technically be used to bypass the new proxy, but by default the proxy is always used. If the media path hasn't been overridden, then the most likely explanation is that the bridge wasn't actually updated.
In 9d11271d59a054, I've worked on adapting matrix-docker-ansible-deploy to your v1.15.0 release which is supposed to run a media proxy serving
/_heisenbridge/media/*
paths and being exposed publicly undermedia_url
.Our intention (expectation) is to:
/heisenbridge
path prefix by default (e.g.media_url = https://matrix.DOMAIN/heisenbridge
). This is configurable - some users may wish to dedicate a hostname to Heisenbridge and not use a path prefix (e.g.media_url = https://heisenbridge.DOMAIN
){media_url}/_heisenbridge/media/something
. Examples:https://matrix.DOMAIN/heisenbridge/_heisenbridge/media/something
https://heisenbridge.DOMAIN/_heisenbridge/media/something
/heisenbridge
) and pass whatever remains (e.g./_heisenbridge/media/*
) to the Heisenbridge serverIt seems like currently Heisenbridge still generates URLs destined for the Matrix Media API, looking like this:
{media_url}/_matrix/media/v3/download/DOMAIN/FILE_ID/FILE_NAME
. Unlessmedia_url
is pointed to the homeserver URL, this cannot work.Is there something else that needs to be done to enable the media proxy functionality? Is it possible only enabled for certain media and not other?
Perhaps us adding an additional
/heisenbridge
prefix and putting it in themedia_url
configuration key is not compatible with Heisenbridge's expectations.It's probably most straightforward if Heisenbridge always proxied all media, instead of constructing 2 different types of URLs (sometimes leading to the Media API, sometimes leading to the media proxy).