Skip to content

feat: support unified mixed MDBList catalogs by username/slug#417

Open
nobnobz wants to merge 1 commit intocedya77:devfrom
nobnobz:feature/mdblist-unified-mixed-catalogs
Open

feat: support unified mixed MDBList catalogs by username/slug#417
nobnobz wants to merge 1 commit intocedya77:devfrom
nobnobz:feature/mdblist-unified-mixed-catalogs

Conversation

@nobnobz
Copy link
Copy Markdown

@nobnobz nobnobz commented Apr 10, 2026

Fixes #415

Summary

This adds proper support for mixed MDBList dynamic lists queried through the unified items endpoint.

MDBList can expose mixed lists as separate movie/show metadata entries for the same public username/slug, while the actual mixed content is available from /lists/{username}/{slug}/items?unified=true.

This change adds a unified import and resolution path so mixed MDBList lists can be consumed as a single all catalog instead of being split into separate movie and series catalogs.

What changed

  • group MDBList sibling list metadata entries by username/slug during import flows
  • add a synthetic internal catalog id for unified mixed catalogs: mdblist.{username}.{slug}.unified
  • fetch mixed MDBList items through the unified items endpoint
  • preserve per-item mediatype when normalizing the mixed response
  • keep response order stable for unified mixed catalogs instead of inventing synthetic popularity values
  • add UI support to choose between one unified mixed catalog or separate movie and series catalogs
  • keep existing movie-only and series-only MDBList flows unchanged
  • ignore local generated addon runtime data so SQLite/cache files do not get committed accidentally

Notes

  • MDBList does not expose a dedicated unified numeric list id for these mixed lists, so the addon uses a synthetic internal identity.
  • Unified mixed ordering preserves the original API response order. If an explicit internal order is needed, it is derived from response position only.

Validation

  • node --test --test-force-exit addon/tests/mdbListUnified.test.js
  • frontend build verified locally
  • backend build verified locally
  • local/live smoke checks against MDBList mixed list responses during development

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.

[BUG] AIOMetadata does not correctly detect mixed dynamic MDBList lists

1 participant