From bdb0ce4779d565fc528e97bd38133a72ff3c1724 Mon Sep 17 00:00:00 2001 From: bapeey <90949336+bapeey@users.noreply.github.com> Date: Tue, 4 Nov 2025 00:43:40 -0500 Subject: [PATCH] Fix WebView crash introduced in v0.19.2 (#2649) --- CHANGELOG.md | 2 ++ .../webview/WebViewScreenContent.kt | 21 +++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4a06b7c2..546841383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co - `Other` - for technical stuff. ## [Unreleased] +### Fixed +- Fix WebView crash introduced in 0.19.2 ([@bapeey](https://github.com/bapeey)) ([#2649](https://github.com/mihonapp/mihon/pull/2649)) ## [v0.19.2] - 2025-11-02 ### Added diff --git a/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt b/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt index d11316f79..5ce838164 100644 --- a/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt +++ b/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt @@ -133,21 +133,20 @@ fun WebViewScreenContent( view: WebView?, request: WebResourceRequest?, ): Boolean { - request?.let { - // Don't attempt to open blobs as webpages - if (it.url.toString().startsWith("blob:http")) { - return false - } + val url = request?.url?.toString() ?: return false - // Ignore intents urls - if (it.url.toString().startsWith("intent://")) { + // Ignore intents urls + if (url.startsWith("intent://")) return true + + // Only open valid web urls + if (url.startsWith("http") || url.startsWith("https")) { + if (url != view?.url) { + view?.loadUrl(url, headers) return true } - - // Continue with request, but with custom headers - view?.loadUrl(it.url.toString(), headers) } - return super.shouldOverrideUrlLoading(view, request) + + return false } } }