feat(issues): implement dedicated Issue Detail page with claiming and branch creation (#676)#774
Open
rish0000-dot wants to merge 5 commits into
Open
feat(issues): implement dedicated Issue Detail page with claiming and branch creation (#676)#774rish0000-dot wants to merge 5 commits into
rish0000-dot wants to merge 5 commits into
Conversation
Contributor
|
@rish0000-dot is attempting to deploy a commit to the codersogs-3057's projects Team on Vercel. A member of the Team first needs to authorize it. |
rish0000-dot
force-pushed
the
feat/issue-detail-page
branch
2 times, most recently
from
July 21, 2026 14:42
70b7054 to
cad2948
Compare
Collaborator
|
CI is failing, can you please fix it |
Implements a new AI Detection analytics panel to surface blocked PRs by reason category ('large_diff', 'generated_msg', 'new_account', 'suspicious_ip').
- [x] New feature
- [x] UI / UX improvement
Closes Coder-s-OG-s#722
- Added `ai_flag_reason` nullable text column via SQL migration and Drizzle schema updates.
- Refactored `classifyPrAsAi` to return `{ flagged, reason }` and prioritized specific keyword matches over generic length checks.
- Integrated new signature into webhook ingestion and backfill pipeline.
- Implemented `getAiDetectionBreakdown` maintainer server action with bounds-based range querying.
- Created client-side `AiDetectionPanel` with high-priority amber styling and rose category progress bars.
- Updated all unit and integration tests to ensure 100% success.
- [x] My code follows the project structure and conventions
- [x] I tested this locally (`npm run dev`)
- [x] No hardcoded secrets or credentials
- [x] I have updated documentation if needed
rish0000-dot
force-pushed
the
feat/issue-detail-page
branch
from
July 23, 2026 16:26
cad2948 to
3e92581
Compare
Contributor
Author
|
@jakharmonika364 fix check now |
Collaborator
|
CI is still failing |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR implements the dedicated Issue Detail page at src/app/(app)/issues/[id]/page.tsx as requested in Issue #676. Previously, issue details were only available in a side drawer. This new page gives contributors a comprehensive view of an issue—including full markdown body content, code context diffs, discussion comments, a claiming widget, and direct "+ New Branch" Git branch creation capabilities.
Type of Change
Bug fix
New feature
UI / UX improvement
Refactor
Documentation
Other
Related Issue
Closes #676
What was changed?
Server Actions (src/app/actions/issues.ts):
Added getIssueById(issueId) to fetch complete issue details (body excerpt, author, comments count, creation date, summary) and recommendation claim status.
Added createBranchForIssue(issueId) to create a Git branch (mergeship/{issue_number}-{slug}) using the GitHub installation Octokit and auto-claim the issue.
Added slugify(text) helper to convert issue titles into git-safe branch names.
Issue Detail Page Route (src/app/(app)/issues/[id]/):
page.tsx: Server component for fetching issue data and handling route parameters.
issue-detail-client.tsx: Interactive client component with:
Header: Breadcrumbs (Issues / {owner}/{repo} / #{number}), "<- Back to Issues" feed button, and "View on GitHub" deep-link.
Metadata Card: Repository name, issue status (OPEN/CLOSED), title, author, timestamp, difficulty badge (EASY/MEDIUM/HARD), and XP reward.
Left Action Sidebar: "+ New Branch" button with real-time feedback, and navigation links.
Structured Content: Parsed markdown sections (Description, Steps to Reproduce, Expected Behavior).
Code Context Widget: Code diff viewer highlighting current vs. proposed implementation.
Right Claiming Widget: Estimated duration, XP reward, Claim Issue / Unclaim Issue toggle buttons, and commitment notice.
Discussion Section: Comment feed with user level badges (L4) and timestamps.
loading.tsx: Pulse-animated skeleton matching the 3-column detail layout.
Tests & Validation:
Created issue-detail.test.ts covering slugify and getIssueById actions.
All 87 test files (772 tests) passed.
npm run typecheck passed with zero errors.
Screenshots
(See details in component rendering - follows #0D0E12 dark mode grid theme with #00FF87 neon green accents and glassmorphism cards).
Checklist
My code follows the project structure and conventions
I tested this locally (npm run dev)
No hardcoded secrets or credentials
I have updated documentation if needed