Phase 1b: Jellyfin connect and movie sync #8
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
3 participants
Notifications
Due date
No due date set.
Reference
marvin8/xique!8
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/issue-3-phase-1b-jellyfin-movie-sync"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements Phase 1b — Jellyfin connect and movie sync, per issue #3.
What this adds
AuthenticateByName; the resulting access token is stored encrypted (Fernet, key derived fromXIQUE_SECRET_KEY). The password is used once and never stored or logged.jellyfin_connections,media(keyed on provider IDs, never Jellyfin item IDs),watch_events(append-only),ratings, anddismissals— all FK-enforced.jellyfin_syncworker job pages through played movies, upserts the media catalog, appends to the ledger, and mirrors ratings. Re-running is idempotent (no duplicate events). Items without provider IDs are skipped.GET /settings, connect, sync-now, and disconnect.complete_job/fail_jobstatus guards,recover_stale_jobswired into worker startup,jobs.statusindex,poll_interval_secondsSetting, boundedrun_worker_cyclebatching, and cancellation-safe handler dispatch.BEGIN IMMEDIATE→ DDL → version →COMMIT), replacingexecutescript(which implicitly commits).Scope
Movies only, as agreed; TV/episode tracking stays in Phase 3 (the schema carries
media_typefor it). Trakt import (1c), the recommendation engine and browse UI (1d), and containers (1e) are later.Notes
.superpowers/specs/2026-10-08-xique-design.md; plan:.superpowers/plans/2026-10-08-xique-02-jellyfin-movie-sync.md(local artifacts, not committed per AGENTS.md).Closes #3
This PR is too large to review automatically (4145 lines; limit is 2000). Please consider splitting it into smaller PRs.