Skip to content

feat(plex): add plex integration#399

Open
dylfrancis wants to merge 15 commits into
lklynet:testfrom
dylfrancis:feature/plex-integration
Open

feat(plex): add plex integration#399
dylfrancis wants to merge 15 commits into
lklynet:testfrom
dylfrancis:feature/plex-integration

Conversation

@dylfrancis

@dylfrancis dylfrancis commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Addresses #63

Summary

  • Added a PlexClient service implementing Plex's PIN-based OAuth flow (generate PIN, build app.plex.tv auth URL, poll for token, validate token) plus server discovery via plex.tv/api/v2/resources.
  • Added Plex Media Server operations: identity/machineIdentifier capture, music library create + location reconcile, library scan, paginated track listing, and regular audio playlist create/replace/delete.
  • Wired Plex into the Weekly Flow playlist manager: builds one regular playlist per flow/shared playlist from indexed tracks (Plex has no .nsp smart-playlist equivalent), grouped by the weekly-flow subfolder, with a per-playlist fingerprint cache to skip no-op rebuilds and a non-blocking background catch-up after scans.
  • Added Plex settings endpoints (/settings/plex/auth/pin, /auth/check, /resources, /test, /sync), persisted plex integration config (url, token, clientId, machineIdentifier, downloadsPath) with the token encrypted, and protected token/clientId from being wiped by blank values on save.
  • Added a "Plex downloads path" override so the library points at the path the Plex container sees when it differs from Aurral's host path.
  • Added the Plex Settings UI: OAuth connect/reconnect, auto-populating server dropdown, server URL, downloads-path field, Test connection, and Sync-to-Plex-now.
  • Named Plex playlists by the bare flow name (no [A]/[AS] prefix) and clean up any previously-created prefixed playlists.

@dylfrancis dylfrancis marked this pull request as draft June 3, 2026 20:44
@dylfrancis

dylfrancis commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

@lklynet still some testing to be done and quirks i need to figure out, but figured i'd put up the PR as it's mostly done for you to take a look at.

@dylfrancis dylfrancis changed the base branch from main to test June 3, 2026 20:46
@dylfrancis dylfrancis force-pushed the feature/plex-integration branch from 1c8f44b to b2293c7 Compare June 10, 2026 17:57
@dylfrancis dylfrancis marked this pull request as ready for review June 10, 2026 18:06
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