The Directory shows initials for podcasts nobody here subscribes to: their artwork is refused #273

Closed
opened 2026-10-17 06:54:27 -07:00 by rays · 3 comments
Owner

/api/art answers 404 "no feed names that artwork" for any image no feed or item in this server's database names. The Directory's listings come from the directory service, so a show nobody here subscribes to has its image refused and the page draws its initials instead (dialogs.ts artHTML(p.image) -> util.ts artSrc -> /api/art). 54 such 404s came in one burst at 2026-10-17 13:31:58 UTC from one browser, with no other request in that second (the Directory shows from its cache once seen); 128 in the last 7 days. Each also costs a scan of entries (the issue above), about 800 ms.

{container="iPX"} |= "/api/art -> 404"

Found by the prod check; the query string is not logged, so which images were refused is inferred from the page's code and the burst's shape.

/api/art answers 404 "no feed names that artwork" for any image no feed or item in this server's database names. The Directory's listings come from the directory service, so a show nobody here subscribes to has its image refused and the page draws its initials instead (dialogs.ts artHTML(p.image) -> util.ts artSrc -> /api/art). 54 such 404s came in one burst at 2026-10-17 13:31:58 UTC from one browser, with no other request in that second (the Directory shows from its cache once seen); 128 in the last 7 days. Each also costs a scan of entries (the issue above), about 800 ms. ``` {container="iPX"} |= "/api/art -> 404" ``` Found by the prod check; the query string is not logged, so which images were refused is inferred from the page's code and the burst's shape.
rays added the bug label 2026-10-17 06:54:27 -07:00
Author
Owner

Still happening after the 15:28 UTC deploy on 2026-10-17: 43 /api/art 404s in about 5.5 hours, all from the Directory. Query: {container="iPX"} |= "/api/art -> 404"

Still happening after the 15:28 UTC deploy on 2026-10-17: 43 /api/art 404s in about 5.5 hours, all from the Directory. Query: `{container="iPX"} |= "/api/art -> 404"`
Author
Owner

Correction to the comment above: I only checked one of the 43 404s and did not confirm that each came from the Directory. They match this issue, but that is not verified.

Correction to the comment above: I only checked one of the 43 404s and did not confirm that each came from the Directory. They match this issue, but that is not verified.
Author
Owner

Fixed in 21c786f, deployed: ipx remembers the images the directory's listings and pages carry and lets those through /api/art as well; any other address is still refused. On production, artwork for five Directory podcasts nobody here subscribes to (10% Happier, 13 Minutes, 20/20...) now answers 200 with the image. shortcut: the list is in memory, refilled when the page next reads the Directory after a restart.

Fixed in 21c786f, deployed: ipx remembers the images the directory's listings and pages carry and lets those through /api/art as well; any other address is still refused. On production, artwork for five Directory podcasts nobody here subscribes to (10% Happier, 13 Minutes, 20/20...) now answers 200 with the image. shortcut: the list is in memory, refilled when the page next reads the Directory after a restart.
rays closed this issue 2026-10-18 11:33:32 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#273