Skip to content

feat: add feedback spam protection#5

Open
akramj13 wants to merge 4 commits into
FuJacob:mainfrom
akramj13:main
Open

feat: add feedback spam protection#5
akramj13 wants to merge 4 commits into
FuJacob:mainfrom
akramj13:main

Conversation

@akramj13

Copy link
Copy Markdown

Summary

  • rate limit feedback submissions to once every 10 minutes
  • add reCAPTCHA v3 verification before creating GitHub feedback issues
  • document required reCAPTCHA environment variables and setup steps in .env.example

Details

  • Adds client-side reCAPTCHA v3 execution on feedback form submission.
  • Verifies reCAPTCHA tokens server-side with Google's siteverify endpoint.
  • Checks the expected feedback_submit action and configurable score threshold.
  • Keeps the feedback rate-limit constants shared between client and server.
  • Adds tests for the rate-limit helpers, reCAPTCHA action format, and score threshold parsing.

Verification

  • npm test
  • npm run typecheck
  • npm run lint
  • npm run build

akramj13 and others added 4 commits June 13, 2026 18:14
- Added constants for feedback rate limiting including window duration and storage keys.
- Implemented `getFeedbackRateLimitWaitMs` function to calculate wait time based on submission timestamps.
- Created `formatFeedbackRateLimitWait` function to format wait time into user-friendly text.
- Added unit tests for feedback rate limiting logic to ensure correct behavior under various scenarios.

chore: update dependencies

- Upgraded Next.js from 16.2.3 to 16.2.9.
- Updated various Babel packages to version 7.29.7.
- Updated other dependencies including nanoid and postcss to their latest versions.
@vercel

vercel Bot commented Jun 13, 2026

Copy link
Copy Markdown

@akramj13 is attempting to deploy a commit to the fujacob's projects Team on Vercel.

A member of the Team first needs to authorize it.

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