From 4febb2e2e97a71b46fdcfd660846dea2eab6f60a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 12 Nov 2025 07:28:43 +0200 Subject: [PATCH 01/11] chore: Sync translations (#6280) --- .../addresources/values-az-rAZ/strings.xml | 22 +++++++-------- .../addresources/values-el-rGR/strings.xml | 6 ++-- .../addresources/values-fi-rFI/strings.xml | 10 +++---- .../addresources/values-fr-rFR/strings.xml | 28 +++++++++---------- .../addresources/values-ga-rIE/strings.xml | 12 ++++---- .../addresources/values-sv-rSE/strings.xml | 6 ++-- .../addresources/values-vi-rVN/strings.xml | 8 +++--- 7 files changed, 46 insertions(+), 46 deletions(-) diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 0d514edb5a..271f415549 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -342,9 +342,9 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum \'Podkastı araşdırın\"-ı Gizlət Podkast bölməsin araşdırın gizlidir Podkast bölməsin araşdırın görünür - Önə çıxan məzmunu gizlət - Önə çıxan məzmun bölməsi gizlənib - Önə çıxan məzmun bölməsi göstərilir + Seçilən məzmunu gizlət + Seçilən məzmun bölməsi gizlidir + Seçilən məzmun bölməsi göstərilir Məlumat Kartlarını Gizlət Məlumat kartları bölməsi gizlədilir Məlumat kartları bölməsi göstərilir @@ -352,8 +352,8 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum Əsas konseptlər bölməsi gizlidir Əsas konseptlər bölməsi görünür Abunə ol düyməsini gizlət - Abunə düyməsi gizlidir - Abunə düyməsi görünür + Abunə ol düyməsi gizlidir + Abunə ol düyməsi görünür Transkript-i Gizlət Transkripsiya bölməsi gizlidir Transkripsiya bölməsi göstərilir @@ -1680,9 +1680,9 @@ Video oynatma AV1 ilə ilişə bilər və ya kadrlar buraxıla bilər." Yayım düyməsini gizlət Yayım düyməsi gizlidir Yayım düyməsi göstərilir - Keçmiş düyməsini gizlət - Keçmiş düyməsi gizlidir - Keçmiş düyməsi görünür + Tarixçə düyməsini gizlət + Tarixçə düyməsi gizlidir + Tarixçə düyməsi görünür Bildiriş düyməsini gizlət Bildiriş düyməsi gizlidir Bildiriş düyməsi görünür @@ -1696,9 +1696,9 @@ Video oynatma AV1 ilə ilişə bilər və ya kadrlar buraxıla bilər." Kateqoriya cizgisi görünür - Miniplayer rəngini dəyişdirin - Miniplayer rəngi tam ekran pleyeri ilə eynidir - Miniplayer defolt rəngdən istifadə edir + Kiçik oynadıcı rəngini dəyişdir + Kiçik oynadıcı rəngi tam ekran oynadıcıya bərabərdir + Kiçik oynadıcı ilkin rəngi istifadə edir Fəaliyyət cizgisi diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 31bbf363af..76dde2443b 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -344,9 +344,9 @@ Second \"item\" text" Ενότητα «Εξερευνήστε το podcast» Κρυμμένη Εμφανίζεται - Απόκρυψη Προβεβλημένου περιεχομένου - Η ενότητα Προβεβλημένου περιεχομένου είναι κρυμμένη - Η ενότητα Προβεβλημένου περιεχομένου εμφανίζεται + Ενότητα προτεινόμενων συνδέσμων + Κρυμμένη + Εμφανίζεται Κάρτες πληροφοριών Κρυμμένη Εμφανίζεται diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 3ca8c86ce4..545d1c9adb 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -44,7 +44,7 @@ Second \"item\" text" APK käännöspäivä on vioittunut - ReVanced Ilmoitus + ReVanced-ilmoitus Kellon historiaa ei tallenneta.<br><br>Tämä todennäköisesti johtuu DNS mainosten estäjä tai verkkovälityspalvelin.<br><br>Korjataksesi tämän, valkoiselle listalle <b>s.youtube.com</b> tai poistaaksesi kaikki DNS-estäjät ja -profiilit. Älä näytä uudelleen @@ -164,7 +164,7 @@ Et saa ilmoituksia odottamattomista tapahtumista." Tyhjennä virheenkorjauslokit Tyhjentää kaikki tallennetut ReVanced-virheenkorjauslokit Lokit tyhjennetty - Ominaisuuslippujen Manager + Ominaisuuslippujen hallinta Hallitse totuusarvo-ominaisuuslippuja Aktiiviset liput (%d) Estetyt liput (%d) @@ -343,8 +343,8 @@ Jos Doodle näkyy tällä hetkellä alueellasi ja tämä piilotusasetus on käyt Tutustu podcastiin -osio piilotetaan Tutustu podcastiin -osio näytetään Piilota esitelty sisältö - Esitelty sisältö -osio on piilotettu - Esitelty sisältö -osio näytetään + Suositellun sisällön osio piilotetaan + Suositellun sisällön osio näytetään Piilota tietokortit Infokortit-osio piilotetaan Infokortit-osio näytetään @@ -1697,7 +1697,7 @@ AV1-videon toisto saattaa pätkiä." Kategoriapalkki näytetään - Vaihda minisoittimen väri + Muuta minisoittimen väriä Minisoittimen väri vastaa kokoruudun soitinta Minisoitin käyttää oletusväriä diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 77ed2fc430..cf667dadf4 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -164,14 +164,14 @@ Vous ne serez pas informé des événements inattendus." Effacer les journaux de débogage Efface tous les journaux de débogage ReVanced stockés Journaux effacés - Gestionnaire des indicateurs de fonctionnalités - Gérer les indicateurs de fonctionnalités booléens - Drapeaux actifs (%d) - Drapeaux bloqués (%d) - Rechercher des drapeaux... - Drapeaux enregistrés - Drapeaux réinitialisés - Drapeaux copiés dans le presse-papiers + Gestionnaire des flags de fonctionnalités + Gérez les flags de fonctionnalités booléens + Flags actifs (%d) + Flags bloqués (%d) + Rechercher des flags... + Flags enregistrés + Flags réinitialisés + Flags copiés dans le presse-papiers Nettoyer les liens de partage @@ -1685,9 +1685,9 @@ La lecture vidéo avec AV1 peut être saccadée et des images peuvent être perd Masquer le bouton Historique Le bouton Historique est masqué Le bouton Historique est affiché - Masquer le bouton de notification - Le bouton de notification est masqué - Le bouton de notification est affiché + Masquer le bouton des notifications + Le bouton des notifications est masqué + Le bouton des notifications est affiché Masquer le bouton de recherche Le bouton de recherche est masqué Le bouton de recherche est affiché @@ -1698,9 +1698,9 @@ La lecture vidéo avec AV1 peut être saccadée et des images peuvent être perd La barre des catégories est affichée - Changer la couleur du mini-lecteur - La couleur du mini-lecteur correspond à celle du lecteur plein écran - Le mini-lecteur utilise la couleur par défaut + Changer la couleur du lecteur réduit + La couleur du lecteur réduit correspond à celle du lecteur plein écran + Le lecteur réduit utilise la couleur par défaut Barre de navigation diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index a2c74ff636..f7be795db8 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -342,9 +342,9 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu Folaigh \'Déan iniúchadh ar an bpodchraoladh\' Tá an chuid Déan iniúchadh ar an bpodchraoladh i bhfolach Taispeántar an chuid Déan iniúchadh ar an bpodchraoladh - Folaigh ábhar roghnaithe - Tá an chuid ábhair roghnaithe i bhfolach - Taispeántar an chuid ábhair roghnaithe + Folaigh ábhar le feiceáil + Tá an chuid ábhar le feiceáil i bhfolach + Taispeántar an chuid ábhar le feiceáil Folaigh cártaí eolais Tá an chuid cártaí faisnéise i bhfolach Taispeántar rannán cártaí faisnéise @@ -1695,9 +1695,9 @@ D’fhéadfadh sé go mbeadh stad nó go gcaillfí frámaí ag athsheinm físe l Taispeántar an barra catagóirí - Athraigh dath an mini-imreora - Meaitseálann dath an mini-imreora leis an imreoir lánscáileáin - Úsáideann an mini-imreoir an dath réamhshocraithe + Athraigh dath an mhion-imreoir + Tá dath an mhion-imreoir ag teacht leis an imreoir lánscáileáin + Úsáideann an mion-imreoir an dath réamhshocraithe Barra nascleanúna diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 59211947dd..d2aed29ba2 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -274,8 +274,8 @@ Men om du aktiverar detta kommer även vissa användardata, t.ex. din IP-adress, Knappen Visa mer i sökresultat är dold Knappen Visa mer i sökresultat visas Dölj enkäter - Undersökningar är dolda - Undersökningar visas + Enkäter är dolda + Enkäter visas Dölj biljetthylla Biljetthyllan är dold Biljetthyllan visas @@ -477,7 +477,7 @@ Begränsningar • Om du söker på ett nyckelord kan det hända att inga resultat visas" Matcha hela ord - Om du omger ett nyckelord/en fras med dubbla citattecken förhindrar du partiella matchningar av videotitlar och kanalnamn<br><br>Till exempel,<br><b>\"ai\"</b> kommer att dölja videon: <b>How does AI work?</b><br>men kommer inte att dölja: <b>What does fair use mean?</b> + Om du omger ett nyckelord/en fras med dubbla citattecken förhindrar du partiella matchningar av videotitlar och kanalnamn<br><br>Till exempel:<br><b>\"ai\"</b> kommer att dölja videon: <b>How does AI work?</b><br>men kommer inte att dölja: <b>What does fair use mean?</b> Kan inte använda nyckelord: %s Lägg till citattecken för att använda nyckelord: %s diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 26b3c63de3..d71ecd67fa 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -342,7 +342,7 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v Ẩn \'Khám phá podcast\' Phần Khám phá podcast đã bị ẩn Phần Khám phá podcast được hiển thị - Ẩn nội dung nổi bật + Ẩn Nội dung nổi bật Phần nội dung nổi bật đã bị ẩn Phần nội dung nổi bật được hiển thị Ẩn thẻ Thông tin @@ -1703,9 +1703,9 @@ Phát video bằng AV1 có thể bị giật hoặc tụt khung hình." Thanh danh mục được hiển thị - Thay đổi màu của Miniplayer - Màu Miniplayer khớp với trình phát toàn màn hình - Miniplayer sử dụng màu mặc định + Đổi màu trình phát thu nhỏ + Màu trình phát thu nhỏ khớp với trình phát toàn màn hình + Trình phát thu nhỏ dùng màu mặc định Thanh điều hướng From 94ae84ad0fc3a9197c82d5356301d464730c3b17 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Wed, 12 Nov 2025 06:29:13 +0100 Subject: [PATCH 02/11] feat(Instagram): Add `Anonymous story viewing` patch (#6263) --- patches/api/patches.api | 4 ++++ .../ghost/story/AnonymousStoryViewingPatch.kt | 23 +++++++++++++++++++ .../instagram/ghost/story/Fingerprints.kt | 9 ++++++++ 3 files changed, 36 insertions(+) create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/AnonymousStoryViewingPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/Fingerprints.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index 7615d8ae69..56743543c6 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -276,6 +276,10 @@ public final class app/revanced/patches/instagram/feed/LimitFeedToFollowedProfil public static final fun getLimitFeedToFollowedProfiles ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/ghost/story/AnonymousStoryViewingPatchKt { + public static final fun getAnonymousStoryViewingPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/hide/explore/HideExploreFeedKt { public static final fun getHideExploreFeedPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/AnonymousStoryViewingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/AnonymousStoryViewingPatch.kt new file mode 100644 index 0000000000..72cae7fd2a --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/AnonymousStoryViewingPatch.kt @@ -0,0 +1,23 @@ +package app.revanced.patches.instagram.ghost.story + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.Utils.trimIndentMultiline +import app.revanced.util.returnEarly + +@Suppress("unused") +val anonymousStoryViewingPatch = bytecodePatch( + name = "Anonymous story viewing", + description = """ + View stories without sending any information to the server. + Your view will not appear in the story viewers list. + Note: Since no data is sent, a story you have already viewed may appear as new on another device. + """.trimIndentMultiline(), + use = false +) { + compatibleWith("com.instagram.android") + + execute { + // Prevent the hashmap of the seen media to be filled + setMediaSeenHashmapFingerprint.method.returnEarly() + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/Fingerprints.kt new file mode 100644 index 0000000000..59cce2aac0 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/ghost/story/Fingerprints.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.instagram.ghost.story + +import app.revanced.patcher.fingerprint + +internal val setMediaSeenHashmapFingerprint = fingerprint { + parameters() + returns("V") + strings("media/seen/") +} From 8df9a46721650b15d5e7a6e04216df7998be5125 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 12 Nov 2025 05:32:16 +0000 Subject: [PATCH 03/11] chore: Release v5.47.0-dev.1 [skip ci] # [5.47.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.46.0...v5.47.0-dev.1) (2025-11-12) ### Features * **Instagram:** Add `Anonymous story viewing` patch ([#6263](https://github.com/ReVanced/revanced-patches/issues/6263)) ([94ae84a](https://github.com/ReVanced/revanced-patches/commit/94ae84ad0fc3a9197c82d5356301d464730c3b17)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 654f823e77..e0be286f84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.47.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.46.0...v5.47.0-dev.1) (2025-11-12) + + +### Features + +* **Instagram:** Add `Anonymous story viewing` patch ([#6263](https://github.com/ReVanced/revanced-patches/issues/6263)) ([94ae84a](https://github.com/ReVanced/revanced-patches/commit/94ae84ad0fc3a9197c82d5356301d464730c3b17)) + # [5.46.0](https://github.com/ReVanced/revanced-patches/compare/v5.45.0...v5.46.0) (2025-11-10) diff --git a/gradle.properties b/gradle.properties index 06b062156c..ad26909c2f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.46.0 +version = 5.47.0-dev.1 From bb745b555b3808b7679c5995319aa365630fbd76 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:14:16 +0200 Subject: [PATCH 04/11] fix(Instagram - Disable signature check): Change patch to default excluded (#6283) --- .../patches/instagram/misc/signature/SignatureCheckPatch.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt index 4c755ec826..0493be62de 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt @@ -6,7 +6,9 @@ import app.revanced.util.returnEarly @Suppress("unused") val signatureCheckPatch = bytecodePatch( name = "Disable signature check", - description = "Disables the signature check that causes the app to crash on startup." + description = "Disables the signature check that can cause the app to crash on startup. " + + "Including this patch may cause issues with sharing or opening external Instagram links.", + use = false ) { compatibleWith("com.instagram.android") From df160370e277fd9eb5a333daf8aa313bc00feaae Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 12 Nov 2025 06:19:34 +0000 Subject: [PATCH 05/11] chore: Release v5.47.0-dev.2 [skip ci] # [5.47.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.1...v5.47.0-dev.2) (2025-11-12) ### Bug Fixes * **Instagram - Disable signature check:** Change patch to default excluded ([#6283](https://github.com/ReVanced/revanced-patches/issues/6283)) ([bb745b5](https://github.com/ReVanced/revanced-patches/commit/bb745b555b3808b7679c5995319aa365630fbd76)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0be286f84..0f6ab8340c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.47.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.1...v5.47.0-dev.2) (2025-11-12) + + +### Bug Fixes + +* **Instagram - Disable signature check:** Change patch to default excluded ([#6283](https://github.com/ReVanced/revanced-patches/issues/6283)) ([bb745b5](https://github.com/ReVanced/revanced-patches/commit/bb745b555b3808b7679c5995319aa365630fbd76)) + # [5.47.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.46.0...v5.47.0-dev.1) (2025-11-12) diff --git a/gradle.properties b/gradle.properties index ad26909c2f..cdac4cf3ab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.47.0-dev.1 +version = 5.47.0-dev.2 From 2f0de15e67e4f99ed6ecdc136d04cceb23b0d069 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:41:15 +0100 Subject: [PATCH 06/11] feat(Instagram): Add `Disable auto story flipping` patch (#6262) Co-authored-by: oSumAtrIX Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- patches/api/patches.api | 4 ++++ .../flipping/DisableStoryAutoFlippingPatch.kt | 17 +++++++++++++++++ .../instagram/story/flipping/Fingerprints.kt | 12 ++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/DisableStoryAutoFlippingPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/Fingerprints.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index 56743543c6..ca59944025 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -320,6 +320,10 @@ public final class app/revanced/patches/instagram/misc/signature/SignatureCheckP public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/story/flipping/DisableStoryAutoFlippingPatchKt { + public static final fun getDisableStoryAutoFlippingPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/irplus/ad/RemoveAdsPatchKt { public static final fun getRemoveAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/DisableStoryAutoFlippingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/DisableStoryAutoFlippingPatch.kt new file mode 100644 index 0000000000..172f7dce75 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/DisableStoryAutoFlippingPatch.kt @@ -0,0 +1,17 @@ +package app.revanced.patches.instagram.story.flipping + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +@Suppress("unused") +val disableStoryAutoFlippingPatch = bytecodePatch( + name = "Disable story auto flipping", + description = "Disable stories automatically flipping/skipping after some seconds.", + use = false +) { + compatibleWith("com.instagram.android") + + execute { + onStoryTimeoutActionFingerprint.method.returnEarly() + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/Fingerprints.kt new file mode 100644 index 0000000000..3562dbde6b --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/story/flipping/Fingerprints.kt @@ -0,0 +1,12 @@ +package app.revanced.patches.instagram.story.flipping + +import app.revanced.patcher.fingerprint + +internal val onStoryTimeoutActionFingerprint = fingerprint { + parameters("Ljava/lang/Object;") + returns("V") + strings("userSession") + custom { _, classDef -> + classDef.type == "Linstagram/features/stories/fragment/ReelViewerFragment;" + } +} From 98371be33cf0748d0e1d9eaf35bf5db986aeae0e Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 12 Nov 2025 07:46:04 +0000 Subject: [PATCH 07/11] chore: Release v5.47.0-dev.3 [skip ci] # [5.47.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.2...v5.47.0-dev.3) (2025-11-12) ### Features * **Instagram:** Add `Disable auto story flipping` patch ([#6262](https://github.com/ReVanced/revanced-patches/issues/6262)) ([2f0de15](https://github.com/ReVanced/revanced-patches/commit/2f0de15e67e4f99ed6ecdc136d04cceb23b0d069)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f6ab8340c..edfb0d9313 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.47.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.2...v5.47.0-dev.3) (2025-11-12) + + +### Features + +* **Instagram:** Add `Disable auto story flipping` patch ([#6262](https://github.com/ReVanced/revanced-patches/issues/6262)) ([2f0de15](https://github.com/ReVanced/revanced-patches/commit/2f0de15e67e4f99ed6ecdc136d04cceb23b0d069)) + # [5.47.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.1...v5.47.0-dev.2) (2025-11-12) diff --git a/gradle.properties b/gradle.properties index cdac4cf3ab..805d43cfe3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.47.0-dev.2 +version = 5.47.0-dev.3 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 08/11] 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 853ced003f..941279f29b 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 String sanitizeUrlString(String url) { 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()) { From 15675b51645650a18879d7eb73d96cffd10d3c98 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 12 Nov 2025 19:01:00 +0000 Subject: [PATCH 09/11] chore: Release v5.47.0-dev.4 [skip ci] # [5.47.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.3...v5.47.0-dev.4) (2025-11-12) ### Bug Fixes * **YouTube - Sanitize sharing links:** Handle non hierarchical urls ([654d091](https://github.com/ReVanced/revanced-patches/commit/654d091e650cda37650b57cbf3ba6f1cdd6d47d3)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index edfb0d9313..58b960c8c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.47.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.3...v5.47.0-dev.4) (2025-11-12) + + +### Bug Fixes + +* **YouTube - Sanitize sharing links:** Handle non hierarchical urls ([654d091](https://github.com/ReVanced/revanced-patches/commit/654d091e650cda37650b57cbf3ba6f1cdd6d47d3)) + # [5.47.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.2...v5.47.0-dev.3) (2025-11-12) diff --git a/gradle.properties b/gradle.properties index 805d43cfe3..ae9eb09037 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.47.0-dev.3 +version = 5.47.0-dev.4 From 9495cf49ef8a872be64de6c971c1919b4b9a8720 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Thu, 13 Nov 2025 09:40:28 +0200 Subject: [PATCH 10/11] fix(YouTube - Hide player flyout menu items): Allow hiding audio menu with 'Android No SDK' client type --- .../shared/spoof/SpoofVideoStreamsPatch.java | 2 +- .../components/LayoutComponentsFilter.java | 27 +++++++++---------- .../PlayerFlyoutMenuItemsFilter.java | 6 +---- .../resources/addresources/values/strings.xml | 5 ++-- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index 77ef1a663d..38fbac9938 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -72,7 +72,7 @@ public static ClientType getPreferredClient() { public static boolean spoofingToClientWithNoMultiAudioStreams() { return isPatchIncluded() && SPOOF_STREAMING_DATA - && preferredClient != ClientType.IPADOS; + && !preferredClient.supportsMultiAudioTracks; } /** diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index c096e17e8d..00429359f2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -21,13 +21,14 @@ @SuppressWarnings("unused") public final class LayoutComponentsFilter extends Filter { - private static final StringTrieSearch mixPlaylistsExceptions = new StringTrieSearch( + private static final StringTrieSearch mixPlaylistsContextExceptions = new StringTrieSearch( "V.ED", // Playlist browse id. "java.lang.ref.WeakReference" ); - private static final ByteArrayFilterGroup mixPlaylistsExceptions2 = new ByteArrayFilterGroup( + private static final ByteArrayFilterGroup mixPlaylistsBufferExceptions = new ByteArrayFilterGroup( null, - "cell_description_body" + "cell_description_body", + "channel_profile" ); private static final ByteArrayFilterGroup mixPlaylists = new ByteArrayFilterGroup( null, @@ -380,17 +381,15 @@ public static boolean filterMixPlaylists(Object conversionContext, @Nullable fin return false; } - // Prevent playlist items being hidden, if a mix playlist is present in it. - if (mixPlaylistsExceptions.matches(conversionContext.toString())) { - return false; - } - - // Prevent hiding the description of some videos accidentally. - if (mixPlaylistsExceptions2.check(bytes).isFiltered()) { - return false; - } - - if (mixPlaylists.check(bytes).isFiltered()) { + if (mixPlaylists.check(bytes).isFiltered() + // Prevent hiding the description of some videos accidentally. + && !mixPlaylistsBufferExceptions.check(bytes).isFiltered() + // Prevent playlist items being hidden, if a mix playlist is present in it. + // Check last since it requires creating a context string. + // + // FIXME: The conversion context passed in does not always generate a valid toString. + // This string check may no longer be needed, or the patch may be broken. + && !mixPlaylistsContextExceptions.matches(conversionContext.toString())) { Logger.printDebug(() -> "Filtered mix playlist"); return true; } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java index 1872e6856b..eae4eacfc7 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java @@ -12,13 +12,9 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { public static final class HideAudioFlyoutMenuAvailability implements Setting.Availability { - private static final boolean AVAILABLE_ON_LAUNCH = !SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams(); - @Override public boolean isAvailable() { - // Check conditions of launch and now. Otherwise if spoofing is changed - // without a restart the setting will show as available when it's not. - return AVAILABLE_ON_LAUNCH && !SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams(); + return !SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams(); } @Override diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 3a5c692014..38c3bfb9db 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -807,10 +807,11 @@ If changing this setting does not take effect, try switching to Incognito mode." Hide Audio track Audio track menu is hidden Audio track menu is shown - + "Audio track menu is hidden -To show the Audio track menu, change \'Spoof video streams\' to iPadOS" +To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK\'" Hide Watch in VR Watch in VR menu is hidden From fff29544b9c8d564f62ded1e623174187d2a9d31 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 13 Nov 2025 07:44:09 +0000 Subject: [PATCH 11/11] chore: Release v5.47.0-dev.5 [skip ci] # [5.47.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.4...v5.47.0-dev.5) (2025-11-13) ### Bug Fixes * **YouTube - Hide player flyout menu items:** Allow hiding audio menu with 'Android No SDK' client type ([9495cf4](https://github.com/ReVanced/revanced-patches/commit/9495cf49ef8a872be64de6c971c1919b4b9a8720)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58b960c8c4..29604d003b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.47.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.4...v5.47.0-dev.5) (2025-11-13) + + +### Bug Fixes + +* **YouTube - Hide player flyout menu items:** Allow hiding audio menu with 'Android No SDK' client type ([9495cf4](https://github.com/ReVanced/revanced-patches/commit/9495cf49ef8a872be64de6c971c1919b4b9a8720)) + # [5.47.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.47.0-dev.3...v5.47.0-dev.4) (2025-11-12) diff --git a/gradle.properties b/gradle.properties index ae9eb09037..259dd9b053 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.47.0-dev.4 +version = 5.47.0-dev.5