Skip to content

Conversation

FourTOne5
Copy link
Contributor

@FourTOne5 FourTOne5 commented May 21, 2025

Checklist:

  • Updated extVersionCode value in build.gradle for individual extensions
  • Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Added the isNsfw = true flag in build.gradle when appropriate
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension

@FourTOne5 FourTOne5 marked this pull request as draft May 21, 2025 10:42
Copy link
Contributor

@AwkwardPeak7 AwkwardPeak7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to bump extensions which were changed

@lamaxama
Copy link
Contributor

The APK compiled with the new rate limit seems to be unable to install on the Suwayomi-Server.

22:45:39.023 [DefaultDispatcher-worker-8] ERROR suwayomi.tachidesk.graphql.AsDataFetcherResult -- asDataFetcherResult: failed due to
java.lang.NoClassDefFoundError: eu/kanade/tachiyomi/extension/all/mangadex/MangaDex$special$$inlined$rateLimit-SxA4cEA$default$1
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDex.<init>(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDex.<init>(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDexEnglish.<init>(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDexFactory.createSources(Unknown Source)
	at suwayomi.tachidesk.manga.impl.extension.Extension.installAPK(Extension.kt:168)
	at suwayomi.tachidesk.manga.impl.extension.Extension.installExternalExtension(Extension.kt:83)
	at suwayomi.tachidesk.graphql.mutations.ExtensionMutation$installExternalExtension$1.invokeSuspend(ExtensionMutation.kt:172)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Caused by: java.lang.ClassNotFoundException: eu.kanade.tachiyomi.extension.all.mangadex.MangaDex$special$$inlined$rateLimit-SxA4cEA$default$1
	at java.base/java.net.URLClassLoader.findClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 15 common frames omitted

@FourTOne5
Copy link
Contributor Author

@lamaxama can you check MangaDex and GlobalComix on the changes I just pushed

@lamaxama
Copy link
Contributor

lamaxama commented May 23, 2025

Wait a sec

@lamaxama
Copy link
Contributor

lamaxama commented May 23, 2025

@FourTOne5 ./gradlew -p src/all/mangadex assembleDebug works but ./gradlew -p src/all/mangadex assembleRelease didn't works.

Also tried disabling minify, still didn't works.
Also tested compiling on the main branch, and it runs without issues.

10:21:38.289 [DefaultDispatcher-worker-4] DEBUG suwayomi.tachidesk.manga.impl.extension.Extension -- Saving apk at tachiyomi-all.mangadex-v1.4.201-release-unsigned.apk
10:21:38.346 [DefaultDispatcher-worker-4] DEBUG suwayomi.tachidesk.manga.impl.extension.Extension -- Main class for extension is eu.kanade.tachiyomi.extension.all.mangadex.MangaDexFactory
10:21:38.727 [DefaultDispatcher-worker-4] DEBUG suwayomi.tachidesk.manga.impl.util.PackageTools -- loading jar with path: /Users/lama/Library/Application Support/Tachidesk/extensions/tachiyomi-all.mangadex-v1.4.201-release-unsigned.jar
10:21:38.731 [DefaultDispatcher-worker-4] ERROR suwayomi.tachidesk.graphql.AsDataFetcherResult -- asDataFetcherResult: failed due to
java.lang.VerifyError: Expecting a stackmap frame at branch target 246
Exception Details:
  Location:
    eu/kanade/tachiyomi/extension/all/mangadex/MangaDexHelper.createBasicManga(Leu/kanade/tachiyomi/extension/all/mangadex/dto/MangaDataDto;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Leu/kanade/tachiyomi/source/model/SManga; @103: ifnonnull
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0000000: 2b13 016a b800 5719 0412 51b8 0057 b201
    0000010: 6fb6 0175 3a0a bb00 d659 1301 77b7 00d9
    0000020: 3a07 1907 2bb6 017c b600 dd57 190a 1907
    0000030: b600 e6b9 017f 0200 2bb6 0185 3a07 1907
    0000040: b800 7e19 07b6 018b 3a0b 2bb6 0185 3a0c
    0000050: 190b 1904 b900 b002 00c0 00bc 3a09 013a
    0000060: 0819 093a 0719 09c7 008f 190c b601 8f3a
    0000070: 0919 0bb9 00b4 0100 b801 92c0 00bc 3a07
    0000080: 2a19 0919 04b7 0194 3a04 2a19 0912 82b7
    0000090: 0194 3a09 1505 9900 1e06 bd00 bc59 0319
    00000a0: 0453 5904 1907 5359 0519 0953 b801 983a
    00000b0: 04a7 001b 06bd 00bc 5903 1907 5359 0419
    00000c0: 0453 5905 1909 53b8 0198 3a04 1904 b900
    00000d0: a001 003a 0419 04b9 00a6 0100 9900 1719
    00000e0: 04b9 00aa 0100 c000 bc3a 0719 07c6 ffe8
    00000f0: a700 0601 3a07 1908 3a04 1907 c600 0b2a
    0000100: 1907 b701 483a 0419 043a 0719 04c7 0008
    0000110: 1301 9a3a 0719 0a19 07b9 019d 0200 2cc6
    0000120: 0087 2dc6 0015 2db9 01a2 0100 9a00 06a7
    0000130: 0009 0336 06a7 0006 0436 0615 0604 8204
    0000140: a000 38bb 00d6 5913 01a4 b700 d93a 0419
    0000150: 042b b601 7cb6 00dd 5719 0410 2fb6 00e0
    0000160: 5719 042c b600 dd57 1904 2db6 00dd 5719
    0000170: 04b6 00e6 4ca7 0029 bb00 d659 1301 a4b7
    0000180: 00d9 4e2d 2bb6 017c b600 dd57 2d10 2fb6
    0000190: 00e0 572d 2cb6 00dd 572d b600 e64c 190a
    00001a0: 2bb9 01a7 0200 190a b0                 

	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDex.<init>(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDex.<init>(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDexEnglish.<init>(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.mangadex.MangaDexFactory.createSources(Unknown Source)
	at suwayomi.tachidesk.manga.impl.extension.Extension.installAPK(Extension.kt:168)
	at suwayomi.tachidesk.manga.impl.extension.Extension.installExternalExtension(Extension.kt:83)
	at suwayomi.tachidesk.graphql.mutations.ExtensionMutation$installExternalExtension$1.invokeSuspend(ExtensionMutation.kt:172)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

@lamaxama
Copy link
Contributor

Globalcomix installed OK, but encountered loading errors.
Also tested compiling on the main branch, and it runs without issues.

10:30:00.660 [DefaultDispatcher-worker-3] DEBUG eu.kanade.tachiyomi.network.NetworkHelper -- --> GET https://api.globalcomix.com/v1/comics?lang_id%5B%5D=en&p=1 h2
10:30:01.227 [DefaultDispatcher-worker-3] DEBUG eu.kanade.tachiyomi.network.NetworkHelper -- <-- 200 https://api.globalcomix.com/v1/comics?lang_id%5B%5D=en&p=1 (565ms, unknown-length body)
10:30:01.274 [DefaultDispatcher-worker-3] ERROR suwayomi.tachidesk.graphql.AsDataFetcherResult -- asDataFetcherResult: failed due to
java.lang.IllegalArgumentException: Class declares 0 type parameters, but 1 were provided.
	at kotlin.reflect.full.KClassifiers.createType(KClassifiers.kt:53)
	at kotlin.reflect.jvm.internal.CachesKt.getOrCreateKTypeWithTypeArguments(caches.kt:69)
	at kotlin.reflect.jvm.internal.CachesKt.getOrCreateKType(caches.kt:58)
	at kotlin.reflect.jvm.internal.ReflectionFactoryImpl.typeOf(ReflectionFactoryImpl.java:123)
	at kotlin.jvm.internal.Reflection.typeOf(Reflection.java:133)
	at eu.kanade.tachiyomi.extension.all.globalcomix.GlobalComix.mangaListParse(Unknown Source)
	at eu.kanade.tachiyomi.extension.all.globalcomix.GlobalComix.popularMangaParse(Unknown Source)
	at eu.kanade.tachiyomi.source.online.HttpSource.fetchPopularManga$lambda$4(HttpSource.kt:127)
	at eu.kanade.tachiyomi.source.online.HttpSource.fetchPopularManga$lambda$5(HttpSource.kt:126)
	at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:69)
	at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:101)
	at eu.kanade.tachiyomi.network.OkHttpExtensionsKt$asObservable$1$requestArbiter$1.request(OkHttpExtensions.kt:38)
	at rx.Subscriber.setProducer(Subscriber.java:211)
	at rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer(OnSubscribeMap.java:102)
	at rx.Subscriber.setProducer(Subscriber.java:205)
	at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservable$lambda$0(OkHttpExtensions.kt:56)
	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.Observable.unsafeSubscribe(Observable.java:10327)
	at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
	at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
	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:28)
	at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitSingle(RxCoroutineBridge.kt:22)
	at eu.kanade.tachiyomi.source.CatalogueSource$DefaultImpls.getPopularManga(CatalogueSource.kt:26)
	at eu.kanade.tachiyomi.source.online.HttpSource.getPopularManga(HttpSource.kt:28)
	at suwayomi.tachidesk.graphql.mutations.SourceMutation$fetchSourceManga$1.invokeSuspend(SourceMutation.kt:135)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: okhttp3.Response.class
	at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118)
	at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:73)
	... 29 common frames omitted

@lamaxama
Copy link
Contributor

@FourTOne5

I tried setting minifyEnabled to false and removing proguardFiles settings, and both MangaDex and GlobalComix worked properly.

     buildTypes {
         release {
            signingConfig signingConfigs.release
-            minifyEnabled true
+            minifyEnabled false
             vcsInfo.include false
-            proguardFiles rootProject.file("core/proguard-rules.pro")
         }
     }

@stevenyomi stevenyomi mentioned this pull request Aug 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants