Each step in loadBookList now updates the visible UI so the exact
failure point is obvious without opening DevTools.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previous changes (renderBookList keyOk warning, openBook overlay fix)
were being served from the stale v5 cache.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Implement gPodder API v2 compatible endpoints at /api/2/:
- Auth: login/logout via HTTP Basic Auth or session
- Devices: list and register sync devices
- Subscriptions: get/add/remove per device, delta sync with ?since=
- Episode actions: upload play/position events, syncs to EpisodeProgress
- Server URL for AntennaPod: https://diora.creamfresh.xyz/api/2/
- Bump SW cache diora-v4 → v5 to force re-fetch of updated app.js
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Caching /books/ caused stale empty list after upload. Caching / caused
stale window.USER_ID after session changes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>