From f5797289f45186052537982c7f5db6f2b0769aee Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Fri, 28 Mar 2025 17:11:30 +0100 Subject: [PATCH] fix(X / Twitter): Constrain patches to latest compatible versions (#4683) --- .../twitter/misc/dynamiccolor/DynamicColorPatch.kt | 8 +++++++- .../revanced/patches/twitter/misc/hook/HookPatch.kt | 10 +++++++++- .../twitter/misc/links/ChangeLinkSharingDomainPatch.kt | 8 +++++++- .../twitter/misc/links/SanitizeSharingLinksPatch.kt | 8 +++++++- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt index 286f51afc..b3a677d72 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt @@ -10,7 +10,13 @@ val dynamicColorPatch = resourcePatch( name = "Dynamic color", description = "Replaces the default X (Formerly Twitter) Blue with the user's Material You palette.", ) { - compatibleWith("com.twitter.android") + compatibleWith( + "com.twitter.android"( + "10.84.0-release.0", + "10.60.0-release.0", + "10.48.0-release.0" + ) + ) execute { val resDirectory = get("res") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt index 66d1a3f16..053736786 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt @@ -11,7 +11,15 @@ fun hookPatch( ) = bytecodePatch(name) { dependsOn(jsonHookPatch) - compatibleWith("com.twitter.android") + compatibleWith( + "com.twitter.android"( + // 10.85+ uses Pairip and requires additional changes to work. + "10.84.0-release.0", + // Confirmed to not show reply ads. Slightly newer versions may also work. + "10.60.0-release.0", + "10.48.0-release.0" + ) + ) execute { addJsonHook(JsonHook(hookClassDescriptor)) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt index 6780f25aa..c13e866c8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt @@ -37,7 +37,13 @@ val changeLinkSharingDomainPatch = bytecodePatch( sharedExtensionPatch, ) - compatibleWith("com.twitter.android") + compatibleWith( + "com.twitter.android"( + "10.84.0-release.0", + "10.60.0-release.0", + "10.48.0-release.0" + ) + ) val domainName by stringOption( key = "domainName", diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt index 1cde6fc82..85392cece 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt @@ -8,7 +8,13 @@ val sanitizeSharingLinksPatch = bytecodePatch( name = "Sanitize sharing links", description = "Removes the tracking query parameters from links before they are shared.", ) { - compatibleWith("com.twitter.android") + compatibleWith( + "com.twitter.android"( + "10.84.0-release.0", + "10.60.0-release.0", + "10.48.0-release.0" + ) + ) execute { sanitizeSharingLinksFingerprint.method.addInstructions(