Skip to content

feat: add support for plex new nfo agent#814

Merged
arabcoders merged 5 commits intomasterfrom
dev
Apr 27, 2026
Merged

feat: add support for plex new nfo agent#814
arabcoders merged 5 commits intomasterfrom
dev

Conversation

@arabcoders
Copy link
Copy Markdown
Owner

@arabcoders arabcoders commented Apr 27, 2026

This PR adds support for Plex's native NFO agents, allowing WatchState to recognize and import libraries using the new Plex NFO movie and series agents.

The new supported agents are:

  • tv.plex.agents.nfo.movie
  • tv.plex.agents.nfo.series

WatchState now treats these as supported Plex agents, parses their typed GUIDs, and normalizes provider-backed IDs such as tmdb_383498, imdb_tt1234567, and tvdb_121361 into the same canonical external IDs used by the rest of the application.

Changes

  • Added support for Plex native NFO movie and series agents.
  • Added GUID parsing for typed Plex NFO identifiers such as:
    • tv.plex.agents.nfo.movie://movie/tmdb_383498
    • tv.plex.agents.nfo.movie://movie/imdb_tt1234567
    • tv.plex.agents.nfo.series://show/tvdb_121361
  • Ensured untyped/fallback NFO IDs that do not expose a provider are ignored instead of being guessed.
  • Updated Plex library detection so NFO-backed movie and show libraries are marked as supported.
  • Updated Plex import and entity conversion tests to cover NFO-backed libraries, movies, shows, and episodes.
  • Updated the FAQ with the new Plex NFO GUID formats and cleaned up the legacy agent list.

Minor changes

  • Added a bundled OpenAPI viewer under Help for browsing Plex, Jellyfin, and Emby upstream routes.
  • Added static serving for bundled backend OpenAPI JSON files.
  • Improved log formatting so event logs expose timestamps, history item links, user/backend metadata, and handle non-string payloads safely.
  • Improved frontend log rendering with timestamp display, history item navigation, filtering, and copy behavior.
  • Fixed navigation active-state handling for nested Help pages such as API, OpenAPI, README, FAQ, and News.
  • Changed backend library ignore toggling to update the backend ignore option list directly.
  • Refactored state import request handling to run through the adapter-managed transaction path.
  • Fixed SQLite prepared statement reuse issues, including null/scalar binding and retry handling for 21 bad parameter or other API misuse.

@arabcoders arabcoders merged commit ce3a4d7 into master Apr 27, 2026
12 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.

1 participant