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. ☹️)
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.