diff --git a/website/USER_SAFETY.md b/website/USER_SAFETY.md index 0acdd98..33d0c6d 100644 --- a/website/USER_SAFETY.md +++ b/website/USER_SAFETY.md @@ -104,6 +104,17 @@ staff's. blocks, and the reader's hides on this module's targets. **`ctx.safety.staffAmong(userIds)`** answers which accounts are staff, for a module that marks lines `canBlock` (S13). Neither the website nor the app holds a list of its own; each refetches after a block or a hide. +- **Team notifications follow the forum** (added 2026-10-31). A new thread or reply is not pushed, + put in the inbox or emailed to a member who blocks its author, or who blocks the member who started + the thread, since the forum would not let them open it. The recipients are worked out once + (`teamNotify.forumPost`, through `userSafety.blockersOf`), so push, the inbox and email skip the same + people. A staff author is blocked by nobody (S8). The daily digest is put together for each + recipient when it is sent, and applies that recipient's `forumFilter`: blocked authors, blocked + thread starters, and the threads and posts they hid. A game block that S14 has not rewritten yet + does not count for instant notifications until the member next reads the forum or their blocks, + which is when S14 rewrites it. The digest is not affected, because its filter rewrites first. + The Team activity feed needs nothing, because forum posts never appear in it. It carries + membership changes, renames and a module's game events. - **Web UI.** The forum's thread and post menus gain *Hide for me* and *Block author*, beside the existing *Report*. *Block author* is offered only where the read says `canBlock` (never your own, a deleted account's or a staff member's), and asks to confirm. A new *Blocked* section on the