mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-25 08:49:36 +00:00
<img width="1048" height="482" alt="스크린샷 2026-03-12 오전 9 11 56" src="https://github.com/user-attachments/assets/68009980-097c-4736-b7c4-eb8f9a6f05be" /> ## Summary - Extract inline value control button from `WidgetWithControl` into reusable `SeedControlButton` component - Support `badge` (pill) and `button` (square) variants per Figma design system spec - Use native `<button>` element for proper a11y (works with Reka UI's `PopoverTrigger as-child`) ## Test plan - [x] Verify seed control button renders correctly on KSampler node's seed widget - [x] Verify popover opens on click and mode selection works - [x] Verify all 4 modes display correct icon/text (shuffle, pencil-off, +1, -1) 🤖 Generated with [Claude Code](https://claude.com/claude-code) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9744-feat-extract-SeedControlButton-component-3206d73d365081a3823cc19e48d205c1) by [Unito](https://www.unito.io) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: github-actions <github-actions@github.com>
4.4 KiB
4.4 KiB
GitHub Provider - Ticket Intake
Provider-specific logic for ingesting tickets from GitHub Issues.
URL Pattern
https://github.com/{owner}/{repo}/issues/{number}
https://www.github.com/{owner}/{repo}/issues/{number}
Extract: owner, repo, issue_number from URL.
Prerequisites
ghCLI authenticated (gh auth status)- Access to the repository
Fetch Issue Content
Use gh CLI to fetch issue details:
# Get issue details in JSON
gh issue view {number} --repo {owner}/{repo} --json title,body,state,labels,assignees,milestone,author,createdAt,comments,linkedPRs
# Get comments separately if needed
gh issue view {number} --repo {owner}/{repo} --comments
Extract Ticket Data
Map GitHub issue fields to normalized ticket data (stored via API):
| GitHub Field | ticket.json Field | Notes |
|---|---|---|
| title | title | Direct mapping |
| body | description | Issue body/description |
| state | status | Map: open → "Not Started" |
| labels | labels | Array of label names |
| assignees | assignee | First assignee login |
| author | author | Issue author login |
| milestone | milestone | Milestone title if present |
| comments | comments | Array of comment objects |
| linkedPRs | linkedPRs | PRs linked to this issue |
Priority Mapping
Infer priority from labels:
priority:critical,P0→ "Critical"priority:high,P1→ "High"priority:medium,P2→ "Medium"priority:low,P3→ "Low"- No priority label → "Medium" (default)
Area Mapping
Infer area from labels:
area:ui,frontend,component:*→ "UI"area:api,backend→ "API"area:docs,documentation→ "Docs"bug,fix→ "Bug"enhancement,feature→ "Feature"
Update Source
For GitHub issues, update is optional but recommended.
Add a comment to indicate work has started:
gh issue comment {number} --repo {owner}/{repo} --body "🤖 Pipeline started processing this issue."
Optionally assign to self:
gh issue edit {number} --repo {owner}/{repo} --add-assignee @me
Log any updates via the Pipeline API:
await client.updateTicket(ticketId, {
metadata: {
...ticket.metadata,
githubWrites: [
...(ticket.metadata?.githubWrites || []),
{
action: 'comment',
issueNumber: 123,
at: new Date().toISOString(),
skill: 'ticket-intake',
success: true
}
]
}
})
GitHub-Specific Ticket Fields
Store via API using client.createTicket():
{
"source": "github",
"githubOwner": "Comfy-Org",
"githubRepo": "ComfyUI_frontend",
"githubIssueNumber": 123,
"githubIssueUrl": "https://github.com/Comfy-Org/ComfyUI_frontend/issues/123",
"labels": ["bug", "area:ui", "priority:high"],
"linkedPRs": [456, 789],
"dosuComment": "..." // Extracted Dosu bot analysis if present
}
Dosu Bot Detection
Many repositories use Dosu bot for automated issue analysis. Check comments for Dosu:
gh issue view {number} --repo {owner}/{repo} --comments | grep -A 100 "dosu"
Look for comments from:
dosu[bot]dosu-bot
Extract Dosu analysis which typically includes:
- Root cause analysis
- Suggested files to modify
- Related issues/PRs
- Potential solutions
Store in ticket data via API:
{
"dosuComment": {
"found": true,
"analysis": "...",
"suggestedFiles": ["src/file1.ts", "src/file2.ts"],
"relatedIssues": [100, 101]
}
}
Extract Linked Issues/PRs
Parse issue body and comments for references:
#123→ Issue or PR referencefixes #123,closes #123→ Linked issuehttps://github.com/.../issues/123→ Full URL reference
Store in ticket data via API for research phase:
{
"referencedIssues": [100, 101, 102],
"referencedPRs": [200, 201]
}
Error Handling
Authentication Error
⚠️ GitHub CLI not authenticated.
Run: gh auth login
Issue Not Found
❌ GitHub issue not found or inaccessible.
- Check the URL is correct
- Ensure you have access to this repository
- Run: gh auth status
Rate Limiting
⚠️ GitHub API rate limited.
Wait a few minutes and try again.
Check status: gh api rate_limit