Files
SubMiner/backlog/completed/task-314 - Improve-Jellyfin-setup-popup-and-tray-discovery-toggle.md
T

2.9 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, references, documentation, priority
id title status assignee created_date updated_date labels dependencies references documentation priority
TASK-314 Improve Jellyfin setup popup and tray discovery toggle Done
2026-05-02 22:45 2026-05-02 23:11
jellyfin
src/main/runtime/jellyfin-setup-window.ts
src/main/runtime/jellyfin-cli-auth.ts
src/main/runtime/tray-runtime.ts
src/main/runtime/jellyfin-remote-session-lifecycle.ts
docs-site/jellyfin-integration.md
docs-site/configuration.md
medium

Description

Improve the Jellyfin integration setup experience and remove the need to use command-line discovery mode for normal tray-driven use. The existing --jellyfin setup popup should become a frontend for the same auth persistence path used by CLI login, with manual/recent server selection and inline feedback. The tray should expose a runtime-only Jellyfin Discovery checkbox when Jellyfin is configured so users can start or stop cast/discovery mode without changing config.

Acceptance Criteria

  • #1 The Jellyfin setup popup supports config/recent/default server choices, manual URL entry, username/password login, logout when a session exists, done/close, and inline success/error status without persisting passwords.
  • #2 CLI login and setup popup login share the same auth persistence behavior, including encrypted token storage, enabled/server/username/client metadata config patching, and recent server updates.
  • #3 jellyfin.recentServers is parsed, normalized, deduplicated, capped, documented, and included in generated config examples if exposed.
  • #4 The tray keeps Configure Jellyfin visible and shows a Jellyfin Discovery checkbox only when Jellyfin is configured with enabled integration, server URL, access token, and user ID.
  • #5 The tray Jellyfin Discovery checkbox starts/stops the current remote session at runtime only, announces after start, reports OSD/log status, and does not patch config.
  • #6 Startup auto-connect behavior remains governed by existing config, including remoteControlAutoConnect; explicit tray start can start discovery without requiring remoteControlAutoConnect.
  • #7 Focused tests cover setup popup actions/rendering, shared auth persistence, config parsing, tray toggle visibility/state/click behavior, and remote lifecycle auto-connect versus explicit-start behavior.
  • #8 Jellyfin docs and changelog fragment are updated.

Final Summary

Implemented Jellyfin setup popup improvements, shared auth persistence for CLI/setup config shape, recent server config support, runtime-only tray Jellyfin Discovery toggle, docs/config examples, and changelog fragment. Verified focused Jellyfin/tray tests, config tests, launcher tests, typecheck, and docs tests.