feat(dashboard): bulk-create collections from an addon's catalogs - #142
Open
bigverm23 wants to merge 1 commit into
Open
feat(dashboard): bulk-create collections from an addon's catalogs#142bigverm23 wants to merge 1 commit into
bigverm23 wants to merge 1 commit into
Conversation
bigverm23
force-pushed
the
feat/addon-catalog-bulk-import
branch
from
July 25, 2026 12:37
e177e76 to
1a0ad63
Compare
Adds a new /addons/{id}/catalogs screen: a grid of every catalog an
addon exposes, with checkboxes and two creation modes:
- Separate: one collection per selected catalog (collection_kind:
catalog), each filtered to just that catalog.
- Merge: all selected catalogs combined into a single named
collection.
Also:
- Lets the user override the auto-detected Media Kind (Movies, TV
Shows, Mixed, Music, Collections) and add Tags to the created
collection(s) instead of relying purely on catalog auto-detection.
- Adds collection_source (PatchItemPayload + DB column usage) so
catalog-derived collections carry back a pointer to their source
catalog, letting the screen grey out catalogs that already have a
collection.
- Adds collection_media_kind and item_count to AddonCatalogDto /
get_addon_catalogs so the dashboard can show a sensible default
kind and current size per catalog.
- Adds a search box on the catalogs grid, and a confirmation step
summarizing mode/name/kind/tags/catalogs before creating.
- Minor css theme adjustment to accomodate addition of Catalogs button
The initial implementation was drafted with Claude and then reviewed
and tested locally by me.
bigverm23
force-pushed
the
feat/addon-catalog-bulk-import
branch
from
July 25, 2026 12:59
1a0ad63 to
be8514c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a bulk-import workflow for addon catalogs. Today, turning a
Stremio addon's catalogs into collections means creating them one at
a time through the manual "New Collection" form and hand-picking the
catalog filter. This adds a dedicated screen for it.
New screen: Addons → Catalogs
to see all its catalogs in a grid, each tagged with its media kind
(Movies/Shows/Mixed/Music/Collections).
filtered to just that catalog's items.
single named collection.
(instead of relying on auto-detection) and Tags, applied to
whatever gets created.
collection_sourcefield) are greyed out with an "Already added"badge, so re-visiting the screen won't offer duplicates.
Backend changes
AddonCatalogDtogainscollection_media_kind, populated inget_addon_catalogs, so the dashboard knows each catalog's kindwithout guessing.
PatchItemPayloadgainscollection_source(
"{addon_uuid}:{local_catalog_id}"), persisted bypatch_item,so catalog-derived collections carry a pointer back to their
source catalog. Already surfaced via the existing
remux.collectionSourcefield on item responses.Testing
cargo checkacrossremux-sdks,remux-server,remux-dashboardcargo make dev, walked through: creating separatecollections, creating a merged collection, re-visiting the screen
to confirm dedup/greying, media-kind override, and tags.
Notes / follow-ups I did not attempt here
CollectionMediaKind::Music(server) vsMediaKind::Track(SDK)don't line up, so a music catalog's kind won't round-trip perfectly
today — same pre-existing gap as in
api/models.rs. Worth aseparate fix.
collections yet — this PR is additive/creation-only.
The initial implementation was drafted with Claude and then reviewed
and tested locally by me.