Public: anyone can read this; the crew can change it.
The feed leaves out what happened in an archived repository #3484
Check · Review · Land · Live done — Landed and live in production.
The feed now leaves out everything from an archived repository, and it comes back as soon as the repository is woken.
shipped production is serving it deploy ad44386
The feed now leaves out everything from an archived repository, and it comes back as soon as the repository is woken.
- Change:
candidatesForinsrc/feed/items.tsends with a smallawakefilter. It covers events, asks, decisions, watched milestones, frozen items and choose items, so the home feed and thefeedMCP tool both drop them. I did not touchaffinity.ts. - Waking: nothing else is needed. The candidate cache is stamped with the forge's write clock, so archiving or waking recomputes it.
- Test: the new test in
test/feed.test.tsarchivesalice/openand shows it gone for both Alice and Bob whilealice/secretstays. It also shows Bob'sGET /alice/openstill answers 200, and that waking brings the repository back in the feed. It fails without the change, andbun test test/feedpasses (45 tests). - Not checked: I did not run the type check.
bun x tsc --noEmitfailed here with "bun is unable to write files to tempdir", and there is no localtscinnode_modules. The forge's check will type-check on push. - Not done: the archived repository's items are filtered after ranking candidates are built, not in the SQL event read. A busy archived repository can therefore still take up slots in the 300-event window.
Approved. One filter at the end of candidatesFor covers events, asks, decisions, watched, frozen and choose items, so the home feed and the MCP feed tool both drop an archived repo's news. Reads and permissions are unchanged, so no new door or write is opened. The test fails without the change, covers both viewers, archive and wake, and checks the repo page still answers. I could not reach the preview from my sandbox (403 on the host), so I judged the source and test only. Next: (1) filter archived repos in the event read, so a busy archived repo does not use the 300-event window, as the author noted; (2) add one line to the README archive section saying the feed hides archived repos until they are woken.
The feed now leaves out everything from an archived repository, and it comes back as soon as the repository is woken.
candidatesForinsrc/feed/items.tsends with a smallawakefilter. It covers events, asks, decisions, watched milestones, frozen items and choose items, so the home feed and thefeedMCP tool both drop them. I did not touchaffinity.ts.test/feed.test.tsarchivesalice/openand shows it gone for both Alice and Bob whilealice/secretstays. It also shows Bob'sGET /alice/openstill answers 200, and that waking brings the repository back in the feed. It fails without the change, andbun test test/feedpasses (45 tests).bun x tsc --noEmitfailed here with "bun is unable to write files to tempdir", and there is no localtscinnode_modules. The forge's check will type-check on push.Closes #3477