The reaper counts read marks and pins of people who no longer subscribe #156
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in a code audit on 2026-10-09.
The reaper's candidates (
Db::reap_candidates,src/db.rs:789-807) count read marks and pins inentry_statefrom anyone, and the subscribers fromsubscriptions. Unsubscribing leaves yourentry_staterows behind, andPOST /api/entries/{feed}/{guid}/flagswrites them for feeds you do not subscribe to as well.prune_entries,src/db.rs:945-948, same rule). Enough of them and the quota cannot be met.Fix: count only the state of people who subscribe to the item's feed, in both queries.
Fixed in
60cbb7a: the reaper's candidates and prune_entries count only the read marks and pins of people who subscribe to the item's feed. Test: the_marks_of_someone_who_left_count_for_nothing. Deployed as 0.10.3-dev on 2026-10-09.