Suwayomi / Suwayomi-Server

A rewrite of Tachiyomi for the Desktop
Mozilla Public License 2.0
3.84k stars 198 forks source link

[Bug] 410 HTTP response causes Tachidesk to not download and update cover image and thumbnails. (Uncaught Exception) #714

Open Underestimated opened 10 months ago

Underestimated commented 10 months ago

Device information

Steps to reproduce

While this is something happening in an extension, the error seems to be in the servers handling of the request response, see notes

  1. Have extension that accesses bato.to
  2. Have a work from that site in library
  3. Initially a thumbnail is downloaded successfully from the site, however after 2-3 days (haven’t been able to determine the exact number) the temporary link bato generates to display the thumbnail for the client expires, resulting in a 410 http error. Tachidesk doesn’t seem to understand the response, and the cover image breaks until a manual refresh of the comic data is done, which sometimes helps.

Expected behavior

Thumbnail is retrieved from site or from storage and displayed.

Actual behavior

Tachidesk attempts to access the expired image url and gets a 410 http error, causing an uncaught exception in the server, which shows in the logs. Thumbnail will not show without manual intervention.

Other details

logs: IMG_2025

Kickunio commented 7 months ago

The problems also shows up when browsing the source. Screenshot for reference: image

ddbreyer commented 2 months ago

Is there any solution to this? When I press the retry on the button I get following:

2024-06-02 11:00:17.731 [DefaultDispatcher-worker-1] ERROR suwayomi.tachidesk.server.JavalinSetup - IOException while handling the request java.io.FileNotFoundException: /thumbnails/431.tmp (No such file or directory)

Underestimated commented 2 months ago

Update to the latest preview version, and use the preview web ui. It seems to have been fixed now.

ddbreyer commented 2 months ago

Update to the latest preview version, and use the preview web ui. It seems to have been fixed now.

Thank you. I use the docker container. If I use preview tag it will work?

Underestimated commented 2 months ago

Yes that should do the trick, that’s how I use it. You should also add the variable WEB_UI_CHANNEL=preview to your environment variables.

Robonau commented 2 months ago

Yes that should do the trick, that’s how I use it. You should also add the variable WEB_UI_CHANNEL=preview to your environment variables.

you should avoid using the docker environment variables if possible, as the example says they will actively overwrite any changes you make to that setting at run time

just making the change at run time is enough

ddbreyer commented 2 months ago

Does it cache the thumbnails on your browser accessing Suwayomi and not on the server? I'm wondering because when I log in on another client the thumbnails are gone again on that particular client. On my main computer it's still fine.

Also really weird behavior; when i try to migrate to the same source (to get thumbnail back) it says failed and the manga/comic is gone from my library. Then I re-add it again and it's ok.

Robonau commented 2 months ago

Does it cache the thumbnails on your browser accessing Suwayomi and not on the server? I'm wondering because when I log in on another client the thumbnails are gone again on that particular client. On my main computer it's still fine.

the thumbnails are stored on the server. client caching depends on the client, though generally also yes you can probably clear the cache of that client in some way

ddbreyer commented 2 months ago

Does it cache the thumbnails on your browser accessing Suwayomi and not on the server? I'm wondering because when I log in on another client the thumbnails are gone again on that particular client. On my main computer it's still fine.

the thumbnails are stored on the server. client caching depends on the client, though generally also yes you can probably clear the cache of that client in some way

Thank you for replying. Unfortunately the thumbnails are gone again for some reason and the application log doesn't really tell me anything other than what I first posted. Maybe starting fresh and deleting all files on the host server will fix the problem? Thanks again.