git actions fixes - #109
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 8 minutes and 40 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThis PR adds git stash-clear operation, extends agent chat and git IPC APIs, enhances GitHub API error handling with structured error details, adjusts terminal status indicator styling and animations, improves stash/pull UI controls, updates model selection for CLI-wrapped models, and expands test coverage. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx (1)
23-27: Minor color inconsistency between files.The
statusDotClsfunction usesbg-amber-400for"running-needs-attention", whileterminalAttention.ts:123usesbg-amber-300. This creates a subtle color difference between the lane terminals panel and other components usingsessionStatusDot().If this is intentional for visual differentiation in different contexts, consider adding a brief comment. Otherwise, align to a single amber shade for consistency.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx` around lines 23 - 27, statusDotCls currently returns "bg-amber-400" for "running-needs-attention" which differs from the amber used by sessionStatusDot (terminalAttention.ts uses "bg-amber-300"); either change the "running-needs-attention" case in statusDotCls to "bg-amber-300" to match sessionStatusDot, or if the difference is intentional, add a short comment above statusDotCls explaining why it uses a different amber shade for visual differentiation.apps/desktop/src/renderer/index.css (1)
2447-2449: Add reduced motion support for accessibility.The new
.pull-btn-flashanimation should be disabled when the user prefers reduced motion. The file already has a@media (prefers-reduced-motion: reduce)block (around line 1781) that disables similar animations.♿ Add to reduced motion media query
Add
.pull-btn-flashto the existing reduced motion block:`@media` (prefers-reduced-motion: reduce) { /* ... existing rules ... */ .pull-btn-flash { animation: none !important; } }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/desktop/src/renderer/index.css` around lines 2447 - 2449, Add .pull-btn-flash to the existing reduced-motion media query so the flashing animation is disabled for users who prefer reduced motion: locate the `@media` (prefers-reduced-motion: reduce) block and add a rule for .pull-btn-flash setting animation: none !important to override the animation defined on .pull-btn-flash.apps/desktop/src/main/services/ipc/registerIpc.ts (1)
3743-3752: Add runtime arg validation for the new IPC handlers.These handlers trust renderer payload shape at runtime. For Electron IPC hardening, parse/validate
AgentChatCancelSteerArgs,AgentChatEditSteerArgs, and{ laneId: string }before delegating.As per coding guidelines,
apps/desktop/src/**: Electron desktop app — check for IPC security, proper main/renderer process separation, and React best practices.Also applies to: 4111-4114
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/desktop/src/main/services/ipc/registerIpc.ts` around lines 3743 - 3752, Add runtime validation in the IPC handlers for IPC.agentChatCancelSteer and IPC.agentChatEditSteer before calling getCtx().agentChatService.cancelSteer/editSteer: parse and assert that the incoming arg matches the expected runtime shape of AgentChatCancelSteerArgs and AgentChatEditSteerArgs (and any nested { laneId: string } fields) and throw or return an error if validation fails; locate the handlers in registerIpc.ts (the ipcMain.handle callbacks) and either use the existing project validation utility or a lightweight guard that checks required keys and types, then call ctx.agentChatService.cancelSteer(arg) / editSteer(arg) only after validation succeeds.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/desktop/src/main/services/ipc/registerIpc.ts`:
- Around line 3743-3752: The IPC handlers call agentChatService.cancelSteer and
agentChatService.editSteer which do not exist; add thin adapter methods on
agentChatService named cancelSteer and editSteer that accept the respective
AgentChatCancelSteerArgs/AgentChatEditSteerArgs and internally call the existing
steer({ sessionId, text }: AgentChatSteerArgs) (or transform incoming args to
the steer signature) so the IPC handlers in registerIpc.ts can invoke
cancelSteer and editSteer without runtime errors.
In `@apps/desktop/src/main/services/prs/prService.test.ts`:
- Around line 288-301: The mock branch for PR details is unreachable because it
checks args.path.includes("/pulls/99") && !args.path.includes("/") which is
always false; update the condition in the test mock (where args.path is
inspected) to detect the exact PR-details path instead—for example replace the
second check with !args.path.endsWith("/") or compare equality (args.path ===
"/pulls/99" or the exact expected path) so the PR details payload branch in the
prService.test.ts mock executes correctly.
In `@apps/desktop/src/renderer/components/chat/chatStatusVisuals.tsx`:
- Line 42: The "waiting" branch in ChatStatusVisuals.tsx currently returns
CheckCircle which makes pending items look completed; update the "waiting" case
in the ChatStatusVisuals component to render a pending-specific icon from the
same icon set (e.g., Hourglass, Clock, or a Spinner) instead of CheckCircle and
give it a distinct "pending" color/className (e.g., text-gray-400 or a muted
amber) so it’s visually different from the completed CheckCircle; also verify
AgentChatMessageList.tsx usages (the "Needs Input"/"Plan Approval" pending
states) still map to the corrected waiting icon.
---
Nitpick comments:
In `@apps/desktop/src/main/services/ipc/registerIpc.ts`:
- Around line 3743-3752: Add runtime validation in the IPC handlers for
IPC.agentChatCancelSteer and IPC.agentChatEditSteer before calling
getCtx().agentChatService.cancelSteer/editSteer: parse and assert that the
incoming arg matches the expected runtime shape of AgentChatCancelSteerArgs and
AgentChatEditSteerArgs (and any nested { laneId: string } fields) and throw or
return an error if validation fails; locate the handlers in registerIpc.ts (the
ipcMain.handle callbacks) and either use the existing project validation utility
or a lightweight guard that checks required keys and types, then call
ctx.agentChatService.cancelSteer(arg) / editSteer(arg) only after validation
succeeds.
In `@apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx`:
- Around line 23-27: statusDotCls currently returns "bg-amber-400" for
"running-needs-attention" which differs from the amber used by sessionStatusDot
(terminalAttention.ts uses "bg-amber-300"); either change the
"running-needs-attention" case in statusDotCls to "bg-amber-300" to match
sessionStatusDot, or if the difference is intentional, add a short comment above
statusDotCls explaining why it uses a different amber shade for visual
differentiation.
In `@apps/desktop/src/renderer/index.css`:
- Around line 2447-2449: Add .pull-btn-flash to the existing reduced-motion
media query so the flashing animation is disabled for users who prefer reduced
motion: locate the `@media` (prefers-reduced-motion: reduce) block and add a rule
for .pull-btn-flash setting animation: none !important to override the animation
defined on .pull-btn-flash.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e785566c-8a1e-4ccc-a47b-f25eaee32262
⛔ Files ignored due to path filters (7)
docs/architecture/AI_INTEGRATION.mdis excluded by!docs/**docs/architecture/DATA_MODEL.mdis excluded by!docs/**docs/architecture/GIT_ENGINE.mdis excluded by!docs/**docs/architecture/MULTI_DEVICE_SYNC.mdis excluded by!docs/**docs/features/LANES.mdis excluded by!docs/**docs/features/PULL_REQUESTS.mdis excluded by!docs/**docs/features/TERMINALS_AND_SESSIONS.mdis excluded by!docs/**
📒 Files selected for processing (21)
apps/desktop/src/main/services/chat/agentChatService.tsapps/desktop/src/main/services/git/gitOperationsService.test.tsapps/desktop/src/main/services/git/gitOperationsService.tsapps/desktop/src/main/services/github/githubService.test.tsapps/desktop/src/main/services/github/githubService.tsapps/desktop/src/main/services/ipc/registerIpc.tsapps/desktop/src/main/services/prs/prService.test.tsapps/desktop/src/main/services/prs/prService.tsapps/desktop/src/preload/global.d.tsapps/desktop/src/preload/preload.tsapps/desktop/src/renderer/components/app/TabNav.tsxapps/desktop/src/renderer/components/app/TopBar.tsxapps/desktop/src/renderer/components/chat/chatStatusVisuals.tsxapps/desktop/src/renderer/components/lanes/LaneGitActionsPane.tsxapps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsxapps/desktop/src/renderer/components/lanes/LanesPage.tsxapps/desktop/src/renderer/components/prs/CreatePrModal.tsxapps/desktop/src/renderer/index.cssapps/desktop/src/renderer/lib/terminalAttention.test.tsapps/desktop/src/renderer/lib/terminalAttention.tsapps/desktop/src/shared/ipc.ts
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary by CodeRabbit
Release Notes
New Features
Bug Fixes
Style