Reload bug: music's router boots first, rewrites an unknown /video-detail/... URL to /dashboard, and my init read the already-changed URL (no restore) AND dispatched open-detail before video-detail.js was listening (empty page + stray back button). Fix: capture the path at SCRIPT-EVAL time (before music boots) and DEFER the restore to a macrotask so every DOMContentLoaded handler is registered and music's initial routing has run — then re-assert the real URL. Reload/deep-link now restore the exact item. Missing-episodes bug: the full-episode-list cascade only ran via the lazy refresh, which was gated on ART being missing — so a show that already had posters/logo never pulled its episode list (stayed owned-only). Added shows.episodes_synced (schema v5): the worker sets it after a full cascade; show_detail returns it; the lazy refresh now triggers when NOT synced, so owned + missing episodes populate. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| music_database.py | ||
| personalized_schema.py | ||
| video_database.py | ||
| video_schema.sql | ||