feat: Add GUI third party patch sources, add experimental app patching#98
feat: Add GUI third party patch sources, add experimental app patching#98LisoUseInAIKyrios merged 74 commits intoMorpheApp:devfrom
Conversation
Fixed a bunch of issues with the simplified version. It should behave better now.
Fixed minor UI bugs and URL pointing issues
Builds an apkmirror link to link the app . Might want to change the implementation later
Fixed "Download original APK" button UI for reddit. Added more extensive timestamp for when patches are published. Added Patch notes section in the patches screen. Fixed minor UI problems
Added a device indicator on the top which allows to see if a device is connected or not. Other minor UI and logic fixes.
No more hardcoded disabled patches, directly read from the patches files Made a bunch of UI improvements for the patch screen. Simplified mode loading now shows a circular icon instead of making up progress numbers.
User can remove libs if they do not need it
We can now generate a single cross platform jar file. Fixed an issue where cache wasn't clearing on windows
No more code duplication. The patching logic is present in a central engine that both the cli and the gui can call to make it run however they want.
Minor fixes for various stuff
Better patching logging Simplified version. Added --force for unsupported versions. Added a button for --continue-on-error to allow gui users to continue patching even when if a patch throws an error.
added fixes from other branches and new mini theme
Added a better offline mode experience for the user. Minor UI improvemments to the patches and patchselection screens. Added some updates from other branch (but not all, might lack some functionality that are present in other branches)
|
Correct, just hide it in the gui. CLI strip libs works |
|
Commented out that code with a TODO for now. Once patcher is fixed, we'll re-enable it in the future. |
|
I'll merge this now. I noticed the third party patch sources the list of apps is not clickable. The web-search call works for third party apps https://api.morphe.software/v2/web-search/com.twitter.android~11.69.0-release.0~all |
|
I assumed we wouldn't provide direct download links third party apps. Will fix this now. Also, if an app has any version, we simple provide the latest version right? |
|
For 'any' version the version is the literal word https://api.morphe.software/v2/web-search/com.twitter.android~any~all |
Third party patch files now get direct download links and expandable cards in expert mode.
|
See how this feels once. If something looks off I'll fix it immediately. |
|
This works great. I will merge later today if there's no new changes. |
|
Perfect. Sure thing! |
# [1.7.0-dev.1](v1.6.4-dev.2...v1.7.0-dev.1) (2026-04-15) ### Features * Add GUI third party patch sources, add experimental app patching ([#98](#98)) ([da5ec1c](da5ec1c))
# [1.7.0](v1.6.3...v1.7.0) (2026-04-16) ### Bug Fixes * Use patcher implementation of strip libs ([#83](#83)) ([43f50ea](43f50ea)), closes [#80](#80) [#82](#82) * Use same default keystore values as Morphe Manager ([#96](#96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([#98](#98)) ([da5ec1c](da5ec1c))
# [1.7.0](v1.6.3...v1.7.0) (2026-04-17) ### Bug Fixes * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c))
CLI strip libs feature is not working in stable version v1.7.0.
|
|
Patcher 1.4.0 is now stable. We can add back strip libs to the GUI and fix console usage too. |
|
Sure thing |
# [1.7.0](v1.6.3...v1.7.0) (2026-04-17) ### Bug Fixes * Bump patcher version ([60194a9](60194a9)) * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c))
# [1.7.0](v1.6.3...v1.7.0) (2026-04-18) ### Bug Fixes * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c))
# [1.7.0](v1.6.3...v1.7.0) (2026-04-18) ### Bug Fixes * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c))
# [1.7.0](v1.6.3...v1.7.0) (2026-04-19) ### Bug Fixes * Update to latest patcher ([2c6fad2](2c6fad2)) * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c))
# [1.7.0-dev.1](v1.6.3...v1.7.0-dev.1) (2026-04-21) ### Bug Fixes * continue-on-error fix + force windows to `FULL` ([MorpheApp#120](https://github.com/ddCeka/morphe-cli/issues/120)) ([036faba](036faba)) * Include Notice and License files in shadow jar release ([MorpheApp#113](https://github.com/ddCeka/morphe-cli/issues/113)) ([a9a2402](a9a2402)) * Re-enable strip libs feature ([MorpheApp#117](https://github.com/ddCeka/morphe-cli/issues/117)) ([6d2bb94](6d2bb94)) * Update to latest patcher ([efd0cf1](efd0cf1)) * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c)) * Add in-app dependency license viewer ([MorpheApp#114](https://github.com/ddCeka/morphe-cli/issues/114)) ([77a1dde](77a1dde)) * Faster dex rebuilding + reduced memory requirements ([MorpheApp#108](https://github.com/ddCeka/morphe-cli/issues/108)) ([ed8918e](ed8918e))
# [1.7.0](v1.6.3...v1.7.0) (2026-04-21) ### Bug Fixes * continue-on-error ([afc4664](afc4664)) * Update to latest patcher ([c0c6696](c0c6696)) * Update to latest patcher ([2c6fad2](2c6fad2)) * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/ddCeka/morphe-cli/issues/83)) ([43f50ea](43f50ea)), closes [MorpheApp#80](https://github.com/ddCeka/morphe-cli/issues/80) [MorpheApp#82](https://github.com/ddCeka/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/ddCeka/morphe-cli/issues/96)) ([2d70c01](2d70c01)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/ddCeka/morphe-cli/issues/98)) ([da5ec1c](da5ec1c))
# [1.5.0-dev.1](v1.4.1...v1.5.0-dev.1) (2026-04-22) ### Bug Fixes * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/AzyrRuthless/morphe-cli/issues/83)) ([206fd70](206fd70)), closes [MorpheApp#80](https://github.com/AzyrRuthless/morphe-cli/issues/80) [MorpheApp#82](https://github.com/AzyrRuthless/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/AzyrRuthless/morphe-cli/issues/96)) ([0603a6d](0603a6d)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/AzyrRuthless/morphe-cli/issues/98)) ([a611751](a611751))
# [1.5.0](v1.4.1...v1.5.0) (2026-04-22) ### Bug Fixes * Use patcher implementation of strip libs ([MorpheApp#83](https://github.com/AzyrRuthless/morphe-cli/issues/83)) ([206fd70](206fd70)), closes [MorpheApp#80](https://github.com/AzyrRuthless/morphe-cli/issues/80) [MorpheApp#82](https://github.com/AzyrRuthless/morphe-cli/issues/82) * Use same default keystore values as Morphe Manager ([MorpheApp#96](https://github.com/AzyrRuthless/morphe-cli/issues/96)) ([0603a6d](0603a6d)) ### Features * Add GUI third party patch sources, add experimental app patching ([MorpheApp#98](https://github.com/AzyrRuthless/morphe-cli/issues/98)) ([a611751](a611751))
No description provided.