Skip to content

feat(filter): add saved filters for dynamic sources - #159

Merged
dragonx943 merged 1 commit into
UsagiApp:feat/externalfrom
andryan0001:feat/dynamic-saved-filters
Oct 21, 2026
Merged

dragonx943 merged 1 commit into
UsagiApp:feat/externalfrom
andryan0001:feat/dynamic-saved-filters

Conversation

@andryan0001

Copy link
Copy Markdown
Contributor

Summary

Adds saved filter presets to the dynamic filter sheet used by external/Mihon sources.

  • Add a Save button and saved-filter chips to the external filter sheet.
  • Reuse SavedFiltersRepository / PersistableFilter; no storage migration needed.
  • Add shared SavedFilterActions for save, overwrite, rename, and delete dialogs.
  • Keep dynamic source sort separate: presets exclude the sort tag and applying one preserves the active sort.
  • Match dynamic presets by encoded filter keys, ignoring tag titles/source and sort.
  • Normalize tag sources during plugin-key migration.
  • Reload the embedded/tablet filter sheet when filters change externally.
  • Add filter unit tests.

Closes #158.

Testing

  • Debug APK built successfully with GitHub Actions (assembleDebug).
  • New FilterMapperTest and MangaListFilterSerializerTest pass.
  • Tested save, apply, rename, delete, and overwrite with a dynamic external source using the debug APK.

Note: the full unit test task still fails on the pre-existing VersionIdTest.testCurrentVersion because it expects an app version greater than 2.4.6 while the current version is 2.0-beta1. The new filter tests pass independently.

@andryan0001
andryan0001 force-pushed the feat/dynamic-saved-filters branch from 18bb967 to 2bdad4c Compare October 20, 2026 18:09
@dragonx943
dragonx943 changed the base branch from devel to feat/external October 21, 2026 04:41
@dragonx943
dragonx943 merged commit 1b8431b into UsagiApp:feat/external Oct 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support saved filter presets for dynamic (external/Mihon) sources

2 participants