perf: bound RSS/Atom feeds to the most recent N posts (split from #154) #158
Labels
No labels
kind
bug
kind
enhancement
wayfinder
grilling
wayfinder
map
wayfinder
prototype
wayfinder
research
wayfinder
task
workflow
needs-info
workflow
needs-triage
workflow
ready-for-agent
workflow
ready-for-human
workflow
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rosa/vernier#158
Loading…
Reference in a new issue
No description provided.
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?
Split from #154. #154 tracks general pagination for the profile/tag/admin lists (a UX/design decision); this issue is the narrow, decision-free half: bound the RSS and Atom feeds to the most recent N posts.
Problem
The per-author feed queries select an author's public, live posts
ORDER BY … DESCwith noLIMIT. Every feed poll therefore serializes the author's entire public history into the response. Feed readers expect a bounded recent window, and payloads grow without bound as post count grows — the worst offender among the unbounded lists because feeds are polled continuously by external clients.Scope
Cap the feed queries to the most recent N items only. No pagination, no UI, no cursor — feeds are a fixed recent window. See #154 for the profile/tag/admin listing work.
Agent Brief
Category: enhancement
Summary: Bound the RSS and Atom feeds to the most recent N posts instead of the author's entire public history.
Current behavior:
The feed handlers render a per-author RSS and Atom feed from the same underlying listing the Posts Service exposes for an author's public, live, public-visibility posts, ordered newest-first. That query has no limit, so a feed response contains every qualifying post the author has ever published and grows without bound.
Desired behavior:
Each feed contains only the most recent N qualifying posts (newest-first, same ordering and visibility rules as today). N is a fixed constant — pick a conventional feed window (20 is a reasonable default) and define it as a single named constant rather than a magic number. Posts beyond the window simply do not appear in the feed; there is no "next page" link (Atom pagination is explicitly out of scope). The limit is applied in the repository query, not by fetching everything and truncating in the handler or view-model.
Key interfaces:
Acceptance criteria:
LIMIT), not by post-fetch truncation.Out of scope: