Skip to content

feat(discussions): add GitHub Discussions activity widget#600

Open
mallya-m wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
mallya-m:feat/discussions-widget-258
Open

feat(discussions): add GitHub Discussions activity widget#600
mallya-m wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
mallya-m:feat/discussions-widget-258

Conversation

@mallya-m
Copy link
Copy Markdown
Contributor

What does this PR do?

Adds a Discussion Activity widget to the dashboard showing how active the user is in GitHub Discussions — discussions started, comments given, and marked-as-answer count.

Related issue

Closes #258

Changes made

  • New GET /api/metrics/discussions route using GitHub REST search + GraphQL
  • REST: discussions started via /search/issues?q=author:{user}+type:discussion
  • GraphQL: comments given and marked-as-answer count
  • 5-minute Cache-Control header to avoid rate limit issues
  • New DiscussionsWidget.tsx component with 3 stat chips
  • Added widget to dashboard below Issue Metrics

How to test

  1. Sign in and go to dashboard
  2. Scroll to Discussion Activity widget
  3. Three stat chips show: Discussions Started, Comments Given, Marked as Answer

Screenshots

image

@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

@mallya-m is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels May 21, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@mallya-m
Copy link
Copy Markdown
Contributor Author

@Priyanshu-byte-coder could you please add the gssoc:approved , intermediate , quality and type:feature labels?
Thank you!

Copy link
Copy Markdown
Owner

@Priyanshu-byte-coder Priyanshu-byte-coder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix before merging:

  1. Missing EOF newlines — all changed files must end with \n
  2. Hardcoded Tailwind red colors in DiscussionsWidget — replace with CSS vars:
    • text-red-*text-[var(--destructive)]
    • bg-red-*bg-[var(--destructive)]

Colors must go through CSS variables to support dark/light theming.

@Priyanshu-byte-coder Priyanshu-byte-coder added the level:intermediate GSSoC: Intermediate difficulty (35 pts) label May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution level:intermediate GSSoC: Intermediate difficulty (35 pts) type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add GitHub Discussions activity widget

2 participants