feat(feed): periodic background refresh with failed-fetch guard

Self-rescheduling refresh timer (default 30 min, configurable via a
Preferences item, re-read on every tick, skips in-flight refreshes).
fetchEpisodes returns null on network failure/timeout so a failed
refresh can never wipe a feed's episodes (addFeed/refreshFeed/
refreshAllFeeds all treat null as unchanged); feeds still refresh on
launch.
This commit is contained in:
2026-08-11 13:11:20 -04:00
parent df9c519439
commit 2d7d49b91c
6 changed files with 107 additions and 6 deletions

View File

@@ -42,6 +42,7 @@ const defaultPreferences: UserPreferences = {
autoDownloadWhitelist: [],
autoJumpToPlayer: true,
fetchMoreMode: "manual",
refreshIntervalMinutes: 30,
};
const defaultState: AppState = {