Suwayomi / Suwayomi-Server

A rewrite of Tachiyomi for the Desktop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] Unable to read manga with very long titles

xkww3n opened this issue · comments

Device information

  • Suwayomi-Server version: 1.0.0
  • Server Operating System: Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-101-generic x86_64)
  • Server Desktop Environment: N/A
  • Server JVM version: bundled (Official Docker image)
  • Client Operating System: N/A
  • Client Web Browser: N/A

Steps to reproduce

  1. Read a manga that has a very long title using Web UI or mobile client. (In my case that is 214 characters)
  2. Error occoured.

Expected behavior

The manga should load normally.

Actual behavior

Client recieved an error icon (piece of broken paper).

Other details

Log:

java.io.FileNotFoundException: /tmp/Tachidesk/manga-cache/Certain_Source/Certain_Loooooong_Title_Manga/Chapter/024.tmp (File name too long)
tachidesk-1  |  at java.base/java.io.FileOutputStream.open0(Native Method)
tachidesk-1  |  at java.base/java.io.FileOutputStream.open(Unknown Source)
tachidesk-1  |  at java.base/java.io.FileOutputStream.<init>(Unknown Source)
tachidesk-1  |  at java.base/java.io.FileOutputStream.<init>(Unknown Source)
tachidesk-1  |  at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.saveImage(ImageResponse.kt:95)
tachidesk-1  |  at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getImageResponse(ImageResponse.kt:74)
tachidesk-1  |  at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse$getImageResponse$1.invokeSuspend(ImageResponse.kt)
tachidesk-1  |  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
tachidesk-1  |  at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
tachidesk-1  |  at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
tachidesk-1  |  at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
tachidesk-1  |  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
tachidesk-1  |  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
tachidesk-1  |  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
tachidesk-1  |  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)