Skip to content

Add extension reporting system for community moderation#721

Draft
shyim wants to merge 1 commit into
mainfrom
claude/store-extension-reporting-g9r2aj
Draft

Add extension reporting system for community moderation#721
shyim wants to merge 1 commit into
mainfrom
claude/store-extension-reporting-g9r2aj

Conversation

@shyim

@shyim shyim commented Jun 29, 2026

Copy link
Copy Markdown
Member

Summary

Implements a community-driven extension reporting system that allows authenticated users to flag store extensions for issues (performance, security, compatibility, stability, or other), with admin moderation capabilities to approve or reject reports. Approved reports surface as community warnings on extension listings.

Key Changes

Backend (API)

  • New endpoint POST /account/extensions/{extensionName}/report - allows users to submit extension reports with category and comment
  • Admin endpoints for moderation:
    • GET /admin/extension-reports - list reports with filtering by status (pending/approved/rejected)
    • POST /admin/extension-reports/{reportId}/approve - approve a report to make it community-visible
    • POST /admin/extension-reports/{reportId}/reject - reject a report
  • Database schema - new store_extension_report table tracking reports with status, reviewer info, and timestamps
  • Report aggregation - approved reports grouped by category are attached to extension objects in account and environment extension lists
  • Validation - prevents duplicate pending reports from same user for same extension; enforces comment length limits (max 2000 chars)
  • Audit logging - admin moderation actions recorded in audit trail

Frontend

  • Report modal (ReportExtension.vue) - user-facing dialog to submit extension reports with category selection and comment textarea
  • Admin list view (ListExtensionReports.vue) - paginated admin interface to review pending reports with filtering, approve/reject actions, and reporter/reviewer information
  • Report badge (ExtensionReportBadge.vue) - visual indicator showing count of approved reports per category with tooltip breakdown
  • Integration - report buttons added to extension listings (account and environment views) with badge display
  • Routing - new admin route for extension reports management
  • i18n - translations for all UI elements in English and German

API Schema

  • New types: ExtensionReportRequest, ExtensionReportSummary, AdminExtensionReport, AdminExtensionReportsResponse
  • New enum: ExtensionReportRequestCategory with validation method
  • Updated extension types to include optional reports field for community warnings

Implementation Details

  • Reports start in 'pending' state and only become visible to other users once approved by an admin
  • Duplicate prevention: users cannot create multiple pending reports for the same extension
  • Reporter information is preserved in audit trail but can be anonymized if user is deleted
  • Approved reports are aggregated by category and displayed as warnings on extension listings
  • Admin moderation includes reviewer name and timestamp tracking

https://claude.ai/code/session_016PTa5cyD5et3bj76bfD1qL

Let users flag a store extension for performance, security,
compatibility, stability or other issues. Reports start in a pending
state and are only surfaced to other users once an admin approves them;
approved reports appear as an aggregated community warning badge on the
"My Extensions" list and the per-environment extensions tab.

- DB: new store_extension_report table (migration 000014 + schema.sql)
- API: POST /account/extensions/{name}/report plus admin list/approve/
  reject endpoints, with approval audit-logged
- Account and environment extension lists carry approved report summaries
- Frontend: report modal, warning badge, and an admin review page
  (route + nav + en/de translations)
- Tests for submit validation and the full submit→moderate→surface flow

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PTa5cyD5et3bj76bfD1qL
@shyim shyim force-pushed the claude/store-extension-reporting-g9r2aj branch from 6f9d00b to 2aec75e Compare June 29, 2026 13:24
@datadog-official

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 29.30%
Overall Coverage: 30.63% (+0.14%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 2aec75e | Docs | Give us feedback!

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.

2 participants