Repository navigation
Add hacker issue reporting - #595
Conversation
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
apps/blade/src/app/_components/admin/hackathon/issue-reporting-section.tsx (1)
26-27: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winPass issue-reporting settings through RSC props.
Add
issueReportsChannelIdandissueReportsRoleIdtoHACKATHON_COLUMNS. Pass them throughdetailtoIssueReportingSection, use the parent’sonSaved={refresh}, and remove the client query, invalidation, and loading/error branches.
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository: KnightHacks/forge/.coderabbit.yml
- Review profile: QUIET
- Plan: Advanced
- Run ID:
df9c021b-f50c-40a4-aed2-12b1b513c2d2
📒 Files selected for processing (25)
.forge/features/hacker-issue-reporting/spec.md.forge/features/hacker-issue-reporting/srd.md.forge/features/hacker-issue-reporting/status.md.forge/features/hacker-issue-reporting/test-cases.mdapps/2026/src/app/(portal)/_components/khix-dashboard.tsxapps/2026/src/lib/hacker-portal.tsxapps/blade/src/app/_components/admin/hackathon/hackathon-detail.tsxapps/blade/src/app/_components/admin/hackathon/issue-reporting-section.tsxapps/blade/src/tests/admin/issue-reporting-section.test.tsxpackages/api/src/hacker-portal/reports.tspackages/api/src/hacker-portal/router.tspackages/api/src/routers/hackathon.tspackages/api/src/tests/hacker-portal/reports.test.tspackages/api/src/tests/integration/hackathon-portal-configuration.test.tspackages/db/drizzle/0059_melted_squadron_sinister.sqlpackages/db/drizzle/meta/0059_snapshot.jsonpackages/db/drizzle/meta/_journal.jsonpackages/db/src/schemas/knight-hacks.tspackages/hacker-sdk/README.mdpackages/hacker-sdk/src/contracts.tspackages/hacker-sdk/src/tests/contracts.test.tspackages/validators/src/audit.tspackages/validators/src/hackathon-portal-admin.tspackages/validators/src/hacker-portal.tspackages/validators/src/tests/hacker-portal.test.ts
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
|
Addressed the review and KHIX dry-run feedback:
Validation: UI screenshotsRepresentative local fixture data, rendered with the production KHIX components at 1440 × 900. Actionable help dialogWritten-only judging feedbackMerch pricing remains an organizer-wide follow-up based on the final points table; no code change was made for that item. |
Co-authored-by: Codex <codex@openai.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
⛔ Files ignored due to path filters (3)
📒 Files selected for processing (31)
💤 Files with no reviewable changes (3)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughAdds officer-managed Discord destinations and a participant API for submitting issue reports. The report flow uses server-derived identity, idempotency, a per-user rate limit, and restricted role mentions. The participant dialog now submits reports to organizers. Judging feedback no longer includes numeric ratings or entries without written responses. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The change adds Discord-backed issue reporting and written-only judging feedback, and no concrete merge-blocking problem was found. One small behavior to be aware of is that failed Discord deliveries count toward the five-reports-per-ten-minutes limit. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Reporting is restricted to signed-in applicants and organizer-configured destinations, with controlled mentions and transaction-backed submission limits. Remaining uncertainty concerns delayed delivery retries and deployed Discord permissions. Judging feedback removes scores rather than expanding access to participant data. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 6 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (6 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 13 functions across 23 files. (6 skipped: 6 unsupported.) ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-authored-by: Codex <codex@openai.com>


Why
There was a "Report Issue" button on the hacker dashboard that doesn't do anything. Currently it copies the issue and links the hacker to the Discord server.
What
This change adds hackathon issue reports channel and role to ping to the
Hackathontable. When hackers report issues, a message is sent to that channel, and the role is pinged. Rate limits are set to 5 reports in 10 minutes.Test Plan
Tested everything except sending a real notification. Code LGTM, which is why I'm making this PR.
Checklist
pnpm db:generateand committed the generated files inpackages/db/drizzle/