mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
5.1 KiB
5.1 KiB
codex-jellyfin-secret-store-20260220T101428Z-om4z
- alias:
codex-jellyfin-secret-store - mission:
Move Jellyfin token/userId out of config into env override + stored session payload - status:
completed - last_update_utc:
2026-02-21T04:27:24Z
Intent
- compare AniList token persistence path vs Jellyfin token persistence path
- answer feasibility + current behavior from code
Planned Files
src/main/runtime/anilist-token-refresh.tssrc/main/runtime/*anilist*src/core/services/jellyfin.tssrc/main/runtime/*jellyfin*src/config/*- docs refs if needed
Assumptions
- user asking architecture/feasibility question; likely no code change requested yet
Findings
- AniList token store present:
src/core/services/anilist/anilist-token-store.ts(safeStorageencrypt/decrypt + persisted file) - AniList runtime wiring present:
src/main.tscreatesanilistTokenStore; refresh/setup paths usesaveToken/loadToken - Jellyfin auth currently writes token directly into config via
patchRawConfig({ jellyfin: { accessToken } }) - Docs confirm current behavior: Jellyfin token persisted in config (
docs/jellyfin-integration.md)
Outcome
- no code changes; answered feasibility/current state from repo
- implemented requested change: Jellyfin token now persisted in local encrypted token store with config override fallback
Files Touched
src/core/services/jellyfin-token-store.tssrc/main.tssrc/main/runtime/jellyfin-client-info.tssrc/main/runtime/jellyfin-client-info.test.tssrc/main/runtime/jellyfin-client-info-main-deps.tssrc/main/runtime/jellyfin-client-info-main-deps.test.tssrc/main/runtime/jellyfin-cli-auth.tssrc/main/runtime/jellyfin-cli-auth.test.tssrc/main/runtime/jellyfin-cli-main-deps.tssrc/main/runtime/jellyfin-cli-main-deps.test.tssrc/main/runtime/jellyfin-setup-window.tssrc/main/runtime/jellyfin-setup-window.test.tssrc/main/runtime/jellyfin-setup-window-main-deps.tssrc/main/runtime/jellyfin-setup-window-main-deps.test.tsdocs/jellyfin-integration.mddocs/configuration.mddocs/public/config.example.jsoncsrc/config/definitions.tsbacklog/tasks/task-92 - Store-Jellyfin-token-in-encrypted-local-token-store-like-AniList.md
Verification
bun run buildnode --test dist/main/runtime/jellyfin-client-info.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-client-info-main-deps.test.js dist/main/runtime/jellyfin-cli-main-deps.test.js dist/main/runtime/jellyfin-setup-window-main-deps.test.jsbun run test:fastbun run docs:build
Next Intent (2026-02-21)
- remove
jellyfin.accessTokenconfig path; add env override (SUBMINER_JELLYFIN_ACCESS_TOKEN) - move
jellyfin.userIdout of config into stored Jellyfin auth session payload - keep login/logout semantics via setup/CLI commands
- add/update runtime tests first, then implementation + docs
2026-02-21 Outcome
- removed
jellyfin.accessToken+jellyfin.userIdfrom config defaults/parsing/docs surface - added env override precedence in resolver:
SUBMINER_JELLYFIN_ACCESS_TOKENSUBMINER_JELLYFIN_USER_ID(optional; falls back to stored userId if session exists)
- moved Jellyfin store from token-only to auth-session payload (
accessToken+userId) - updated login/setup/logout flows to save/clear stored session payload
2026-02-21 Files Touched
src/core/services/jellyfin-token-store.tssrc/main.tssrc/main/runtime/jellyfin-client-info.tssrc/main/runtime/jellyfin-client-info-main-deps.tssrc/main/runtime/jellyfin-cli-auth.tssrc/main/runtime/jellyfin-cli-main-deps.tssrc/main/runtime/jellyfin-setup-window.tssrc/main/runtime/jellyfin-setup-window-main-deps.tssrc/main/runtime/jellyfin-remote-commands.tssrc/main/runtime/jellyfin-remote-session-lifecycle.tssrc/config/definitions.tssrc/config/service.tssrc/types.tssrc/main/runtime/jellyfin-client-info.test.tssrc/main/runtime/jellyfin-client-info-main-deps.test.tssrc/main/runtime/jellyfin-cli-auth.test.tssrc/main/runtime/jellyfin-cli-main-deps.test.tssrc/main/runtime/jellyfin-setup-window.test.tssrc/main/runtime/jellyfin-setup-window-main-deps.test.tsdocs/configuration.mddocs/jellyfin-integration.mddocs/public/config.example.jsoncbacklog/tasks/task-93 - Remove-Jellyfin-token-userId-from-config-use-env-and-stored-session.md
2026-02-21 Verification
bun run tsc --noEmitbun test src/main/runtime/jellyfin-client-info.test.ts src/main/runtime/jellyfin-cli-auth.test.ts src/main/runtime/jellyfin-setup-window.test.ts src/main/runtime/jellyfin-client-info-main-deps.test.ts src/main/runtime/jellyfin-cli-main-deps.test.ts src/main/runtime/jellyfin-setup-window-main-deps.test.ts src/main/runtime/jellyfin-remote-session-lifecycle.test.ts src/main/runtime/jellyfin-command-dispatch.test.ts src/main/runtime/jellyfin-remote-commands.test.ts src/config/config.test.ts(73 pass)
Blockers
- full
bun run buildcurrently blocked by local disk-full (ENOSPC) in workspace output path