Many Lemmy instances are misconfigured, which can break progressive video streaming and even basic image loading in strange ways. The latest default lemmy-ansible config handles this correctly, but many instances use custom proxy setups that cause issues. This tool will check that:
- ✅ The instance supports HTTP range requests for proper video streaming
- ✅ CORS headers are properly set for API and pictrs media
The instance result shows:
discuss.tchncs.de ❌ Error: Failed to fetch
Seems to be a CORS issue. A GET request to
https://discuss.tchncs.de/pictrs/image/2254acd7-9ce1-4b07-b334-15631f2847e2.png
is correctly responded to with a single Allow-Origin header:Access-Control-Allow-Origin: *
However, the problem occurs when a browser makes that request. It adds an Origin header (For example,
Origin: https://aeharding.github.io/
in this case), and then the server responds with two Allow-Origin headers, which is invalid:access-control-allow-origin: https://aeharding.github.io/ Access-Control-Allow-Origin: *
(Note the different capitalization.)
Ignoring that, it also seems that the server does not support the Range header. Requesting the same image with the header:
Range: bytes=0-1
returns the full image instead of the requested partial content. This effectively means that while video/audio files hosted on this instance will play, features like fast forwarding won’t work properly. This is something @milan@discuss.tchncs.de will probably want to take a look at some point.
Could be related to https://discuss.tchncs.de/post/32822957