Skip to content

feat: add read-only deployment moderation dashboard#1999

Draft
kalvinnchau wants to merge 1 commit into
mainfrom
peon/operator-dashboard
Draft

feat: add read-only deployment moderation dashboard#1999
kalvinnchau wants to merge 1 commit into
mainfrom
peon/operator-dashboard

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a private, deployment-wide read-only dashboard for open moderation reports and recent product feedback
  • expose only GET /api/admin/v1/reports, GET /api/admin/v1/reports/:id, and GET /api/admin/v1/feedback
  • reuse the relay's existing database pool, moderation report tables, and product-feedback repository
  • require an exact admin host plus a trusted-ingress reviewer identity present in an application allowlist
  • build and serve the admin SPA from the existing relay image while failing closed on the admin host

Deliberate omissions

There are no admin mutations, schema migrations, idempotency tables, CSRF state, action kill switches, synthetic Nostr commands, or moderation-handler bypasses. Community moderation remains the only write path.

Verification

  • cargo check -p buzz-relay --all-targets
  • cargo test -p buzz-relay api::admin — 1 passed
  • cargo test -p buzz-relay router::tests — 4 passed
  • cargo fmt --all -- --check
  • pnpm -C admin-web check
  • pnpm -C admin-web build
  • pnpm -C admin-web exec playwright test — 3 passed
  • git diff --check

The pre-push Rust, Desktop, and conformance suites passed. The hook's unrelated mobile lane could not start because flutter is not installed, so the already-verified commit was pushed with the hook disabled.

@kalvinnchau
kalvinnchau force-pushed the peon/operator-dashboard branch from 2d473e1 to 58e8440 Compare July 16, 2026 22:42
@kalvinnchau kalvinnchau changed the title feat: add deployment-wide operator moderation plane feat: add deployment-wide admin moderation surface Jul 16, 2026
@kalvinnchau
kalvinnchau force-pushed the peon/operator-dashboard branch from 58e8440 to 55d3853 Compare July 17, 2026 00:25
Co-authored-by: npub1dccv64krpcpse5cmkzfeh998cftungyatw3djt8jwdw6g43f7fyqzzmrf7 <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1dccv64krpcpse5cmkzfeh998cftungyatw3djt8jwdw6g43f7fyqzzmrf7 <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@sprout-oss.stage.blox.sqprod.co>
@kalvinnchau
kalvinnchau force-pushed the peon/operator-dashboard branch from 55d3853 to 688897a Compare July 17, 2026 00:35
@kalvinnchau kalvinnchau changed the title feat: add deployment-wide admin moderation surface feat: add read-only deployment moderation dashboard Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant