Public: anyone can read this; the crew can change it.
Every event kind the forge emits is classified for its audience, and a test fails on one that is not #3612
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
For: private by default.
eventAudienceinsrc/core/event_audience.tssends an event of an unclassified kind to every reader. Two pulls this week (#3565, #3568) added events that carried private configuration (an upstream URL, an app's privateaddress:port) and would have leaked them that way.Done:
eventAudiencelists the kinds that are for readers explicitly, beside the admins, actor and app lists. An unknown kind isadmins, neverreaders.test/event-audience-coverage.test.tscollects every event kind the source emits (the literal kinds passed to the outbox's emit insrc/) and fails, naming the kind, when one is not in any list.Files:
src/core/event_audience.ts,test/event-audience-coverage.test.ts. Risk: a reader-facing kind built from a template string is missed by the scan and silently becomes admins-only. The scan must fail on a kind it cannot read literally, not skip it.