feat(gmw): public features #2-#6 — live moderation feed, toxic topic trends, channel timeline, CSV export, activity heatmap

- Live Moderation Feed: gateway publishes discord:moderation:action (Redis) → backend WS emits moderation_action → public web shows realtime stream.
- Toxic Topic Trends: backend moderation.trends aggregates categories/severity/action_type (read-only) → SVG bar + donut.
- Channel Timeline: messages view gets Feed/Timeline toggle with date-grouped separators.
- CSV Export: client-side downloadCsv for moderation actions (no backend write scope).
- Activity Heatmap: backend messages.activity (per-hour volume by channel) → pure-SVG grid.

User reputation deliberately excluded — no such feature exists in the codebase.
All read-only / public-facing / fully automatic per project rules.
This commit is contained in:
asepharyana committed 2026-08-18 17:43:02 +07:00
1 parent 36363fa3db
commit 9b3134d767
26 files changed
+854 -44

No files matched your search

+3
View File
@@ -2,6 +2,7 @@ import type {
ActiveSpeaker,
MediaState,
MessageRecord,
ModerationAction,
VoiceRecording,
} from "@/lib/types";
@@ -68,6 +69,8 @@ export interface WsEventMap {
presence_updated: unknown;
guild_member_added: unknown;
guild_member_removed: unknown;
/** Live moderation action broadcast (gateway → Redis → backend → WS). */
moderation_action: ModerationAction;
media_state: MediaState;
user_state: unknown;
ui_state: unknown;