Skip to content

feat(feed): add Atom RSS feed for public profile activity#1346

Open
mallya-m wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
mallya-m:feat/rss-feed-944
Open

feat(feed): add Atom RSS feed for public profile activity#1346
mallya-m wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
mallya-m:feat/rss-feed-944

Conversation

@mallya-m
Copy link
Copy Markdown
Contributor

What does this PR do?

Adds a valid Atom XML feed at /u/<username>/feed.xml for public DevTrack profiles, allowing developers to syndicate their GitHub activity to RSS readers and portfolio sites.

Related issue

Closes #944

Changes made

  • New route: src/app/u/[username]/feed.xml/route.ts
  • Returns valid Atom XML with Content-Type application/atom+xml
  • Reuses existing formatActivity from activity-formatter.ts — no new DB queries
  • Returns 404 if user profile is not public (respects visibility settings)
  • Feed contains last 20 activity items (pushes, PRs, releases, issues)
  • Each entry has: title, link, published date, summary
  • No new dependencies — template literal XML only
  • 5-minute Cache-Control for RSS reader polling

How to test

  1. Enable public profile in dashboard settings
  2. Visit /u/<your-github-login>/feed.xml
  3. Valid Atom XML returned with recent activity items
  4. Disable public profile — returns 404

@vercel
Copy link
Copy Markdown

vercel Bot commented May 27, 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 27, 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 gssoc:approved, level:intermediate, and type:feature labels? Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add RSS/Atom feed for public profile activity

1 participant