From 75639907502382f63fa127a886362d4a4573e6e3 Mon Sep 17 00:00:00 2001 From: ADudeCalledLeo <7997354+Leo40Git@users.noreply.github.com> Date: Tue, 14 Oct 2025 21:16:01 +0300 Subject: [PATCH 01/11] fix(X / Twitter - Change link sharing domain): Resolve duplicate patch option (#6119) --- .../links/ChangeLinkSharingDomainPatch.java | 2 +- .../links/ChangeLinkSharingDomainPatch.kt | 23 ++++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java index e5a41e028..60b2d5cb5 100644 --- a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java @@ -2,7 +2,7 @@ package app.revanced.twitter.patches.links; @SuppressWarnings("unused") public final class ChangeLinkSharingDomainPatch { - private static final String LINK_FORMAT = "%s/%s/status/%s"; + private static final String LINK_FORMAT = "https://%s/%s/status/%s"; /** * Method is modified during patching. Do not change. 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 106d8abe6..406297abb 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 @@ -15,9 +15,9 @@ import java.util.logging.Logger internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch;" -internal val domainNameOption by stringOption( +internal val domainNameOption = stringOption( key = "domainName", - default = "https://fxtwitter.com", + default = "fxtwitter.com", title = "Domain name", description = "The domain name to use when sharing links.", required = true, @@ -28,7 +28,7 @@ internal val domainNameOption by stringOption( // may not allow network connections or the network may be down. try { InetAddress.getByName(it) - } catch (e: UnknownHostException) { + } catch (_: UnknownHostException) { Logger.getLogger(this::class.java.name).warning( "Host \"$it\" did not resolve to any domain." ) @@ -38,13 +38,9 @@ internal val domainNameOption by stringOption( internal val changeLinkSharingDomainResourcePatch = resourcePatch { execute { - val domainName = domainNameOption!! + val domainName = domainNameOption.value!! - val shareLinkTemplate = if (domainName.endsWith("/")) { - "$domainName%1\$s/status/%2\$s" - } else { - "$domainName/%1\$s/status/%2\$s" - } + val shareLinkTemplate = "https://$domainName/%1\$s/status/%2\$s" document("res/values/strings.xml").use { document -> document.documentElement.childNodes.findElementByAttributeValueOrThrow( @@ -58,7 +54,8 @@ internal val changeLinkSharingDomainResourcePatch = resourcePatch { @Suppress("unused") val changeLinkSharingDomainPatch = bytecodePatch( name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN, - description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN + description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN, + use = false ) { dependsOn( changeLinkSharingDomainResourcePatch, @@ -72,11 +69,11 @@ val changeLinkSharingDomainPatch = bytecodePatch( ) ) - execute { - val domainName = domainNameOption!! + val domainName by domainNameOption() + execute { // Replace the domain name in the link sharing extension methods. - linkSharingDomainHelperFingerprint.method.returnEarly(domainName) + linkSharingDomainHelperFingerprint.method.returnEarly(domainName!!) // Replace the domain name when copying a link with "Copy link" button. linkBuilderFingerprint.method.addInstructions( From 949d6bdd193ed3b5ae62c5e4d4f82388e28dc4b2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 14 Oct 2025 18:19:42 +0000 Subject: [PATCH 02/11] chore: Release v5.43.1-dev.1 [skip ci] ## [5.43.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.0...v5.43.1-dev.1) (2025-10-14) ### Bug Fixes * **X / Twitter - Change link sharing domain:** Resolve duplicate patch option ([#6119](https://github.com/ReVanced/revanced-patches/issues/6119)) ([7563990](https://github.com/ReVanced/revanced-patches/commit/75639907502382f63fa127a886362d4a4573e6e3)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5c493aeb..0410460ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.43.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.0...v5.43.1-dev.1) (2025-10-14) + + +### Bug Fixes + +* **X / Twitter - Change link sharing domain:** Resolve duplicate patch option ([#6119](https://github.com/ReVanced/revanced-patches/issues/6119)) ([7563990](https://github.com/ReVanced/revanced-patches/commit/75639907502382f63fa127a886362d4a4573e6e3)) + # [5.43.0](https://github.com/ReVanced/revanced-patches/compare/v5.42.1...v5.43.0) (2025-10-14) diff --git a/gradle.properties b/gradle.properties index 77c7595a8..dac0d4988 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.43.0 +version = 5.43.1-dev.1 From 2a1e31860f22f537d51b40a5b71d9ad9d538789e Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:42:15 +0400 Subject: [PATCH 03/11] fix(X / Twitter): Do not crash Manager when clicking on domain patch option --- .../spotify/misc/lyrics/ChangeLyricsProviderPatch.kt | 6 +++++- .../twitter/misc/links/ChangeLinkSharingDomainPatch.kt | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/lyrics/ChangeLyricsProviderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/lyrics/ChangeLyricsProviderPatch.kt index 6adaec7c7..16253bd38 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/lyrics/ChangeLyricsProviderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/lyrics/ChangeLyricsProviderPatch.kt @@ -47,11 +47,15 @@ val changeLyricsProviderPatch = bytecodePatch( // may not allow network connections or the network may be down. try { InetAddress.getByName(host) - } catch (e: UnknownHostException) { + } catch (_: UnknownHostException) { Logger.getLogger(this::class.java.name).warning( "Host \"$host\" did not resolve to any domain." ) + } catch (_: Exception) { + // Must ignore any kind of exception. Trying to resolve network + // on Manager throws android.os.NetworkOnMainThreadException } + true } 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 406297abb..57120d70b 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 @@ -32,7 +32,11 @@ internal val domainNameOption = stringOption( Logger.getLogger(this::class.java.name).warning( "Host \"$it\" did not resolve to any domain." ) + } catch (_: Exception) { + // Must ignore any kind of exception. Trying to resolve network + // on Manager throws android.os.NetworkOnMainThreadException } + true } From 7a1dcbd4ee4b2d22e63371da4e11249ebc367c58 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 14 Oct 2025 19:47:15 +0000 Subject: [PATCH 04/11] chore: Release v5.43.1-dev.2 [skip ci] ## [5.43.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.43.1-dev.1...v5.43.1-dev.2) (2025-10-14) ### Bug Fixes * **X / Twitter:** Do not crash Manager when clicking on domain patch option ([2a1e318](https://github.com/ReVanced/revanced-patches/commit/2a1e31860f22f537d51b40a5b71d9ad9d538789e)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0410460ff..4b93cd1c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.43.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.43.1-dev.1...v5.43.1-dev.2) (2025-10-14) + + +### Bug Fixes + +* **X / Twitter:** Do not crash Manager when clicking on domain patch option ([2a1e318](https://github.com/ReVanced/revanced-patches/commit/2a1e31860f22f537d51b40a5b71d9ad9d538789e)) + ## [5.43.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.0...v5.43.1-dev.1) (2025-10-14) diff --git a/gradle.properties b/gradle.properties index dac0d4988..972d0112c 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.43.1-dev.1 +version = 5.43.1-dev.2 From bbec724afb9eebccf3ffe801640cd32a8875aee2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:11:47 +0400 Subject: [PATCH 05/11] chore: Sync translations (#6124) --- .../addresources/values-ga-rIE/strings.xml | 68 +++++++++---------- .../addresources/values-ja-rJP/strings.xml | 8 +-- .../addresources/values-ko-rKR/strings.xml | 4 +- 3 files changed, 40 insertions(+), 40 deletions(-) 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 a5f4c5ac7..496a69f74 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -415,7 +415,7 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu Tá scagaire saincheaptha míchumasaithe Scagaire saincheaptha - Liosta de na teaghráin tógála cosáin comhpháirteanna le scagadh scartha le líne nua + Liosta de na teaghráin tógálaí cosáin chomhpháirte le scagadh scartha le líne nua Scagaire saincheaptha neamhbhailí: %s Folaigh líon radharcanna Tá líon radharcanna i bhfolach sa fhotha agus sna torthaí cuardaigh @@ -434,14 +434,14 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu Folaigh ábhair eochairfhocal Folaigh físeáin chuardaigh agus fotha ag baint úsáide as scagairí eochairfhocail Folaigh físeáin bhaile de réir eochair - Scagtar físeáin sa chluaisín baile de réir eochairfhocail - Ní scagtar físeáin sa chluaisín baile de réir eochairfhocail + Déantar físeáin sa chluaisín Baile a scagadh de réir eochairfhocail + Ní dhéantar físeáin sa chluaisín Baile a scagadh de réir eochairfhocail Folaigh torthaí cuardaigh de réir eochairfhocail Déantar torthaí cuardaigh a scagadh de réir eochairfhocail - Ní scagtar torthaí cuardaigh ag eochairfhocail + Ní dhéantar torthaí cuardaigh a scagadh de réir eochairfhocail Folaigh físeáin síntiúis de réir eochairfhocail Déantar físeáin sa chluaisín síntiús a scagadh de réir eochairfhocail - Ní scagtar físeáin sa chluaisín síntiúis ag eochairfhocail + Ní dhéantar físeáin sa chluaisín Síntiúis a scagadh de réir eochairfhocail Eochairfhocail le cur i bhfolach @@ -451,7 +451,7 @@ Is féidir le focail a bheith ina ainmneacha cainéil nó aon fhocal a thaispeá Ní mór focail le litreacha móra sa lár a chur isteach leis an gcású (ie: iPhone, TikTok, LeBlanc)" Maidir le scagadh eochairfhocal - "Scagaire a chuirtear ar thorthaí Baile / Liostáil / Cuardaigh chun ábhar a fhreagraíonn frásaí focail a chur i bhfolach + "Baile/Síntiúis/Déantar torthaí cuardaigh a scagadh chun ábhar a mheaitseálann frásaí eochairfhocail a cheilt Teorainneacha • Ní féidir Shorts a chur i bhfolach de réir ainm cainéil @@ -470,10 +470,10 @@ Teorainneacha Folaigh seilf siopa an chruthaitheora Seilf siopa an chruthaitheora faoin imreoir físeáin i bhfolach - Tá seilf stórais cruthaitheora faoin imreoir físeáin ar taispeáint + Taispeántar seilf siopa na gcruthaitheoirí faoin seinnteoir físeáin Folaigh brat bhranda siopa scáileáin deiridh Meirge siopa scáileáin deiridh i bhfolach - Meirge siopa scáileáin deiridh taispeánta + Taispeántar meirge siopa scáileáin deiridh Folaigh fógraí lánscáileáin "Tá fógraí lána scáileáin i bhfolach @@ -489,24 +489,24 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine" Taispeántar meirgí marsantais Folaigh lipéad chun cinn íoctha Tá an lipéad promóisin íoctha i bhfolach - Taispeántar lipéad promóisin íoctha + Taispeántar lipéad an chur chun cinn íoctha Folaigh cártaí féin-urraithe Tá cártaí féin-urraithe i bhfolach Taispeántar cártaí féin-urraithe Folaigh naisc siopadóireachta Naisc siopadóireachta i gcur síos físeáin i bhfolach Tá naisc siopadóireachta i gcur síos an fhíseáin ar taispeáint - Folaigh an meirge \'Féach ar tháirgí\' - Meigeán \'Féach táirgí\' i bhforleagan físeáin i bhfolach - Meigeán \'Féach táirgí\' i bhforleagan físeáin taispeánta + Folaigh meirge táirgí + Tá an meirge féach táirgí i bhfolach sa fhorleagan físe + Taispeántar meirge féach táirgí i bhforleagan físe Folaigh torthaí cuardaigh gréasáin Tá torthaí cuardaigh gréasáin i bhfolach Taispeántar torthaí cuardaigh gréasáin - Folaigh cur chun cinn Préimhe YouTube + Folaigh ardú céime YouTube Premium Tá cur chun cinn YouTube Premium faoi seinnteoir físe i bhfolach - Taispeántar cur chun cinn préimhe YouTube faoi seinnteoir físe + Taispeántar ardú céime YouTube Premium faoin seinnteoir físe Folaigh fógraí físe @@ -516,8 +516,8 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine" URL cóipeáilte chuig gearr URL le stampa ama cóipeáilte - Taispeáin cnaipe URL físe cóipeáil - Taispeántar an cnaipe. Tapáil chun URL an fhíseáin a chóipeáil. Tapáil agus coinnigh chun a chóipeáil le stampa ama + Taispeáin an cnaipe cóipeála URL an fhíseáin + Taispeántar an cnaipe. Tapáil chun URL an fhíseáin a chóipeáil. Tapáil agus coinnigh síos chun cóipeáil leis an stampa ama Ní thaispeántar an cnaipe Taispeáin cnaipe URL stampa ama cóipeáil Taispeántar an cnaipe. Tapáil chun URL físeáin a chóipeáil le stampa ama. Tapáil agus coinnigh chun cóip a dhéanamh gan stampa ama @@ -531,25 +531,25 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine" Díchumasaigh an Aníos Sínigh Isteach sa Teilifís - Tá an Aníos Sínigh Isteach sa Teilifís díchumasaithe - Tá an Aníos Sínigh Isteach sa Teilifís cumasaithe + Tá preab aníos sínithe isteach sa teilifís díchumasaithe + Tá preab aníos sínithe isteach sa teilifís cumasaithe Díchumasaigh scipeáil caibidle le sconna dúbailte - Ní féidir le sconna dúbailte scipeáil chuig an gcéad chaibidil eile/roimhe seo a spreagadh go deo + Ní féidir léim go dtí an chéad chaibidil eile/roimhe seo a spreagadh le tapáil faoi dhó Is féidir le sconna dúbailte scipeáil chuig an gcéad chaibidil eile/roimhe seo a spreagadh ó am go chéile Íosluchtaigh seachtracha Socruithe chun íoslódálaí seachtrach a úsáid - Taispeáin cnaipe íoslódála + Taispeáin cnaipe íoslódála seachtrach Taispeántar cnaipe íoslódála sa seinnteoir Ní thaispeántar cnaipe íoslódála sa seinnteoir - Cur síos ar an gcnaipe gnímh Íoslódáil seachtrach + Sáraigh an cnaipe Íosluchtaigh gníomh Osclaíonn an cnaipe íoslódála do íoslódálaí seachtrach - Osclaíonn an cnaipe íoslódála an t-íoslódálaí dúchais in-app - Ainm pacáiste íoslódáil + Osclaíonn an cnaipe íoslódála an íoslódálaí dúchasach san aip + Ainm pacáiste íoslódálaí Ainm an phacáiste de d\'aip íoslódálaí seachtrach suiteáilte Iontráil ainm an phacáiste Eile @@ -1383,14 +1383,14 @@ Teorainn: Seans nach n-oibreoidh úsáid a bhaint as an gcnaipe cúil ar an mbar Díchumasaíodh gníomh tapáil faoi dhó agus pinch chun méid a athrú Díchumasaigh tarraing agus scaoil Tá tarraing agus scaoil díchumasaithe - "Tá drag-and-drop cumasaithe + "Tá tarraing agus scaoil cumasaithe -Is féidir an mhion-imreoir a tharraingt go haon chúinne den scáileán" +Is féidir an mini-imreoir a tharraingt chuig aon chúinne den scáileán" Díchumasaigh gotha tarraingthe cothrománach - Díchumasaíodh an comhartha tarraingthe cothrománach - "Cumasaithe geastú tarraingthe cothrománach + Gotha tarraingthe cothrománach díchumasaithe + "Gotha tarraingthe cothrománach cumasaithe -Is féidir an mhion-imreoir a tharraingt as an scáileán ar chlé nó ar dheis" +Is féidir an mini-imreoir a tharraingt amach as an scáileán ar chlé nó ar dheis" Folaigh cnaipí forleathana Tá cnaipí forleathana i bhfolach Taispeántar cnaipí forleathana @@ -1405,7 +1405,7 @@ Is féidir an mhion-imreoir a tharraingt as an scáileán ar chlé nó ar dheis" Caithfidh méid picteilíní a bheith idir %1$s agus %2$s Trédhearcacht forleagan Luach trédhearcachta idir 0-100, áit a bhfuil 0 trédhearcach - Caithfidh trédhearcacht forleagtha mionaimreora a bheith idir 0-100 + Caithfidh teimhneacht forleagan mion-imreoir a bheith idir 0-100 Cumasaigh scáileán luchtaithe @@ -1417,16 +1417,16 @@ Is féidir an mhion-imreoir a tharraingt as an scáileán ar chlé nó ar dheis" Cumasaigh dath barra cuardaigh saincheaptha Taispeántar dath barra cuardaigh saincheaptha Taispeántar dath barr cuardaigh bunaidh - Dath Pearsanta Bar Taispillte - Dath an bhar taispillte - Dath Accent Pearsanta Bar Taispillte - Dath accent an bhar taispillte + Dath barra cuardaigh saincheaptha + Dath an bharra cuardaigh + Dath béime saincheaptha an bharra cuardaigh + Dath béime an bharra cuardaigh Luach datha barra cuardaigh neamhbhailí - Lógó Ceanntáisc + Lógó ceanntásca Réamhshocrú Rialta diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 94c67bc1f..996b775e5 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -304,8 +304,8 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 医療情報パネルは表示されません 医療情報パネルは表示されます クイック アクションを非表示 - 全画面表示のクイック アクションは表示されません - 全画面表示のクイック アクションは表示されます + 全画面表示モードのクイック アクションは表示されません + 全画面表示モードのクイック アクションは表示されます 関連動画を非表示 クイック アクション内の関連動画は表示されません クイック アクション内の関連動画は表示されます @@ -972,8 +972,8 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 関連動画オーバーレイを非表示 - 全画面表示の関連動画オーバーレイは表示されません - 全画面表示の関連動画オーバーレイは表示されます + 全画面表示モードの関連動画オーバーレイは表示されません + 全画面表示モードの関連動画オーバーレイは表示されます 動画のタイムスタンプを非表示 diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 62453711f..5817517b5 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -885,8 +885,8 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 새로운 게시물 버튼이 숨겨집니다 새로운 게시물 버튼이 표시됩니다 일시 정지 오버레이 버튼 숨기기 - 일시 정지 오버레이 버튼이 숨겨집니다 - 일시 정지 오버레이 버튼이 표시됩니다 + 플레이어 왼쪽 상단에서 다음 버튼들이 숨겨집니다\n• 구독 & 라이브 & 렌즈 & 트렌드 & 쇼핑 + 플레이어 왼쪽 상단에서 다음 버튼들이 표시됩니다\n• 구독 & 라이브 & 렌즈 & 트렌드 & 쇼핑 댓글 미리보기 숨기기 댓글 미리보기가 숨겨집니다 댓글 미리보기가 표시됩니다 From 96454c843b3cec4fa55f85eca54fa4714b71c5e2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 15 Oct 2025 08:15:15 +0000 Subject: [PATCH 06/11] chore: Release v5.43.1 [skip ci] ## [5.43.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.0...v5.43.1) (2025-10-15) ### Bug Fixes * **X / Twitter - Change link sharing domain:** Resolve duplicate patch option ([#6119](https://github.com/ReVanced/revanced-patches/issues/6119)) ([7563990](https://github.com/ReVanced/revanced-patches/commit/75639907502382f63fa127a886362d4a4573e6e3)) * **X / Twitter:** Do not crash Manager when clicking on domain patch option ([2a1e318](https://github.com/ReVanced/revanced-patches/commit/2a1e31860f22f537d51b40a5b71d9ad9d538789e)) --- CHANGELOG.md | 8 ++++++++ gradle.properties | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b93cd1c2..64c7f0178 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [5.43.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.0...v5.43.1) (2025-10-15) + + +### Bug Fixes + +* **X / Twitter - Change link sharing domain:** Resolve duplicate patch option ([#6119](https://github.com/ReVanced/revanced-patches/issues/6119)) ([7563990](https://github.com/ReVanced/revanced-patches/commit/75639907502382f63fa127a886362d4a4573e6e3)) +* **X / Twitter:** Do not crash Manager when clicking on domain patch option ([2a1e318](https://github.com/ReVanced/revanced-patches/commit/2a1e31860f22f537d51b40a5b71d9ad9d538789e)) + ## [5.43.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.43.1-dev.1...v5.43.1-dev.2) (2025-10-14) diff --git a/gradle.properties b/gradle.properties index 972d0112c..f53b377e9 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.43.1-dev.2 +version = 5.43.1 From 0af8c8a766ae4ba6926404d59da2f14d649f91f7 Mon Sep 17 00:00:00 2001 From: ADudeCalledLeo <7997354+Leo40Git@users.noreply.github.com> Date: Thu, 16 Oct 2025 22:29:01 +0300 Subject: [PATCH 07/11] fix(X / Twitter - Change link sharing domain): Use bytecode patching to resolve patching with Manager (#6125) --- .../links/ChangeLinkSharingDomainPatch.java | 10 +++++++ .../links/ChangeLinkSharingDomainPatch.kt | 28 +++++++++++++++++-- .../twitter/misc/links/Fingerprints.kt | 13 +++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java index 60b2d5cb5..0be07403b 100644 --- a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java @@ -11,6 +11,16 @@ public final class ChangeLinkSharingDomainPatch { return ""; } + // TODO remove this once changeLinkSharingDomainResourcePatch is restored + /** + * Injection point. + */ + public static String formatResourceLink(Object... formatArgs) { + String username = (String) formatArgs[0]; + String tweetId = (String) formatArgs[1]; + return String.format(LINK_FORMAT, getShareDomain(), username, tweetId); + } + /** * Injection point. */ 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 57120d70b..1a2c99f59 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 @@ -1,14 +1,17 @@ package app.revanced.patches.twitter.misc.links import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patcher.patch.resourcePatch import app.revanced.patcher.patch.stringOption import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN import app.revanced.patches.twitter.misc.extension.sharedExtensionPatch -import app.revanced.util.findElementByAttributeValueOrThrow +import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.returnEarly +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction import java.net.InetAddress import java.net.UnknownHostException import java.util.logging.Logger @@ -40,6 +43,8 @@ internal val domainNameOption = stringOption( true } +// TODO restore this once Manager uses a fixed version of Patcher +/* internal val changeLinkSharingDomainResourcePatch = resourcePatch { execute { val domainName = domainNameOption.value!! @@ -54,6 +59,7 @@ internal val changeLinkSharingDomainResourcePatch = resourcePatch { } } } +*/ @Suppress("unused") val changeLinkSharingDomainPatch = bytecodePatch( @@ -62,7 +68,6 @@ val changeLinkSharingDomainPatch = bytecodePatch( use = false ) { dependsOn( - changeLinkSharingDomainResourcePatch, sharedExtensionPatch, ) @@ -88,5 +93,22 @@ val changeLinkSharingDomainPatch = bytecodePatch( return-object p0 """ ) + + // TODO remove this once changeLinkSharingDomainResourcePatch is restored + // Replace the domain name in the "Share via..." dialog. + linkResourceGetterFingerprint.method.apply { + val templateIdConstIndex = indexOfFirstInstructionOrThrow(Opcode.CONST) + + // Format the link with the new domain name register (1 instruction below the const). + val formatLinkCallIndex = templateIdConstIndex + 1 + val register = getInstruction(formatLinkCallIndex).registerE + + // Replace the original method call with the new method call. + replaceInstruction( + formatLinkCallIndex, + "invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->" + + "formatResourceLink([Ljava/lang/Object;)Ljava/lang/String;", + ) + } } } diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/Fingerprints.kt index 9dbd7aeb1..6117798eb 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/Fingerprints.kt @@ -1,6 +1,7 @@ package app.revanced.patches.twitter.misc.links import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags internal val openLinkFingerprint = fingerprint { returns("V") @@ -17,6 +18,18 @@ internal val linkBuilderFingerprint = fingerprint { strings("/%1\$s/status/%2\$d") } +// TODO remove this once changeLinkSharingDomainResourcePatch is restored +// Returns a shareable link for the "Share via..." dialog. +internal val linkResourceGetterFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + parameters("Landroid/content/res/Resources;") + custom { _, classDef -> + classDef.fields.any { field -> + field.type.startsWith("Lcom/twitter/model/core/") + } + } +} + internal val linkSharingDomainHelperFingerprint = fingerprint { custom { method, classDef -> method.name == "getShareDomain" && classDef.type == EXTENSION_CLASS_DESCRIPTOR From 14dd7346a8a890a4dcdf257d0b1f27df74d1d906 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 16 Oct 2025 19:37:32 +0000 Subject: [PATCH 08/11] chore: Release v5.43.2-dev.1 [skip ci] ## [5.43.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.1...v5.43.2-dev.1) (2025-10-16) ### Bug Fixes * **X / Twitter - Change link sharing domain:** Use bytecode patching to resolve patching with Manager ([#6125](https://github.com/ReVanced/revanced-patches/issues/6125)) ([0af8c8a](https://github.com/ReVanced/revanced-patches/commit/0af8c8a766ae4ba6926404d59da2f14d649f91f7)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64c7f0178..d7d50d203 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.43.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.1...v5.43.2-dev.1) (2025-10-16) + + +### Bug Fixes + +* **X / Twitter - Change link sharing domain:** Use bytecode patching to resolve patching with Manager ([#6125](https://github.com/ReVanced/revanced-patches/issues/6125)) ([0af8c8a](https://github.com/ReVanced/revanced-patches/commit/0af8c8a766ae4ba6926404d59da2f14d649f91f7)) + ## [5.43.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.0...v5.43.1) (2025-10-15) diff --git a/gradle.properties b/gradle.properties index f53b377e9..847b69190 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.43.1 +version = 5.43.2-dev.1 From 644d6dcb51fac9fef996f0268d0def241b3f4c2d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 18 Oct 2025 01:08:27 +0400 Subject: [PATCH 09/11] chore: Sync translations (#6142) --- .../addresources/values-fi-rFI/strings.xml | 18 +- .../addresources/values-fr-rFR/strings.xml | 2 +- .../addresources/values-ga-rIE/strings.xml | 194 +++++++++--------- .../addresources/values-ja-rJP/strings.xml | 48 ++--- 4 files changed, 130 insertions(+), 132 deletions(-) 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 4e5ccb0f9..4662ae628 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -1158,13 +1158,13 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään. Se osa videota, jota useimmat ihmiset etsivät Tauko/Introanimaatio Aikaväli ilman varsinaista sisältöä. Voi olla tauko, staattinen kehys tai toistuva animaatio. Ei sisällä siirtymiä, jotka sisältävät tietoa - Loppukortit / Tekijätiedot + Loppukortit / -tekstit Lopputekstit tai kun YouTuben loppukortit tulevat näkyviin. Ei lopetuksille, joissa on tietoa Koukku / Tervehdykset Kertovat trailerit tulevasta videosta, tervehdykset ja hyvästelyt. Ei sisällä osioita, jotka lisäävät lisäsisältöä - Esikatselu / Yhteenveto + Esikatselu / Kertaus Kokoelma leikkeitä, jotka osoittavat, mitä on tulossa tai mitä tapahtui videossa tai muissa sarjan videoissa, joiden kaikki informaatio toistuu muualla - Tangentti / Vitsit + Toissijaiset kohtaukset / Vitsit Epäolennaiset kohtaukset tai vitsit, joita ei tarvita videon pääsisällön ymmärtämiseen. Ei sisällä osioita, jotka tarjoavat kontekstia tai taustatietoja Musiikki: Musiikiton osa Vain musiikkivideoille. Musiikkivideoiden osiot ilman musiikkia, jotka eivät jo kuulu toiseen kategoriaan @@ -1182,7 +1182,7 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään. Ohita esikatselu Ohita esikatselu Ohita kertaus - Ohita Tangentti + Ohita toissijainen kohtaus Ohita musiikiton Ohita osio Sponsori ohitettiin @@ -1193,11 +1193,11 @@ UserID on kuin salasana, eikä sitä pidä jakaa kenellekään. Tauko ohitettiin Tauko ohitettiin Outro ohitettiin - Ohitettu koukku + Koukku ohitettiin Esikatselu ohitettiin Esikatselu ohitettiin Kertaus ohitettiin - Ohitettu tangentti + Toissijainen kohtaus ohitettiin Musiikiton osio ohitettiin Lähettämätön osio ohitettiin Useita osioita ohitettiin @@ -1254,7 +1254,7 @@ Oletko valmis lähettämään?" Annettu aika on virheellinen Tilastot - Tilastot eivät tilapäisesti saatavilla (API ei ole käytettävissä) + Tilastot eivät ole tilapäisesti saatavilla (API ei ole käytettävissä) Ladataan... SponsorBlock ei ole käytössä Käyttäjänimesi: <b>%s</b> @@ -1265,11 +1265,11 @@ Oletko valmis lähettämään?" Olet luonut <b>%s</b> osiota Napauta tästä nähdäksesi osiosi SponsorBlock-tulostaulu - Olet pelastanut ihmisiä <b>%s</b> segmentiltä + Olet pelastanut ihmisiä <b>%s</b> osiolta Napauta tästä nähdäksesi globaalit tilastot ja parhaat osallistujat Se on <b>%s</b> heidän elämistään.<br>Napauta tästä nähdäksesi tulostaulun Olet ohittanut <b>%s</b> osiota - Tuo on <b>%s</b> + Se on <b>%s</b> Nollataanko ohitettujen osioiden laskuri? %1$s tuntia %2$s minuuttia %1$s minuuttia %2$s sekuntia 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 c4e413064..5469dd10c 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -24,7 +24,7 @@ Second \"item\" text" Nom de l\'application - Personnalisée + Personnalisé Icône de l\'application Originale 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 496a69f74..bc3ebfd57 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -555,87 +555,85 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine" Eile Níl an aip suiteáilte Níl %s suiteáilte. Suiteáil é le do thoil. - "Níorbh fhéidir an aip suiteáilte a aimsiú le hainm an phacáiste: %s - -Deimhnigh go bhfuil ainm an phacáiste ceart agus go bhfuil an aip suiteáilte" - Ní féidir le hainm an phacáiste a bheith folamh + "Níorbh fhéidir an aip suiteáilte a aimsiú le hainm an phacáiste: %s\n\nDeimhnigh go bhfuil ainm an phacáiste ceart agus go bhfuil an aip suiteáilte" + Ní féidir ainm an phacáiste a fhágáil folamh Díchumasaigh comhartha cuardaigh beacht - Tá comhartha míchumasaithe - Tá comhartha cumasaithe + Tá gotha ​​cuardaigh chruinn díchumasaithe + Tá gotha ​​cuardaigh chruinn cumasaithe - Cumasaigh sconna chun lorg a dhéanamh - Tá sconna chun cuardach a dhéanamh cumasaithe - Tá sconna chun lorg a dhéanamh díchumasaithe + Cumasaigh tapáil chun cuardach a dhéanamh + Tá tapáil chun cuardach cumasaithe + Tá tapáil chun cuardach a dhíchumasaithe - Cumasaigh comhartha gile - "Tá swipe gile lánscáileáin cumasaithe + Cumasaigh gotha ​​gile + "Tá swipeáil gile lánscáileáin cumasaithe -Coigeartaigh gile trí swipe a dhéanamh go hingearach ar thaobh na láimhe clé den scáileán" - Tá swipe gile lánscáileáin díchumasaithe - Cumasaigh comhartha toirte - "Tá an haiscairt toirte lánscáileáin cumasaithe. +Coigeartaigh gile trí swipeáil go hingearach ar thaobh clé an scáileáin" + Tá svaidhpeáil gile lánscáileáin díchumasaithe + Cumasaigh gotha ​​toirte + "Tá swipeáil toirte lánscáileáin cumasaithe -Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáileáin" - Tá an haiscairt toirte lánscáileáin díchumasaithe - Cumasaigh brúigh chun haisc a chur i ngníomh - Tá brúigh chun haisc a chur i ngníomh cumasaithe - Tá brúigh chun haisc a chur i ngníomh díchumasaithe +Coigeartaigh an toirt trí swipeáil go hingearach ar thaobh na láimhe deise den scáileán" + Tá swipeáil toirte lánscáileáin díchumasaithe + Cumasaigh gotha ​​brúigh chun svaidhpeáil + Tá brúigh chun svaidhpeáil cumasaithe + Tá brúigh chun svaidhpeáil díchumasaithe Cumasaigh aiseolas haptic Tá aiseolas haptic cumasaithe - Tá aiseolas haptic míchumasaithe + Tá aiseolas haptic díchumasaithe Sábháil agus athchóirigh gile Sábháil agus cuir gile ar ais agus tú ag imeacht nó ag dul isteach i lánscáileán - Ná sábháil agus athchóirigh gile agus tú ag imeacht nó ag dul isteach sa scáileán iomlán - Cumasaigh gotha uathoibríoch - Cumasaíonn scioradh síos go dtí an luach is ísle den chomhartha gile uathoibríoch - Ní chumasaíonn uathoibríoch a tharraingt síos go dtí an luach is ísle + Ná sábháil agus ná hathchóirigh gile agus tú ag imeacht nó ag dul isteach sa lánscáileán + Cumasaigh gotha ​​gile uathoibríoch + Cumasaíonn tú gile uathoibríoch trí shleamhnú síos go dtí an luach is ísle den ghluaiseacht gile + Ní chumasaítear gile uathoibríoch trí shleamhnú síos go dtí an luach is ísle Uathoibríoch - Amach forleagtha Swipe - Tá méid na milleasoicind an forleagan le feiceáil - Réabhlóid thrasláiteachta na gcúlra léaráidí - Luach léaráidí idir 0-100 - Caithfidh léaráidí traslaithe a bheith idir 0-100 - Dath gile forleagan swipe - Dath an bharra dul chun cinn do rialuithe gile - Dath toirte forleagan swipe + Am scoir forleagan svaidhpeála + An méid milleasoicind atá an forleagan le feiceáil + Teimhneacht chúlra forleagan svaidhpeála + Luach teimhneachta idir 0-100 + Teimhneacht svaidhpeála idir 0-100 + Dath gile forleagan svaidhpeála + Dath an bharra dul chun cinn le haghaidh rialuithe gile + Dath toirte forleagan svaidhpeála Dath an bharra dul chun cinn do rialuithe toirte - Méid téacs an fhorleagain swipe - Méid téacs an fhorleagain swipe idir 1-30 - Caithfidh an méid téacs a bheith idir 1-30 - Tairseach méid swipe - Méid an tairseach le haghaidh sruthú tarlú - Íogaireacht swipe toirte - An méid a athraíonn an toirt in aghaidh gach swipe - Stíl forleagain swipe + Méid téacs forleagan svaidhpeála + Méid an téacs le haghaidh forleagan svaidhpeála idir 1-30 + Caithfidh méid an téacs a bheith idir 1-30 + Tairseach méide svaidhpeála + An méid tairsí le go dtarlóidh svaidhpeáil + Íogaireacht svaidhpeáil toirte + Cé mhéad a athraíonn an toirt in aghaidh an svaidhpeála + Stíl forleagan svaidhpeála Forleagan cothrománach - Forleagan cothrománach (íosta - barr) - Forleagan cothrománach (íosta - lár) + Forleagan cothrománach (íosmhéid - barr) + Forleagan cothrománach (íosmhéid - lár) Forleagan ciorclach - Forleagan ciorclach (íosta) + Forleagan ciorclach (íosmhéid) Forleagan ingearach - Forleagan ingearach (íosta) - Cumasaigh swipe chun físeáin a athrú - Achlaigh i mód lán-scáile chun athrú go dtí an físeán chéanna/arís - Ní athróidh achlaigh i mód lán-scáile go dtí an físeán chéanna/arís + Forleagan ingearach (íosmhéid) + Cumasaigh svaidhpeáil chun físeáin a athrú + Athróidh svaidhpeáil i mód lánscáileáin go dtí an chéad fhíseán eile/roimhe seo + Ní athróidh svaidhpeáil i mód lánscáileáin go dtí an chéad fhíseán eile/roimhe seo - Díchumasaigh fotheidil uathoibríoch + Díchumasaigh fotheidil uathoibríocha Tá fotheidil uathoibríocha díchumasaithe Tá fotheidil uathoibríocha cumasaithe - Cnaipí gníomh + Cnaipí gníomhaíochta Folaigh nó taispeáin cnaipí faoi fhíseáin Díchumasaigh lonradh na cnaipí Cosúil / Liostáil - Ní lonróidh an cnaipe \'Cosúil\' agus \'Liostáil\' nuair a luafaí - Lonróidh an cnaipe Cosúil agus Liostáil nuair a luaitear + Ní bheidh na cnaipe Is maith liom agus Liostáil ag lonrú nuair a luaitear iad + Lonróidh na cnaipe Is maith liom agus Liostáil nuair a luaitear iad Folaigh Like agus Dislike - Tá cnaipí Cosúil agus Dislike i bhfolach - Taispeántar cnaipí Cosúil agus Dislike + Tá cnaipí Like agus Dislike i bhfolach + Taispeántar cnaipí Like agus Dislike Folaigh Comhroinn Tá cnaipe Comhroinn i bhfolach @@ -643,11 +641,11 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Folaigh Stad fógraí Tá cnaipe stad fógraí i bhfolach - Tá cnaipe stad fógraí taispeánta + Taispeántar an cnaipe Stad fógraí - Folaigh Tuairimí - Tá cnaipe na dTuairimí folaithe - Tá cnaipe na dTuairimí taispeánta + Folaigh Tráchtanna + Tá an cnaipe tráchtanna i bhfolach + Taispeántar an cnaipe tráchtanna Folaigh Tuairisc @@ -663,22 +661,22 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Taispeántar cnaipe íoslódáil - Folaigh Borradh + Folaigh Hype Tá cnaipe an Hype i bhfolach - Tá an cnaipe Hype ar taispeáint + Taispeántar cnaipe Hype Folaigh Cur Chun Cinn - Tá an cnaipe Cur Chun Cinn folaithe - Tá an cnaipe Cur Chun Cinn taispeánta + Tá an cnaipe cur chun cinn i bhfolach + Taispeántar an cnaipe cur chun cinn - Folaigh Go raibh maith agat + Folaigh Buíochas Tá cnaipe buíochas i bhfolach Taispeántar cnaipe buíochas - Folaigh Fiafraigh - Tá cnaipe Fiafraigh i bhfolach - Taispeántar cnaipe Fiafraigh + Folaigh Iarr + Tá an cnaipe Iarr i bhfolach + Taispeántar cnaipe Iarr Folaigh Gearrthóg Tá an cnaipe gearrthóg i bhfolach @@ -686,11 +684,11 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Folaigh Siopa Tá cnaipe an tSiopa i bhfolach - Tá cnaipe an tSiopa ar taispeáint + Taispeántar an cnaipe siopa Folaigh Sábháil Tá cnaipe sábhála i bhfolach - Tá cnaipe sábhála taispeánta + Taispeántar an cnaipe Sábháil Cnaipí nascleanúna @@ -726,22 +724,22 @@ Mura dtagann aon athrú ar an socrú seo, bain triail as mód Incognito a chur a Folaigh lipéid cnaipe nascleanú Tá lipéid i bhfolach Taispeántar lipéid - Díchumas trasúlacht staidéir a dhíchumas - Tá an barra stádais neamhshainiúil - Tá an barra stádais neamhshainiúil nó tríluchtúil - Ar roinnt feistí, má chuirtear an ghné seo ar siúl, is féidir an barra nascleanúna córais a athrú go trédhearcach. - Díchumas barra soiléir trasúlachta - Tá barra nascleanúna mód soiléir dochrach - Tá an barra nascleanúna sa mód solas neamhshainiúil nó tríluchtúil - Díchoigearrd an barra tríluchtúil dorcha - Tá barra nascleanúna mód dorcha dochrach - Tá an barra nascleanúna sa mód dorcha neamhshainiúil nó tríluchtúil + Díchumasaigh barra stádais tréshoilseach + Tá an barra stádais teimhneach + Tá an barra stádais teimhneach nó tréshoilseach + Ar roinnt gléasanna, is féidir leis an ngné seo a chumasú barra nascleanúna an chórais a athrú go trédhearcach. + Díchumasaigh barra tréshoilseach solais + Tá an barra nascleanúna i mód solais teimhneach + Tá barra nascleanúna mód solais teimhneach nó tréshoilseach + Díchumasaigh barra tréshoilseach dorcha + Tá an barra nascleanúna i mód dorcha teimhneach + Tá barra nascleanúna mód dorcha teimhneach nó tréshoilseach Roghchlár Flyout Folaigh nó taispeáin míreanna roghchlár flyout an imreora - Fotheidil i bhfolach + Folaigh Fotheidil Tá roghchlár fotheidil i bhfolach Taispeántar roghchlár fotheidil @@ -753,7 +751,7 @@ Mura dtagann aon athrú ar an socrú seo, bain triail as mód Incognito a chur a Tá an roghchlár lasc ama codlata i bhfolach Taispeántar roghchlár an lasc ama codlata - Folaigh físeán lúb + Físeán Lúb Folaigh Tá roghchlár físe lúb i bhfolach Taispeántar roghchlár físe lúb @@ -1284,7 +1282,7 @@ Maithe chun cur isteach?" Réamhshocrúch Fón Táibhléad - Gluaisrothar + Gluaisteán "Áirítear ar na hathruithe: Leagan amach an táibléid @@ -1307,15 +1305,15 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga 20.13.41 - Cuir an barra gníomhaíochta físe neamhchomhbhrúite ar ais 20.05.46 - Athchóirigh feidhmiúlacht tras-scríbhinne 19.35.36 - Athchóirigh sean-deilbhíní imreoir Shorts - 19.01.34 - Athchóiriú Sean Icóin Treorach + 19.01.34 - Athchóirigh deilbhíní nascleanúna sean Athraigh an leathanach tosaigh - Réamhshocraithe - Uile shuibhscríbhinní + Réamhshocrú + Gach síntiús Brabhsáil cainéil Cúrsaí / Foghlaim - Déan iniúchadh + Taiscéal Faisean & Áilleacht Cluichíocht Stair @@ -1332,9 +1330,9 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga Spóirt Síntiúis Ag treocht - Fíor-Rialtas - Féach ar níos déanaí - Do chlipbhoirt + Réaltacht Fhíorúil + Féach níos déanaí + Do ghearrthóga Athraigh an leathanach tosaigh i gcónaí "Athraítear an leathanach tosaigh i gcónaí @@ -1342,28 +1340,28 @@ Teorainn: Seans nach n-oibreoidh úsáid a bhaint as an gcnaipe cúil ar an mbar Ní athraítear an leathanach tosaigh ach amháin ar tosú an aip - Díchumasaigh an t-imreoir Shorts atá ag tosú arís - Ní thosóidh an t-imreoir Shorts ar thosú an aip - Athosóidh an t-imreoir Shorts ar thosú an aip + Díchumasaigh atosú seinnteoir Shorts + Ní atosóidh seinnteoir Shorts nuair a thosófar an aip + Atosóidh seinnteoir Shorts nuair a thosóidh an aip arís Oscail Shorts le Shorts seinnteoir - Imreoir Rialaigh - Imreoir Rialaigh lán-scáileán + Imreoir rialta + Lánscáileáin imreoir rialta - Shorts Autoplay + Shorts Uathsheinn Seinnfidh Shorts go huathoibríoch Déanfaidh Shorts arís - Cluiche Cúlra Shorts Autoplay + Uathsheinn Shorts Cúlra sheinn Déanfar súgradh cúlra Shorts go huathoibríoch - Athdhéanfar súgradh cúlra Shorts + Athdhéanfar athsheinm Shorts cúlra sheinn - Minipléir + Mion seinnteoir Athraigh stíl an imreora íoslaghdaithe in-aip - Cineál Miniplayer + Cineál Mion seinnteoir Díchumasaithe Réamhshocraithe Íosta diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 996b775e5..a354c8430 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -28,8 +28,8 @@ Second \"item\" text" アプリアイコン オリジナル - ReVanced (シンプル) - ReVanced (ロゴ拡大) + ReVanced(シンプル) + ReVanced(ロゴ拡大) カスタム @@ -342,8 +342,8 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 文字起こしセクションを非表示 文字起こしセクションは表示されません 文字起こしセクションは表示されます - 動画の概要欄 - 動画の概要欄のコンポーネントを表示または非表示にします + 概要欄 + 概要欄のコンポーネントを表示または非表示にします フィルタバー フィード、関連動画、検索結果、および再生履歴でフィルタバーを表示または非表示にします フィードで非表示 @@ -496,8 +496,8 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 自己スポンサー カードは表示されません 自己スポンサー カードは表示されます 商品へのリンクを非表示 - 動画の概要欄にある商品へのリンクは表示されません - 動画の概要欄にある商品へのリンクは表示されます + 動画の概要欄の商品へのリンクは表示されません + 動画の概要欄の商品へのリンクは表示されます 「商品を表示」バナーを非表示 動画オーバーレイの「商品を表示」バナーは表示されません 動画オーバーレイの「商品を表示」バナーは表示されます @@ -614,12 +614,12 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が スワイプによる音量の変化量 オーバーレイのスタイル 横型 - 横型 (シンプル - 画面上部) - 横型 (シンプル - 画面中央) + 横型(シンプル - 画面上部) + 横型(シンプル - 画面中央) 円形 - 円形 (シンプル) + 円形(シンプル) 縦型 - 縦型 (シンプル) + 縦型(シンプル) スワイプによる動画の切り替えを有効化 全画面表示中に左 / 右にスワイプすると、前 / 次の動画に切り替わります 全画面表示中に左 / 右にスワイプしても、前 / 次の動画に切り替わりません @@ -967,7 +967,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が "終了画面の「関連動画」は表示されませんが、自動再生がオンの場合は関連動画が自動で再生されます 自動再生の設定は YouTube の設定で変更できます: -[設定] → [再生] → [次の動画を自動再生]" +[設定] > [再生] > [次の動画を自動再生]" 終了画面の「関連動画」は表示されます @@ -1159,9 +1159,9 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 動画内に挿入される視聴者への高評価、チャンネル登録、フォローなどの時間的に短い催促。時間的に長い催促またはイベントなどの個別具体的なものに関する催促は、「視聴者への催促」ではなく「自己宣伝」に分類すべきです ハイライト 動画の中で最も重要な場面 - 幕間 / オープニング + 幕間 / オープニング (OP) 実際のコンテンツを含まない区間。一時停止、静止画、繰り返しアニメーションなど。情報を含むトランジッション (場面転換) は、このカテゴリーではありません - 終了画面 / クレジット + 終了画面 / クレジット (ED) クレジット、または YouTube の終了画面が表示される場面。情報を含む結論、まとめ部分は、このカテゴリーには含まれません フック / あいさつ 今後の動画のナレーション付きの予告編、および開幕と別れのあいさつ。重複しない内容や情報を追加する場面は含まれません @@ -1177,10 +1177,10 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 自己宣伝をスキップ 催促をスキップ ハイライトまでスキップ - オープニングをスキップ + OP をスキップ 幕間をスキップ 幕間をスキップ - エンディングをスキップ + ED をスキップ フックをスキップ 予告編をスキップ 予告編をスキップ @@ -1192,10 +1192,10 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 自己宣伝をスキップしました 催促をスキップしました ハイライトまでスキップしました - オープニングをスキップしました + OP をスキップしました 幕間をスキップしました 幕間をスキップしました - エンディングをスキップしました + ED をスキップしました フックをスキップしました 予告編をスキップしました 予告編をスキップしました @@ -1309,7 +1309,7 @@ Automotive レイアウト アプリバージョンの偽装先 20.13.41 - アクション ボタンの文字表示を復元 20.05.46 - 文字起こし機能を復元 - 19.35.36 - 古いショート プレーヤーのアイコンを復元 + 19.35.36 - ショート プレーヤーの古いアイコンを復元 19.01.34 - 古いナビゲーション アイコンを復元 @@ -1359,7 +1359,7 @@ Automotive レイアウト ショート動画の自動再生 ショート動画は自動再生されます ショート動画はループ再生されます - ショート動画の自動再生(バックグラウンド) + ショート動画の自動再生 (バックグラウンド) バックグラウンドのショート動画は自動再生されます バックグラウンドのショート動画はループ再生されます @@ -1433,7 +1433,7 @@ Automotive レイアウト デフォルト 標準 - ReVanced (シンプル) + ReVanced(シンプル) カスタム @@ -1546,13 +1546,13 @@ Automotive レイアウト 画質の変更時にトーストを表示 デフォルトの画質が変更された場合にトースト通知が表示されます デフォルトの画質が変更された場合にトースト通知は表示されません - デフォルトの画質(Wi-Fi) - デフォルトの画質(携帯回線) + デフォルトの画質 (Wi-Fi) + デフォルトの画質 (携帯回線) ショートの画質の変更を保存 画質の変更はすべてのショート動画に適用されます 画質の変更は現在のショート動画にのみ適用されます - デフォルトのショートの画質(Wi-Fi) - デフォルトのショートの画質(携帯回線) + デフォルトのショートの画質 (Wi-Fi) + デフォルトのショートの画質 (携帯回線) 携帯回線 Wi-Fi デフォルトの画質の変更 (%1$s): %2$s From 2e4c6fdcadeef45a80733e374421d52e5e8af910 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 18 Oct 2025 01:12:34 +0400 Subject: [PATCH 10/11] fix(YouTube Music): Resolve patching 7.29 target --- patches/api/patches.api | 2 ++ .../patches/music/misc/spoof/SpoofVideoStreamsPatch.kt | 3 ++- .../patches/music/misc/tracks/ForceOriginalAudioPatch.kt | 9 +++------ .../patches/music/playservice/VersionCheckPatch.kt | 8 +++++++- .../youtube/video/audio/ForceOriginalAudioPatch.kt | 5 +---- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/patches/api/patches.api b/patches/api/patches.api index dfc890bf2..b15bb5bd3 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -481,7 +481,9 @@ public final class app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatc public final class app/revanced/patches/music/playservice/VersionCheckPatchKt { public static final fun getVersionCheckPatch ()Lapp/revanced/patcher/patch/ResourcePatch; + public static final fun is_7_16_or_greater ()Z public static final fun is_7_33_or_greater ()Z + public static final fun is_8_05_or_greater ()Z public static final fun is_8_10_or_greater ()Z public static final fun is_8_11_or_greater ()Z public static final fun is_8_15_or_greater ()Z diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt index 93c294480..e4268330d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt @@ -6,6 +6,7 @@ import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.music.playservice.is_7_16_or_greater import app.revanced.patches.music.playservice.is_7_33_or_greater import app.revanced.patches.music.playservice.is_8_11_or_greater import app.revanced.patches.music.playservice.is_8_15_or_greater @@ -18,7 +19,7 @@ import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch val spoofVideoStreamsPatch = spoofVideoStreamsPatch( extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;", mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, - fixMediaFetchHotConfig = { true }, + fixMediaFetchHotConfig = { is_7_16_or_greater }, fixMediaFetchHotConfigAlternative = { is_8_11_or_greater && !is_8_15_or_greater }, fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater }, diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt index f5f170d54..09be85c56 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt @@ -3,14 +3,11 @@ package app.revanced.patches.music.misc.tracks import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch -import app.revanced.patches.music.playservice.is_8_10_or_greater +import app.revanced.patches.music.playservice.is_8_05_or_greater import app.revanced.patches.music.playservice.versionCheckPatch import app.revanced.patches.music.shared.mainActivityOnCreateFingerprint import app.revanced.patches.shared.misc.audio.forceOriginalAudioPatch -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/music/patches/ForceOriginalAudioPatch;" - @Suppress("unused") val forceOriginalAudioPatch = forceOriginalAudioPatch( block = { @@ -27,8 +24,8 @@ val forceOriginalAudioPatch = forceOriginalAudioPatch( ) ) }, - fixUseLocalizedAudioTrackFlag = { is_8_10_or_greater }, + fixUseLocalizedAudioTrackFlag = { is_8_05_or_greater }, mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, - subclassExtensionClassDescriptor = EXTENSION_CLASS_DESCRIPTOR, + subclassExtensionClassDescriptor = "Lapp/revanced/extension/music/patches/ForceOriginalAudioPatch;", preferenceScreen = PreferenceScreen.MISC, ) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt index d923c954f..d8f1fd709 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt @@ -8,8 +8,12 @@ import kotlin.properties.Delegates // Use notNull delegate so an exception is thrown if these fields are accessed before they are set. +var is_7_16_or_greater: Boolean by Delegates.notNull() + private set var is_7_33_or_greater: Boolean by Delegates.notNull() private set +var is_8_05_or_greater: Boolean by Delegates.notNull() + private set var is_8_10_or_greater: Boolean by Delegates.notNull() private set var is_8_11_or_greater: Boolean by Delegates.notNull() @@ -26,8 +30,10 @@ val versionCheckPatch = resourcePatch( val playStoreServicesVersion = findPlayStoreServicesVersion() // All bug fix releases always seem to use the same play store version as the minor version. + is_7_16_or_greater = 243499000 <= playStoreServicesVersion is_7_33_or_greater = 245199000 <= playStoreServicesVersion - is_8_10_or_greater = 244799000 <= playStoreServicesVersion + is_8_05_or_greater = 250599000 <= playStoreServicesVersion + is_8_10_or_greater = 251099000 <= playStoreServicesVersion is_8_11_or_greater = 251199000 <= playStoreServicesVersion is_8_15_or_greater = 251530000 <= playStoreServicesVersion } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt index 390fe6c4a..ea1fed89b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt @@ -8,9 +8,6 @@ import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/youtube/patches/ForceOriginalAudioPatch;" - @Suppress("unused") val forceOriginalAudioPatch = forceOriginalAudioPatch( block = { @@ -31,6 +28,6 @@ val forceOriginalAudioPatch = forceOriginalAudioPatch( }, fixUseLocalizedAudioTrackFlag = { is_20_07_or_greater }, mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, - subclassExtensionClassDescriptor = EXTENSION_CLASS_DESCRIPTOR, + subclassExtensionClassDescriptor = "Lapp/revanced/extension/youtube/patches/ForceOriginalAudioPatch;", preferenceScreen = PreferenceScreen.VIDEO, ) From e8e28e2b6a2b231022967f8dab0980d74fd0ba0b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 17 Oct 2025 21:15:51 +0000 Subject: [PATCH 11/11] chore: Release v5.43.2-dev.2 [skip ci] ## [5.43.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.43.2-dev.1...v5.43.2-dev.2) (2025-10-17) ### Bug Fixes * **YouTube Music:** Resolve patching 7.29 target ([2e4c6fd](https://github.com/ReVanced/revanced-patches/commit/2e4c6fdcadeef45a80733e374421d52e5e8af910)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7d50d203..b85e438ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.43.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.43.2-dev.1...v5.43.2-dev.2) (2025-10-17) + + +### Bug Fixes + +* **YouTube Music:** Resolve patching 7.29 target ([2e4c6fd](https://github.com/ReVanced/revanced-patches/commit/2e4c6fdcadeef45a80733e374421d52e5e8af910)) + ## [5.43.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.43.1...v5.43.2-dev.1) (2025-10-16) diff --git a/gradle.properties b/gradle.properties index 847b69190..973dda541 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.43.2-dev.1 +version = 5.43.2-dev.2