I can’t notice a pattern, but it happens all the time in both instances I use. I get to a post and there’s an image that can’t be loaded. I open the post on the browser and it loads fine.

(I’d share a screenshot of the browser but the inline picture upload feature is giving me grief now. ☹️)

Here’s the sample post: https://feddit.org/post/538582

  • aeharding@vger.socialM
    link
    fedilink
    English
    arrow-up
    30
    ·
    edit-2
    1 month ago

    Hi there!

    So, I’ve investigated this problem many times, and in the case of your example post its the same issue I’ve seen before.

    On your instance (mander.xyz), the image is not available. As an example, try to load the following link (in your browser):

    https://mander.xyz/post/15080092 (MUST OPEN IN BROWSER)

    As you can see the image is broken, because the image is not cached on mander.xyz, and also the original link is broken.

    However, when you tap the “link” button in Voyager you are viewing the post on feddit.org where the image is cached. That’s why this works:

    https://feddit.org/post/538582 (MUST OPEN IN BROWSER)

    This also explains why the image works for some people and not others. Because at some point the original image link broke, and some instances had the image cached by then, but not others.

    That’s also why usually the image will work on the origin server (in this case, feddit.org). Because the image was originally posted there, and that server was the first one to cache it (before the origin image broke).

    I’ve thought about some workarounds for this scenario. Voyager could theoretically request the post payload from the origin lemmy instance (AP URL) and then use that cached image URL. However, this reduces privacy somewhat because your lemmy app is now connecting to an arbitrary lemmy instance.

    Maybe it will be a setting in the future.

    As others said, other apps are also affected by this issue because it’s not a Voyager specific issue.

    Another side note, this could potentially be fixed in Lemmy backend. Lemmy devs could fetch the cached image from the upstream Lemmy server instead of using the original image URL, if it is broken.

    Edit: I made a request in Lemmy issue tracker. https://github.com/LemmyNet/lemmy/issues/4899