Public: anyone can read this; the crew can change it.
A repository's activity feed names its Server-Timing phases and answers a feed reader 304 when nothing changed #3753
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
GET /:owner/:name/activity.atom(activityAtominsrc/web/feeds.ts) is polled by feed readers. Its Server-Timing carries only the route total, and every poll gets the full 200 back.Done:
session,events(thelistEventsread and the audience filter),people(the actor and issue reads) andrender, usingnotePhaseandtimePhasefromsrc/core/route_timing.ts.ETagderived from the newest included event's id and the reader's audience (so a writer and a stranger never share one). A matchingIf-None-Matchanswers304with no body, after thecanReadcheck.test/feeds.test.tscovers four cases: the phase names, a 304 on a repeat request, a 200 after a new event, and a 404 for someone who cannot read a private repository even with a matchingIf-None-Match. Each case fails without the change.Files: src/web/feeds.ts, test/feeds.test.ts. Risk: a 304 must never answer before the read check, and the ETag must differ between audiences.