# X Patches Patch bundle for X (Twitter), maintained by [Stan Ponomarev](https://git.krtss.de/StanPonomarev). ## Patch ### Disable outdated version screen Prevents X from entering its client-shutdown state when the configured minimum version is newer than the installed app. It also ignores shutdown state already persisted by an unpatched installation, restoring app access without hiding only the update UI. ## Target - Package: `com.twitter.android` - Version: `12.7.1-release.0` (`312071000`) - Input type: APKM - Minimum Android API: 28 ## Prerequisites - Java 21 - The target `twitter.apkm` in the repository root for integration testing - GitHub Packages credentials in `~/.gradle/gradle.properties`: ```properties gpr.user = your-github-username gpr.key = your-read-packages-token ``` ## Build ```shell ./gradlew :patches:buildAndroid ``` The bundle is written to `patches/build/libs/patches-1.0.0.mpp`. ## Integration test ```shell ./gradlew :patches:integrationTest ``` The Kotlin integration test downloads the pinned Morphe Desktop release, verifies its SHA-256 checksum, applies only this patch to `twitter.apkm`, and checks the resulting APK and Morphe patching report. The verified Morphe JAR is cached under `patches/build/verification/tools`. ## Apply manually ```shell java -jar morphe-desktop-*-all.jar patch \ --patches patches/build/libs/patches-1.0.0.mpp \ --exclusive \ --enable="Disable outdated version screen" \ --out twitter-patched.apk \ twitter.apkm ``` ## Add as a Morphe patch source For a local source, open **Sources → + → Local** in Morphe and select the built `.mpp` file. After a release has populated `patches-bundle.json`, add the following address under **Sources → + → Remote**: ```text https://git.krtss.de/StanPonomarev/twitter-patch/raw/branch/main/patches-bundle.json ``` Remote sources update automatically from the release bundle referenced by that metadata file. ## Project - Repository: - Author: Stan Ponomarev - Contact: ## License Licensed under the [GNU General Public License v3.0](LICENSE).