Icon on added feed returns 404

  • [ x] I’m using docker compose setup, with modifications (modified .yml files, third party plugins/themes, etc.) - changed to get it running behind an nginx reverse proxy, otherwise unmodified

My feed icon doesn’t load, URL always return 404, even if I tried to upload my own image, it seems like the upload works but the server still can’t find it.

steps to reproduce:

  1. Add a feed (i tried a blogger rss and a youtube channel)
  2. Icon is broken
  3. Add a custom icon
  4. New Icon is broken too
  5. Attempt to open the image URL in a new tab resulted in error 404
  6. checked docker logs and the web-nginx service also added a 404 response.
  • Tiny Tiny RSS version (including git commit id): Not sure how to check, but if it helps docker ps shows the image was created 5 weeks ago, tag is latest Tiny Tiny RSS v24.03-536085c7
  • Platform (i.e. Linux distro, Docker, PHP, PostgreSQL, etc) versions: Debian 12 bookworm with Docker

You can get the version/commit from the footer in Preferences.

I’m not seeing this behavior with my own instance, but looks like it’s happening @ https://demo.tt-rss.org/ (demo/demo).

  • Just to confirm-- does the failing request look something like /tt-rss/public.php?op=feed_icon&id=198?
  • If you’re not using https://gitlab.tt-rss.org/tt-rss/plugins/ttrss-cache-s3 , do you see a file added/updated in cache/feed-icons after adding a new feed or uploading a custom icon? The filename will correspond to id in the failing request.
  • I assume this tt-rss instance has been around for a bit, and feed icons worked at one point?

Thanks, i’ll update the OP! The version is Tiny Tiny RSS v24.03-536085c7

Hmm, maybe it’s a recent bug from what you’re saying?

  1. yes, in my case it’s /public.php?op=feed_icon&id=1
  2. I have not installed any plugins/themes yeah, and the directory does contain the image i uploaded with the right id name.
  3. tbh I set it up 5w ago then i just left it there once I got past the login screen until further need, so this is essentially a new experience.

It might be-- particularly since the demo site seems to have a similar problem. I’ll set up a new environment later to see if I can recreate the issue.

By “changed to get it running behind an nginx reverse proxy”, do you mean the steps @ https://tt-rss.org/wiki/InstallationNotes#how-do-i-put-this-container-behind-a-reverse-proxy ?

i’m using s3 cache backend and changing icon manually worked fine for me, could be something broken with filesystem storage.

e: just tried and it worked fine. weird.

had to do some quick deep diving :slight_smile:

for some reason if local cache directory is a relative path, file_exists() returns false, if it is set to absolute path via hack above, it works.

it could be related to recent php version upgrade? or maybe psr-4 class work?

why does it work on my dev compose setup, i have no idea.

another problem was seeing nginx 404 instead of php which is also something that i can’t explain right now.

… and getcwd() seems fine.

:thinking: no idea

https://gitlab.tt-rss.org/tt-rss/tt-rss/-/commit/ae5e7568f59b9ecbefe0c86ffc7d314fd78d114c this hack is the best workaround i could think of right now. the underlying cause though - i dunno.

e: the demo seems to be fixed for me with this applied

2 Likes

wm_name: yep those are the steps i followed + removing /tt-rss/ trail from base URL, otherwise just standard compose file.

fox: I’m not very experienced with Docker, I assume this fix should be applied if I update my image?
EDIT: yep that worked. Thanks for the help @wn_name @fox! Seems like that relative path was really the problem.