Retire davewiner's 922 rows, without taking the 12 that people still read #3

Closed
opened 2026-09-14 13:58:17 -07:00 by rays · 0 comments
Owner

The OPML left config.toml before retire_group (src/main.rs:966) existed, so nothing retired its derived feeds; the backstop in subscriptions() (src/main.rs:927) skips them forever instead. Their stale last_error text accounts for 55 of the 76 stored errors.

910 of them nobody subscribes to: 791 have no files and should be dropped, 119 have files and should be marked orphaned.

The other 12 (xkcd, The Verge, TechCrunch, Hacker News and others, held by users 2 and 3) were promoted into config.toml and are scanned from there, but their rows still say managed = 1. managed_feeds() returns them, so retire_group("davewiner") as written would drop_managed the 11 without files, deleting their stored entries. unmanage (src/db.rs:1321) exists for exactly this and was never applied to them.

At startup, unmanage any managed row that has its own config entry, then retire every group whose parent is not in config. Copy state.db aside before deploying it. (src/main.rs, src/db.rs)

The OPML left `config.toml` before `retire_group` (`src/main.rs:966`) existed, so nothing retired its derived feeds; the backstop in `subscriptions()` (`src/main.rs:927`) skips them forever instead. Their stale `last_error` text accounts for 55 of the 76 stored errors. 910 of them nobody subscribes to: 791 have no files and should be dropped, 119 have files and should be marked orphaned. The other 12 (xkcd, The Verge, TechCrunch, Hacker News and others, held by users 2 and 3) were promoted into `config.toml` and are scanned from there, but their rows still say `managed = 1`. `managed_feeds()` returns them, so `retire_group("davewiner")` as written would `drop_managed` the 11 without files, deleting their stored entries. `unmanage` (`src/db.rs:1321`) exists for exactly this and was never applied to them. At startup, unmanage any managed row that has its own config entry, then retire every group whose parent is not in config. Copy `state.db` aside before deploying it. (`src/main.rs`, `src/db.rs`)
rays closed this issue 2026-09-15 10:01:28 -07:00
rays added the enhancement label 2026-09-17 13:32:49 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipodderx-rs#3