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

  • MilanMA
    link
    fedilink
    arrow-up
    3
    ·
    10 months ago

    Note: will act on this asap, did not forget

    • JRaccoon
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Any updates on this? I mean, it’s not a critical issue by any means, but to my understanding (without knowing the specifics of your hosting setup) it could be an easy fix.

      • MilanMA
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        27 days ago

        i have added some headers (most interesting perhaps slice) - however arte currently times out when testing, aeharding does not seem to present opengraph stuff to test, peertube seemed to work normally before my adjustments

        playing back an uploaded video didnt look like it was sliced however it played without showing any obvious errors anywhere

        i have added proxy_hide_header Access-Control-Allow-Origin; which seems to help with that reflected origin

  • JRaccoon
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    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.