feat(desktop): Review パネル強化 — Actions ステップ・コメント展開・ファイルジャンプ#27
feat(desktop): Review パネル強化 — Actions ステップ・コメント展開・ファイルジャンプ#27
Conversation
- GitHub Actionsのチェックを展開してジョブ内ステップの進捗を表示 - レビューコメントをクリックで展開し、Markdownレンダリングされた全文を表示 - コメントのファイルパス+行番号からエディタの該当行にジャンプ - GitHub Alerts (NOTE/TIP/IMPORTANT/WARNING/CAUTION) の色付き表示に対応 - HTMLコメント(CodeRabbit内部データ等)を自動除去
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (13)
📝 WalkthroughWalkthroughThis PR enhances the Review panel by adding GitHub Actions check job step visualization with progress indicators and expandable review comments with full Markdown rendering, including GitHub alerts support. It introduces backend TRPC procedures for fetching job steps, GitHub API utilities, frontend React components, and styling. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ReviewPanel
participant Browser as Browser TRPC
participant Server as TRPC Server
participant GitHub as GitHub CLI
User->>ReviewPanel: Expand check row
activate ReviewPanel
ReviewPanel->>Browser: Call electronTrpc.workspaces.getCheckJobSteps
deactivate ReviewPanel
activate Browser
Browser->>Server: getCheckJobSteps({workspaceId, detailsUrl})
deactivate Browser
activate Server
Server->>Server: Extract jobId & nwo from detailsUrl
Server->>GitHub: gh api repos/{nwo}/actions/jobs/{jobId}
activate GitHub
GitHub-->>Server: Job response with steps array
deactivate GitHub
Server->>Server: Parse & validate response schema
Server->>Server: Map steps to JobStepInfo[]
Server-->>Browser: steps array
deactivate Server
activate Browser
Browser-->>ReviewPanel: steps data via useQuery
deactivate Browser
activate ReviewPanel
ReviewPanel->>ReviewPanel: Render CheckSteps component
ReviewPanel->>ReviewPanel: Display each step with icon/status
ReviewPanel->>ReviewPanel: Animate spinning icon if in_progress
deactivate ReviewPanel
ReviewPanel-->>User: Visualized job steps
sequenceDiagram
participant User
participant ReviewPanel
participant Markdown as ReactMarkdown
User->>ReviewPanel: Expand review comment
activate ReviewPanel
ReviewPanel->>ReviewPanel: Toggle expanded state for comment
deactivate ReviewPanel
activate ReviewPanel
ReviewPanel->>ReviewPanel: stripHtmlComments(comment.body)
ReviewPanel->>Markdown: Render with remark-gfm + remark-alert
activate Markdown
Markdown->>Markdown: Parse GitHub Markdown syntax
Markdown->>Markdown: Convert alerts (note/warning/danger) to HTML
Markdown-->>ReviewPanel: Rendered HTML
deactivate Markdown
ReviewPanel->>ReviewPanel: Display file:line navigation button
deactivate ReviewPanel
User->>ReviewPanel: Click file:line button
activate ReviewPanel
ReviewPanel->>ReviewPanel: onOpenFile(comment.path, comment.line)
ReviewPanel-->>User: File opens at line in editor
deactivate ReviewPanel
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 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 |
Summary
> [!NOTE],> [!TIP],> [!IMPORTANT],> [!WARNING],> [!CAUTION]) の色付き表示に対応Test plan
<!-- -->内の内部データが非表示になっていることを確認> [!NOTE]等の GitHub Alerts が色付きブロックで表示されることを確認Summary by CodeRabbit