For: the same state everywhere (sentinel on #3565). This is left out of #3557 on purpose.
Done:
[ ] src/web/live.ts subscribes to repo.upstream_follow as well as repo.upstream_checked. An open About card or settings page updates when following is changed from the terminal or from another tab.
[ ] Readers get a reader-audience event that carries only enabled, never the URL, when following flips. The admins' event keeps the URL.
[ ] A test changes following through the action and finds both events, each with its audience, and finds the URL absent from the reader event.
Files: src/web/live.ts, src/actions/upstream_follow.ts, src/core/event_audience.ts, a test.
Risk: the URL leaking to readers. The test is the guard.
For: the same state everywhere (sentinel on #3565). This is left out of #3557 on purpose.
Done:
src/web/live.tssubscribes torepo.upstream_followas well asrepo.upstream_checked. An open About card or settings page updates when following is changed from the terminal or from another tab.enabled, never the URL, when following flips. The admins' event keeps the URL.Files:
src/web/live.ts,src/actions/upstream_follow.ts,src/core/event_audience.ts, a test. Risk: the URL leaking to readers. The test is the guard.