wtclaude
673701c91b
PR Checks / client-build (pull_request) Successful in 1m14s
PR Checks / server-tests (pull_request) Successful in 6m4s
PR Checks / bot-tests (pull_request) Successful in 56s
fix(safety): team notifications skip members who block the author
...
#233 left this open: the forum hid a blocked author's posts from a
member, but the member was still pushed, put in the inbox and emailed
about them.
- teamNotify.forumPost excludes every member who blocks the post's
author, or the member who started the thread (the forum 404s that
thread for them). One recipient list, so push, the inbox and email
skip the same people. userSafety.blockersOf answers it, and a staff
author is blocked by nobody (S8). A failed lookup notifies without it.
- The daily digest applies each recipient's forumFilter at send time:
blocked authors, blocked thread starters, hidden threads and posts.
digestPostsSince now also returns the thread's created_by.
- A reply's notify payload carries threadAuthorUserId.
The Team activity feed needed nothing: forum posts are never written to
it (membership, renames and module game events only).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-31 00:23:18 -05:00
..
2026-08-10 21:27:47 -05:00
2026-08-10 21:27:47 -05:00
2026-10-29 18:32:19 -05:00
2026-08-12 09:05:21 -05:00
2026-07-21 23:38:48 -05:00
2026-08-10 17:47:59 -05:00
2026-08-11 12:08:26 -05:00
2026-08-10 17:47:59 -05:00
2026-07-18 22:01:06 -05:00
2026-07-18 22:01:06 -05:00
2026-07-20 18:37:17 -05:00
2026-07-21 00:33:01 -05:00
2026-08-29 01:53:50 -05:00
2026-07-21 23:38:48 -05:00
2026-08-12 07:57:08 -05:00
2026-08-07 20:09:56 -05:00
2026-08-11 21:41:18 -05:00
2026-08-29 13:07:39 -05:00
2026-10-30 05:41:00 -05:00
2026-07-27 15:19:26 -05:00
2026-10-27 13:13:51 -05:00
2026-10-23 18:52:09 -05:00
2026-10-29 18:32:19 -05:00
2026-10-28 04:44:25 -05:00
2026-10-26 03:39:42 -05:00
2026-10-31 00:23:18 -05:00
2026-08-29 01:53:50 -05:00
2026-08-28 20:52:55 -05:00
2026-10-29 18:32:19 -05:00
2026-08-29 01:53:50 -05:00
2026-08-29 01:53:50 -05:00
2026-08-31 10:47:34 -05:00
2026-08-31 20:33:02 -05:00
2026-08-31 10:47:34 -05:00
2026-09-01 14:29:21 -05:00
2026-09-04 13:06:46 -05:00
2026-08-29 08:07:27 -05:00
2026-08-31 02:07:10 -05:00
2026-09-04 02:43:53 -05:00
2026-09-01 15:40:53 -05:00
2026-09-01 15:40:53 -05:00
2026-08-29 18:13:57 -05:00
2026-09-04 13:06:46 -05:00
2026-10-06 02:47:00 -05:00
2026-09-09 19:20:31 -05:00
2026-09-03 14:15:04 -05:00
2026-10-22 00:38:39 -05:00
2026-09-02 22:11:20 -05:00
2026-09-04 13:06:46 -05:00
2026-09-03 21:19:27 -05:00
2026-10-30 05:41:00 -05:00
2026-10-12 15:40:30 -05:00
2026-09-04 13:06:46 -05:00
2026-09-07 16:34:03 -05:00
2026-10-06 02:47:00 -05:00
2026-10-06 16:57:46 -05:00
2026-09-02 16:10:16 -05:00
2026-09-04 13:06:46 -05:00
2026-10-15 02:39:43 -05:00
2026-10-16 01:51:55 -05:00
2026-10-22 00:38:39 -05:00
2026-09-03 05:50:58 -05:00
2026-09-02 16:10:16 -05:00
2026-10-22 00:38:39 -05:00
2026-09-07 16:34:03 -05:00
2026-10-16 01:51:55 -05:00
2026-10-12 02:08:04 -05:00
2026-10-16 15:18:53 -05:00
2026-08-10 22:54:16 -05:00
2026-07-21 00:33:01 -05:00
2026-07-17 15:50:49 -05:00
2026-08-12 08:16:59 -05:00
2026-08-29 20:11:54 -05:00
2026-08-28 20:52:55 -05:00
2026-07-20 16:55:06 -05:00
2026-08-29 00:49:25 -05:00
2026-07-20 16:55:06 -05:00
2026-07-21 00:26:01 -05:00
2026-07-22 13:14:02 -05:00
2026-08-12 03:09:45 -05:00
2026-08-10 22:54:16 -05:00
2026-08-12 07:57:08 -05:00
2026-08-11 22:57:37 -05:00
2026-09-01 14:29:21 -05:00
2026-09-23 01:26:52 -05:00
2026-10-22 00:38:39 -05:00
2026-10-30 05:41:00 -05:00
2026-09-04 13:06:46 -05:00
2026-08-12 03:48:27 -05:00
2026-10-22 00:38:39 -05:00
2026-08-08 00:42:19 -05:00
2026-08-31 20:33:02 -05:00
2026-08-31 20:33:02 -05:00
2026-08-18 14:35:23 -05:00
2026-07-21 00:26:01 -05:00
2026-07-21 23:38:48 -05:00
2026-07-19 03:57:13 -05:00
2026-08-29 00:49:25 -05:00
2026-08-11 12:08:26 -05:00
2026-08-29 01:53:50 -05:00
2026-08-07 19:16:23 -05:00
2026-07-21 00:33:01 -05:00
2026-08-10 22:03:22 -05:00
2026-07-27 20:52:14 -05:00
2026-08-18 14:35:23 -05:00
2026-07-21 23:38:48 -05:00
2026-10-19 14:02:49 -05:00
2026-08-17 15:08:58 -05:00
2026-08-11 12:08:26 -05:00
2026-08-29 00:49:25 -05:00
2026-07-04 21:54:58 -05:00
2026-08-11 18:39:55 -05:00
2026-08-08 00:02:33 -05:00
2026-08-18 18:53:34 -05:00
2026-10-19 14:02:49 -05:00
2026-08-29 01:53:50 -05:00
2026-07-04 22:17:35 -05:00
2026-07-28 01:01:12 -05:00
2026-10-19 20:33:11 -05:00
2026-08-17 14:57:23 -05:00
2026-08-17 20:15:18 -05:00
2026-10-31 00:23:18 -05:00
2026-10-30 05:41:00 -05:00
2026-08-18 20:25:30 -05:00
2026-08-17 15:08:58 -05:00
2026-08-29 20:11:54 -05:00
2026-10-31 00:23:18 -05:00
2026-08-18 14:35:23 -05:00
2026-08-17 20:15:36 -05:00
2026-10-30 05:41:00 -05:00
2026-08-18 14:35:23 -05:00
2026-08-19 00:07:27 -05:00
2026-08-19 00:07:27 -05:00
2026-08-07 19:16:23 -05:00
2026-07-21 23:38:48 -05:00
2026-10-29 18:32:19 -05:00
2026-07-06 01:36:51 -05:00
2026-08-31 02:07:10 -05:00
2026-10-31 00:23:18 -05:00