A feed's Directory page builds the whole Directory to check that one feed is listed #160
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.
GET /api/directory/{id}andPOST /api/popular/{id}(src/web.rs:1050,src/web.rs:1085) check that the feed may be listed by building the whole Directory (popular(): every feed's listing, every file row for the Podcasts/Blogs split, every subscription) and looking for the id. In production the Directory takes 0.4 s and one feed's Directory page 0.57 s, measured 2026-10-09; subscribing from it pays the same.Fix: ask the one question for the one feed: in the catalogue, not an OPML itself, and neither it nor its OPML private.
Fixed in
e710103: the listing rule is listable(), which the Directory filters by and a feed's page and subscribing ask of the catalogue directly. A feed's Directory page: 0.57 s before, 0.14 s after. Test: the_directory_lists_feeds_not_their_groups_and_nothing_private. Deployed as 0.10.3-dev on 2026-10-09.