docs(modules): the presence fix - nothing names who is online by default

modules/rust/PLAN.md gains §23: the org lead's rule (2026-09-22) that
nothing names who is online by default, the five decisions it needed
(D42-D46), the fourth surface the rule reached (the leaderboard's
lastSeen), the viewer re-read from the users row, and a defect four
phases old that the walk found - every empty state in module-rust
rendered as a blank box, because core's EmptyState renders children and
the Integration Kit's template teaches title/message.

rust-link/PROTOCOL.md reclassifies six §8.4 kinds from public to
presence - public with an operator-chosen audience - with no wire change.

android/PLAN.md records the app's half as an amendment to M14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-09-23 00:32:17 -05:00
parent eb4a8bcafc
commit 3b7b9cca4f
3 changed files with 134 additions and 7 deletions

View File

@@ -1511,6 +1511,23 @@ push, and Play (M6–M8) follow the designed app.
Phase 10 is when it will matter, because a notification about an entitlement will want
somewhere to land.
#### Amended 2026-09-22 — M14's Online tab and feed stop naming players by default
Not a milestone of its own: a correction to what M14 shipped, made on the website first
([`../modules/rust/PLAN.md`](../modules/rust/PLAN.md) §23). **Nothing names who is online by
default** — the module now withholds the Online list, and every feed item that says a named
player was on, from anyone below an operator-chosen audience (staff unless widened), while the
player **count** stays public.
The app's part is to never read that as *nobody is on*. `RustOnlineDto` carries `hidden`,
`count` and `audience`, and `RustEventListDto` carries `presenceHidden` and `presenceAudience`;
the repository and view model keep the whole answer rather than its rows. The Online tab says
"2 players online" and who can see the names; the feed says once, above the rows, that joins,
deaths and chat are not shown. An older module without the flags decodes as visible, as before.
Walked on an emulator: the withheld panel at the default, and the names arriving on the next poll
once the fleet was widened to signed-in — the app's bearer session reaching the module's viewer
check. Branch `fix/rust-presence-visibility`.
### Deferred (not a milestone)
- **Platform Teams in the app** — **deferred 2026-08-17, no app work scheduled.** The website is