Skip to content

Improve plugins manager / flow, allow to sideload them - #95

Merged
dragonx943 merged 57 commits into
UsagiApp:feat/sideloadfrom
sang765:feature/direct-tachiyomi-extensions
Aug 15, 2026
Merged

dragonx943 merged 57 commits into
UsagiApp:feat/sideloadfrom
sang765:feature/direct-tachiyomi-extensions

Conversation

@sang765

@sang765 sang765 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

This draft PR adds direct Tachiyomi/Mihon extension management to Usagi without installing extension APKs as Android packages. Extensions are downloaded, loaded through a child-first DexClassLoader, and registered into the existing source manager.

Included

  • Browse Tachiyomi/Mihon extensions in Source catalogs with language, source type, NSFW, and imported-plugin filters.
  • Import, install, update, disable, enable, and remove direct extensions without PackageInstaller.
  • Show installed Tachiyomi sources in Manage sources and imported repositories as one deduplicated row in Manage plugins.
  • Support automatic repository catalog detection and latest-extension selection for external repositories.
  • Display extension metadata and source icons using the configured source domain favicon.
  • Handle content ratings across extension library versions and normalize regional language codes for catalog filters.
  • Add Android 5 compatibility for compatible DEX 038 extensions by normalizing them to DEX 035.
  • Fix Android 12+ read-only APK/DexClassLoader handling and preserve useful catalog loading diagnostics with copy-error support.
  • Unload disabled Tachiyomi sources from the source catalog and cancel plugin update requests with the ViewModel lifecycle.
  • Apply the related service resource-context leak fix and remove the redundant Source catalog add button.

Validation

  • ./gradlew spotlessApply :app:assembleDebug --no-daemon
  • Debug APK produced successfully at app/build/outputs/apk/debug/app-debug.apk.
  • The branch was merged with the latest upstream/devel before pushing.

sang765 added 29 commits August 13, 2026 11:11
@sang765 sang765 self-assigned this Aug 14, 2026
@sang765
sang765 force-pushed the feature/direct-tachiyomi-extensions branch from 0a49cd7 to 9b3ad51 Compare August 14, 2026 08:01
@sang765
sang765 force-pushed the feature/direct-tachiyomi-extensions branch 2 times, most recently from 685ede8 to eab89be Compare August 14, 2026 20:38
@sang765
sang765 marked this pull request as ready for review August 15, 2026 01:24
@sang765
sang765 requested a review from dragonx943 as a code owner August 15, 2026 01:24
@dragonx943 dragonx943 changed the title feat: manage Tachiyomi extensions directly Improve plugins manager / flow, allow to sideload them Aug 15, 2026
@dragonx943 dragonx943 added this to Usagi Aug 15, 2026
@dragonx943 dragonx943 moved this to Doing in Usagi Aug 15, 2026
@dragonx943
dragonx943 force-pushed the feature/direct-tachiyomi-extensions branch from 6557e39 to 60104e9 Compare August 15, 2026 14:01
@dragonx943
dragonx943 changed the base branch from devel to feat/sideload August 15, 2026 14:04
@dragonx943
dragonx943 merged commit fa7446a into UsagiApp:feat/sideload Aug 15, 2026
3 of 7 checks passed
@github-project-automation github-project-automation Bot moved this from Doing to Done in Usagi Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants