You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR fixes a security issue in the /api/notify route where rate limiting was bypassed when getClientIp() returned "unknown". In such cases, the request was incorrectly allowed to proceed without being subjected to throttling, leading to a potential abuse vector.
The fix ensures that rate limiting is always enforced by introducing a fallback rate-limit key when the client IP cannot be resolved. This guarantees consistent protection across both POST and GET endpoints.
Pillar
🎨 Pillar 1 — New Theme Design
📐 Pillar 2 — Geometric SVG Improvement
🕐 Pillar 3 — Timezone Logic Optimization
🛠️ Other (Bug fix, refactoring, docs)
Visual Preview
N/A (Backend security fix affecting API behavior only)
Checklist before requesting a review:
I have read the CONTRIBUTING.md file.
I have tested these changes locally (localhost:3000/api/streak?user=YOUR_USERNAME).
I have run npm run format and npm run lint locally and resolved all errors (CI will fail otherwise).
My commits follow the Conventional Commits format (e.g., feat(themes): ..., fix(calculate): ...).
I have updated README.md if I added a new theme or URL parameter.
I have started the repo.
I have made sure that i have only one commit to merge in this PR.
The SVG output matches the CommitPulse "premium quality" aesthetic standard (no raw elements, smooth animations, correct fonts).
(Recommended) I joined the CommitPulse Discord community for contributor discussions, mentorship, and faster PR support.
JhaSourav07
added
level:beginner
Small changes Usually isolated fixes or simple UI/text updates.
quality:exceptional
Outstanding contribution with exceptional implementation quality, testing.
gssoc:approved
PR has been reviewed and accepted for valid contribution points
and removed
level:advanced
Complex contributions involving architecture, optimization, or significant feature work
quality:clean
PR follows clean coding practices, proper formatting, documentation, and maintainability standards.
labels
Jun 3, 2026
🎉 Congratulations @mohdsubhan1756! Your PR has been successfully merged. 🚀
Thank you for contributing to CommitPulse. Your work helps us build a better tool for the community.
⚠️Important for GSSoC Contributors:
You are strictly advised to join our Discord Server as it is mandatory for all GSSoC participants. All important announcements, point claims, and community discussions happen there.
Keep building! 💻✨
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gssoc:approvedPR has been reviewed and accepted for valid contribution pointsGSSoC 2026level:beginnerSmall changes Usually isolated fixes or simple UI/text updates.mentor:Aamod007quality:exceptionalOutstanding contribution with exceptional implementation quality, testing.type:bugSomething isn't working as expectedtype:securitySecurity fixes, dependency updates, or hardening
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #3359
This PR fixes a security issue in the
/api/notifyroute where rate limiting was bypassed whengetClientIp()returned"unknown". In such cases, the request was incorrectly allowed to proceed without being subjected to throttling, leading to a potential abuse vector.The fix ensures that rate limiting is always enforced by introducing a fallback rate-limit key when the client IP cannot be resolved. This guarantees consistent protection across both
POSTandGETendpoints.Pillar
Visual Preview
N/A (Backend security fix affecting API behavior only)
Checklist before requesting a review:
CONTRIBUTING.mdfile.localhost:3000/api/streak?user=YOUR_USERNAME).npm run formatandnpm run lintlocally and resolved all errors (CI will fail otherwise).feat(themes): ...,fix(calculate): ...).README.mdif I added a new theme or URL parameter.