From d1e71ab58ff21cf992be5e8be65754ea55149985 Mon Sep 17 00:00:00 2001 From: w Date: Fri, 9 Oct 2026 10:55:31 -0700 Subject: [PATCH] Bump webgpuviewer (#4051) --- .../tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt | 10 ++++++++-- gradle/libs.versions.toml | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt index d567f2533..2e33b8aba 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt @@ -1156,6 +1156,7 @@ open class WebGpuViewer( page.page.downloadStream?.let { startStreamDecode(page, it) } true } + is Page.State.Error -> { logcat(LogPriority.ERROR) { "Page load error: ${state.error}" } false @@ -1626,8 +1627,12 @@ open class WebGpuViewer( // not wide enough if (aspectRatio < 1.1) return false - // Wide page: half the image width is wider than the screen aspect ratio - if (aspectRatio <= 2f * screenW.toFloat() / screenH) return false + // Wide page: half of it is wider than the screen aspect ratio or matches a decoded neighbour's shape + val isWide = listOf(viewerPageFor(page)?.prev, viewerPageFor(page)?.next) + .mapNotNull { (it as? ViewerReaderPage)?.aspectRatio } + .any { abs(aspectRatio / 2f - it) <= pairAspectTolerance } || + (aspectRatio > 2f * screenW.toFloat() / screenH) + if (!isWide) return false page.parent = pager.state @@ -1743,6 +1748,7 @@ open class WebGpuViewer( if (cachedPage.page.status == Page.State.Queue) requestDownload(cachedPage) return } + PageState.DECODING -> return // Ready requeues it, once downloaded. PageState.QUEUED -> decodeQueue.remove(cachedPage) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e240440e6..f97d90789 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -76,7 +76,7 @@ tapmoc = "0.4.2" unifile = "08f224c8f9" valkyrie = "0.5.2" voyager = "2.2.21-1.10.3" -webgpuviewer = "51" +webgpuviewer = "52" xmlutil = "1.0.2" [libraries]