- Full-scan download toggle: omits --break-on-existing so all unarchived videos are fetched regardless of order, filling gaps in partial archives - Filter "Aborting remaining downloads" from job logs (break-on-existing noise) - Password hash moved from config.toml to SQLite settings table; survives git checkouts and rebuilds. config.toml and yt-offline.db added to .gitignore; config auto-generated on first run if absent - Channel re-check URLs derived from folder name (/@handle or /channel/UCxxx) instead of info.json's canonical channel_url, preventing duplicate UCxxx folders - SRT subtitles detected by library scanner and served via /api/sub-vtt/* endpoint that converts to WebVTT on the fly; browser <track> element can now play them - Cookie clear button in both desktop and web UI (DELETE /api/cookies) - Per-job X close button on finished download jobs in desktop GUI - Fix widget ID clash when multiple download jobs are shown (push_id per job) - Watched videos excluded from Continue Watching list and badge count - settings table added to SQLite schema (key/value store) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
515 B
Text
24 lines
515 B
Text
# Downloaded channel archives (videos, thumbnails, descriptions)
|
|
/channels/
|
|
|
|
# Rust build artifacts
|
|
/target/
|
|
|
|
# makepkg build artifacts (finished .pkg.tar.zst is NOT ignored)
|
|
/pkg/
|
|
/src/yt-offline/
|
|
/yt-offline/
|
|
|
|
# Editor / OS cruft
|
|
*.swp
|
|
.DS_Store
|
|
.claude/
|
|
|
|
# Sensitive: YouTube session cookies — never commit
|
|
cookies.txt
|
|
|
|
# User-specific runtime config (bind address, password hash, etc.) — never commit
|
|
config.toml
|
|
|
|
# Runtime database (watched status, positions, password hash) — never commit
|
|
yt-offline.db
|