From 654d091e650cda37650b57cbf3ba6f1cdd6d47d3 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 12 Nov 2025 20:55:32 +0200 Subject: [PATCH] fix(YouTube - Sanitize sharing links): Handle non hierarchical urls --- .../revanced/extension/shared/privacy/LinkSanitizer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java index 853ced003..941279f29 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java @@ -35,6 +35,15 @@ public class LinkSanitizer { public Uri sanitizeUri(Uri uri) { try { + String scheme = uri.getScheme(); + if (scheme == null || !(scheme.equals("http") || scheme.equals("https"))) { + // Opening YouTube share sheet 'other' option passes the video title as a URI. + // Checking !uri.isHierarchical() works for all cases, except if the + // video title starts with / and then it's hierarchical but still an invalid URI. + Logger.printDebug(() -> "Ignoring uri: " + uri); + return uri; + } + Uri.Builder builder = uri.buildUpon().clearQuery(); if (!parametersToRemove.isEmpty()) {