FeedEcho v1.5.0 — Pause, Retries & Failure Notifications
FeedEcho v1.5.0 — Pause, Retries & Failure Notifications
Reliability release: feeds can be paused, failed deliveries retry intelligently, and FeedEcho tells you when something is broken.
Per-feed pause
Pause button on each feed (Feeds page). Paused feeds are skipped entirely — no fetching, no posting — while echoes and cursor state are preserved for when you resume. Useful for feeds that go temporarily spammy (liveblogs, event coverage).
Bounded retries with backoff
- Failed deliveries retry automatically with exponential backoff (default: 5 min, doubling per attempt, capped at 1 day)
- Max attempts setting (default 5, 0 = retry forever). Exhausted items are marked Gave up — terminal — so one broken item can no longer stall the whole feed
- A retry sweep after each feed check picks up due retries even behind the cursor; items that have aged out of the feed give up cleanly instead of looping
- History shows attempt counts and next retry times, with per-row Retry (reset + requeue) and Give up actions
Failure notifications
- After N consecutive failed delivery attempts (default 3), FeedEcho emails you once via the existing SMTP settings — with the likely causes (expired Mastodon token, changed SMTP credentials, unreachable host)
- One recovery email when delivery starts working again
- Alert state is persisted, so restarts don't re-send alerts
- Notification address defaults to your first email account; overridable in Settings
All knobs live in Settings → Retries & Failure Notifications.
Quality
- 12 new tests: pause behavior, backoff gating, give-up at cap, retry sweep, notification state machine (97 total passing)
- Schema migrates automatically on startup
Upgrade
Docker: `docker compose pull && docker compose up -d`. From source: pull master and restart. No config changes required.