Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tachidesk cannot browse 18comic aka "禁漫天堂,jinman tiantang" #444

Open
ericvlog opened this issue Nov 9, 2022 · 22 comments
Open

tachidesk cannot browse 18comic aka "禁漫天堂,jinman tiantang" #444

ericvlog opened this issue Nov 9, 2022 · 22 comments
Labels
bug Something isn't working

Comments

@ericvlog
Copy link

ericvlog commented Nov 9, 2022


Device information

  • Tachidesk-Server Preview -v0.6.5-r1149 / Tachidesk Deskotp version
  • Debian docker and windows 11
  • Edge / Chrome

Steps to reproduce

  1. Open tachidesk, go to source, select 禁漫天堂.
  2. Select any long comic and open 1st or last chapter
  3. Loading after all it blank.

Expected behavior

It should be open a comic picture after.

Actual behavior

it loading and open black blank page.

Other details

I using debian and install it with docker-compose, and happen as above i descript, then i try download the windows version, test browser mode and electron mode also same, Just extension 18comic or 禁漫天堂 have problem, other extension working great.

I do have android version of tachiyomi, and it working great on the extension.

Hope you can fix it !!

Thanks regard.
image

@ericvlog ericvlog added the bug Something isn't working label Nov 9, 2022
@ericvlog

This comment was marked as spam.

@AriaMoradi
Copy link
Member

The extension fails at decoding image files, we have to implement android.graphics.BitmapFactory.decodeStream in order to fix this.

18:30:30.623 [DefaultDispatcher-worker-6] WARN  io.javalin.Javalin - Uncaught exception
java.lang.RuntimeException: Stub!
	at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:43)
	at eu.kanade.tachiyomi.extension.zh.jinmantiantang.ScrambledImageInterceptor.decodeImage(Unknown Source)
	at eu.kanade.tachiyomi.extension.zh.jinmantiantang.ScrambledImageInterceptor.intercept(Unknown Source)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptor.intercept(SpecificHostRateLimitInterceptor.kt:45)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at eu.kanade.tachiyomi.network.interceptor.CloudflareInterceptor.intercept(CloudflareInterceptor.kt:28)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at eu.kanade.tachiyomi.network.interceptor.UserAgentInterceptor.intercept(UserAgentInterceptor.kt:19)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at eu.kanade.tachiyomi.network.OkHttpExtensionsKt$asObservable$1$requestArbiter$1.request(OkHttpExtensions.kt:32)
	at rx.Subscriber.setProducer(Subscriber.java:211)
	at rx.Subscriber.setProducer(Subscriber.java:205)
	at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservable$lambda$0(OkHttpExtensions.kt:54)
	at rx.Observable.unsafeSubscribe(Observable.java:10327)
	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
	at rx.Observable.subscribe(Observable.java:10423)
	at rx.Observable.subscribe(Observable.java:10390)
	at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitOne(RxCoroutineBridge.kt:29)
	at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitSingle(RxCoroutineBridge.kt:24)
	at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invokeSuspend(Page.kt:90)
	at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invoke(Page.kt)
	at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invoke(Page.kt)
	at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getCachedImageResponse(ImageResponse.kt:43)
	at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getImageResponse(ImageResponse.kt:93)
	at suwayomi.tachidesk.manga.impl.Page.getPageImage(Page.kt:89)
	at suwayomi.tachidesk.manga.impl.Page.getPageImage$default(Page.kt:41)
	at suwayomi.tachidesk.manga.controller.MangaController$pageRetrieve$2$1.invokeSuspend(MangaController.kt:387)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

@ericvlog
Copy link
Author

ericvlog commented Dec 4, 2022

The extension fails at decoding image files, we have to implement android.graphics.BitmapFactory.decodeStream in order to fix this.

18:30:30.623 [DefaultDispatcher-worker-6] WARN  io.javalin.Javalin - Uncaught exception
java.lang.RuntimeException: Stub!
	at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:43)
	at eu.kanade.tachiyomi.extension.zh.jinmantiantang.ScrambledImageInterceptor.decodeImage(Unknown Source)
	at eu.kanade.tachiyomi.extension.zh.jinmantiantang.ScrambledImageInterceptor.intercept(Unknown Source)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptor.intercept(SpecificHostRateLimitInterceptor.kt:45)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at eu.kanade.tachiyomi.network.interceptor.CloudflareInterceptor.intercept(CloudflareInterceptor.kt:28)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at eu.kanade.tachiyomi.network.interceptor.UserAgentInterceptor.intercept(UserAgentInterceptor.kt:19)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at eu.kanade.tachiyomi.network.OkHttpExtensionsKt$asObservable$1$requestArbiter$1.request(OkHttpExtensions.kt:32)
	at rx.Subscriber.setProducer(Subscriber.java:211)
	at rx.Subscriber.setProducer(Subscriber.java:205)
	at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservable$lambda$0(OkHttpExtensions.kt:54)
	at rx.Observable.unsafeSubscribe(Observable.java:10327)
	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
	at rx.Observable.subscribe(Observable.java:10423)
	at rx.Observable.subscribe(Observable.java:10390)
	at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitOne(RxCoroutineBridge.kt:29)
	at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitSingle(RxCoroutineBridge.kt:24)
	at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invokeSuspend(Page.kt:90)
	at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invoke(Page.kt)
	at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invoke(Page.kt)
	at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getCachedImageResponse(ImageResponse.kt:43)
	at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getImageResponse(ImageResponse.kt:93)
	at suwayomi.tachidesk.manga.impl.Page.getPageImage(Page.kt:89)
	at suwayomi.tachidesk.manga.impl.Page.getPageImage$default(Page.kt:41)
	at suwayomi.tachidesk.manga.controller.MangaController$pageRetrieve$2$1.invokeSuspend(MangaController.kt:387)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

it mean a fix soon ? it weird because android version tachiyomi is able to browse it.

@Syer10
Copy link
Collaborator

Syer10 commented Dec 4, 2022

It depends on how easy it would be to implement image manipulation. Android itself implements it for Tachiyomi to be able to do it, but Tachidesk would have to implement it all by itself or find some kind of shortcut to implement it. It's not a easy thing to do.

@ericvlog
Copy link
Author

ericvlog commented Dec 4, 2022

It depends on how easy it would be to implement image manipulation. Android itself implements it for Tachiyomi to be able to do it, but Tachidesk would have to implement it all by itself or find some kind of shortcut to implement it. It's not a easy thing to do.

Hope you can implement very soon, however thanks for your reply.

@animeavi
Copy link
Contributor

animeavi commented Dec 5, 2022

The extension fails at decoding image files, we have to implement android.graphics.BitmapFactory.decodeStream in order to fix this.

I don't know if I should open another bug report but I have the same issue on "MangaReader.to", looks related to scrambled pages, to test it look for Vinland Saga and try to read chapter 1.

@Tatchaxzw

This comment was marked as spam.

@ericvlog
Copy link
Author

hello, how this bug have solve?

Thanks.

@jason3232
Copy link

With FlareSolverr setup I am able to get the catalog and index of mangas but it fails to display any image, using the latest preview docker image version of Tachidesk/Suwayomi

java.io.IOException: java.lang.IllegalArgumentException: no reader for image
        at eu.kanade.tachiyomi.source.online.HttpSource.getImage$suspendImpl(HttpSource.kt:390)
        at eu.kanade.tachiyomi.source.online.HttpSource.getImage(HttpSource.kt)
        at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invokeSuspend(Page.kt:112)
        at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invoke(Page.kt)
        at suwayomi.tachidesk.manga.impl.Page$getPageImage$5.invoke(Page.kt)
        at suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getImageResponse(ImageResponse.kt:70)
        at suwayomi.tachidesk.manga.impl.Page.getPageImage(Page.kt:111)
        at suwayomi.tachidesk.manga.impl.Page.getPageImage$default(Page.kt:44)
        at suwayomi.tachidesk.manga.controller.MangaController$pageRetrieve$2$1.invokeSuspend(MangaController.kt:407)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
        at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Caused by: java.io.IOException: java.lang.IllegalArgumentException: no reader for image
        at eu.kanade.tachiyomi.lib.randomua.RandomUserAgentInterceptor.intercept(Unknown Source)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at eu.kanade.tachiyomi.extension.zh.jinmantiantang.UpdateUrlInterceptor.intercept(Unknown Source)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:205)
        at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:537)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)```

@xiaoyaoshengy
Copy link

I have the same problem, but when I use the extension on mihon it can display images normally. I use the latest stable docker image version on Ubuntu, and setup FlareSolverr.

@ericvlog
Copy link
Author

I have the same problem, but when I use the extension on mihon it can display images normally. I use the latest stable docker image version on Ubuntu, and setup FlareSolverr.

Dun waste your time, find other apps to use.

@xiaoyaoshengy
Copy link

I have the same problem, but when I use the extension on mihon it can display images normally. I use the latest stable docker image version on Ubuntu, and setup FlareSolverr.

Dun waste your time, find other apps to use.

Thank you. Could you tell me what you are using now?

@Robonau
Copy link
Contributor

Robonau commented Oct 19, 2024

just use a different source

@ericvlog
Copy link
Author

I have the same problem, but when I use the extension on mihon it can display images normally. I use the latest stable docker image version on Ubuntu, and setup FlareSolverr.

Dun waste your time, find other apps to use.

Thank you. Could you tell me what you are using now?

https://github.com/Pacalini/PicaComic

here, support windows, android .......

@Robonau
Copy link
Contributor

Robonau commented Oct 20, 2024

https://github.com/Pacalini/PicaComic

here, support windows, android .......

it supports 5 websites and none of them are what this issue is about

@ericvlog
Copy link
Author

ericvlog commented Oct 20, 2024

https://github.com/Pacalini/PicaComic

here, support windows, android .......

it supports 5 websites and none of them are what this issue is about

I dun get what you mean, the app in windows support 18comic.

The issue is about unable to browse 18comic, so it is related.

@Robonau
Copy link
Contributor

Robonau commented Oct 20, 2024

I dun get what you mean, the app in windows support 18comic.

its not in the list of supported websites on the github

@ericvlog
Copy link
Author

I dun get what you mean, the app in windows support 18comic.

its not in the list of supported websites on the github

18comic = jingmantiantang, 禁漫天堂

@Robonau
Copy link
Contributor

Robonau commented Oct 20, 2024

yes, and the list of 6 supported websites on its github are:

  • picacg
  • e-hentai/exhentai
  • jmcomic
  • hitomi
  • 绅士漫画
  • nhentai

@ericvlog
Copy link
Author

yes, and the list of 6 supported websites on its github are:

  • picacg
  • e-hentai/exhentai
  • jmcomic
  • hitomi
  • 绅士漫画
  • nhentai

Jmcomic is 18comic as well, actually a lot more projects can fix that error, I dun know why here seems no interest to fix it.

But okay is your right.

@Robonau
Copy link
Contributor

Robonau commented Oct 20, 2024

Jmcomic is 18comic as well, actually a lot more projects can fix that error, I dun know why here seems no interest to fix it.

But okay is your right.

ah i didn't know that.
i mean its not a commonly used website, 3 people with the issue in 2 years.
its not an issue that from scratch projects need to fix, it is an issue specific to the way suwayomi uses mihon extensions
suwayomi can't just decide to not use android.graphics.BitmapFactory.decodeStream and implementing it would be a ton of work

@ericvlog
Copy link
Author

Jmcomic is 18comic as well, actually a lot more projects can fix that error, I dun know why here seems no interest to fix it.

But okay is your right.

ah i didn't know that.
i mean its not a commonly used website, 3 people with the issue in 2 years.
its not an issue that from scratch projects need to fix, it is an issue specific to the way suwayomi uses mihon extensions
suwayomi can't just decide to not use android.graphics.BitmapFactory.decodeStream and implementing it would be a ton of work

Yup, I understand so I leave a message for him to use other apps instead of waiting our times.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants