Stage 17 round 6 (#18, PR D): admin Messages moderation section #25
Reference in New Issue
Block a user
Delete Branch "feature/admin-messages"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Round-6 review backlog, final part D (#18).
A new
/_gm/messagesadmin console page lists posted chat messages (nudges excluded) newest-first: time · source · sender · IP · message · game. Source is the sender's account kind —guest/robot/ its oldest identity kind (e.g.email,telegram). The sender links to the user card and the game to the game card; the list is searchable by sender name / external-id glob masks and pinnable to one game (?game=) or sender (?user=), reachable from a top-level Messages nav entry and from the game and user cards.Server-rendered (
adminconsoleMessagesView+messages.gohtml, 50/page via the shared pager;{{.Body}}auto-escaped). The list query lives insocial(raw SQL,kind='message', source via a SQLCASE), reusing the now-exportedaccount.LikePatternglob helper.Owner decisions: messages only (no nudges); separate name/ext masks (matching the Users section); a top-level nav entry plus the card deep-links.
Tests:
adminconsolerender case; backend integrationAdminListMessages(real Postgres, green) — nudge exclusion, game/sender pins, glob masks, source label. gofmt/vet/build clean; full backend unit green.Branched independently off
development(not stacked on the C-chain), so the code diff is admin-only and self-contained. The only shared file with the C-stack isPLAN.md's round-6 list (both append a bullet) — expect a trivial "keep both bullets" merge; everything else is conflict-free (different doc sections).e01faae28ato356f490546