Add download command + playlist metadata persistence #8

Open
r2d2-bot wants to merge 2 commits from 2-download-command into 1-fix-path-sanitization-bugs
Collaborator

Closes #2

Renames wizard -> download (behavior unchanged) and adds lib/playlistStore.ts to persist each selected playlist raw metadata (including songList) as JSON under DEST_FOLDER/.jellyfin-meta/, fully replaced each run so deselected playlists do not linger. This unblocks the upcoming sync command (issue #3), which will read this metadata without a live Jellyfin call.

Targets 1-fix-path-sanitization-bugs (PR #7) per the stacked-PR rule in CONTRIBUTING.md, since #1 has not merged yet.

Closes #2 Renames wizard -> download (behavior unchanged) and adds lib/playlistStore.ts to persist each selected playlist raw metadata (including songList) as JSON under DEST_FOLDER/.jellyfin-meta/, fully replaced each run so deselected playlists do not linger. This unblocks the upcoming sync command (issue #3), which will read this metadata without a live Jellyfin call. Targets 1-fix-path-sanitization-bugs (PR #7) per the stacked-PR rule in CONTRIBUTING.md, since #1 has not merged yet.
Adds lib/playlistStore.ts (savePlaylistMetadata/loadAllPlaylistMetadata)
so the upcoming sync command can read a download run's playlists
without hitting Jellyfin again. Metadata is fully replaced each run so
deselected playlists don't linger as stale JSON.

Closes #2
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EncvBjUkvZfEutPhyYJHeB
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 2-download-command:2-download-command
git switch 2-download-command

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch 1-fix-path-sanitization-bugs
git merge --no-ff 2-download-command
git switch 2-download-command
git rebase 1-fix-path-sanitization-bugs
git switch 1-fix-path-sanitization-bugs
git merge --ff-only 2-download-command
git switch 2-download-command
git rebase 1-fix-path-sanitization-bugs
git switch 1-fix-path-sanitization-bugs
git merge --no-ff 2-download-command
git switch 1-fix-path-sanitization-bugs
git merge --squash 2-download-command
git switch 1-fix-path-sanitization-bugs
git merge --ff-only 2-download-command
git switch 1-fix-path-sanitization-bugs
git merge 2-download-command
git push origin 1-fix-path-sanitization-bugs
Sign in to join this conversation.
No reviewers
No labels
m3u_files
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jshaver/jellyfin-to-m3u!8
No description provided.