Repository navigation
fix(webui): sanitize and dismiss automation action errors - #6180
Conversation
🔎 IronLoop Review StatusHead: Current reviewers:
Reviewer summaries
Recent activity
Available commands
Run metadataAdmission: webhook accepted the request and IronLoop persisted reviewer state before this projection. |
|
@claude review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughAutomation mutations now use localized, dismissible toasts with sequence-based stale-result protection. Load errors remain page banners, while action errors use toasts. Locale coverage, unit tests, and an end-to-end retry flow validate the behavior. ChangesAutomation error handling
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant AutomationsPage
participant useAutomations
participant AutomationsAPI
participant Toast
User->>AutomationsPage: perform automation action
AutomationsPage->>useAutomations: start mutation
useAutomations->>AutomationsAPI: submit action
AutomationsAPI-->>useAutomations: error or success
useAutomations->>Toast: show or clear localized error
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
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.
Code Review
This pull request improves error handling for automation actions (pause, resume, rename, and delete) by replacing raw error messages with a localized, dismissible alert banner. It updates the useAutomations hook to manage error state safely, adds localized error strings across multiple languages, and introduces an E2E test to verify that raw errors are not exposed and that the error banner can be dismissed or cleared on retry. Feedback is provided to log the raw error to the console when an action fails, as discarding it completely makes debugging difficult.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
✅ IronLoop Review: reviewer
Review at a glance
| Verdict | Blocking | Notes | Inline | Head |
|---|---|---|---|---|
| ✅ Approved | 0 | 0 | 0 | e4e99755340b |
Head: e4e99755340b1e1c6a8b8a93f312b464472d06b3
Next: No reviewer action needed.
Run details
Status: Current
Needs human: no
Needs validation: no
Summary
Reviewed the complete focused diff. Automation mutation failures now render localized generic copy instead of raw backend errors, and the alert clears on retry, success, or dismissal. No concrete actionable defects found.
Findings
None.
Developer follow-up
After fixing this feedback:
- Push the fix to this PR branch.
- Re-run this reviewer with
@ironloopai review --agent reviewerif you only changed this reviewer's findings. - Re-run all reviewers with
@ironloopai reviewwhen the fix may affect multiple areas.
|
🚅 Deployed to the ironclaw-pr-6180 environment in ironclaw-ci-preview
|
Coverage ratchetReborn integration-tier coverageLine coverage (Reborn crates): 85.53% — 311164 / 363818 lines Per-crate breakdown (65 crates, lowest-covered first)
This table itself is informational and never gates the PR on its own — not the percentage, not the per-crate holes, not the 0-coverage callout. A separate coverage ratchet (dry-run until enforce=true; see tests/integration/coverage-floor.toml) can fail the build on specific configured floors. Exemptions (3 entry/entries excluded from the accounting above)
|
|
@claude review |
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
✅ IronLoop Review: reviewer
Review at a glance
| Verdict | Blocking | Notes | Inline | Head |
|---|---|---|---|---|
| ✅ Approved | 0 | 0 | 0 | d97d076ce080 |
Head: d97d076ce0800b07fefb57d4dcc04100a64d5ba4
Next: No reviewer action needed.
Run details
Status: Current
Needs human: no
Needs validation: no
Summary
Focused, reviewable frontend change. Automation mutation failures now use localized generic toast copy without rendering or logging raw errors, and stale results are sequence-guarded. Dismissal, retry clearing, accessibility, and recovery have meaningful unit and browser regression coverage. No concrete issues found.
Findings
None.
Developer follow-up
After fixing this feedback:
- Push the fix to this PR branch.
- Re-run this reviewer with
@ironloopai review --agent reviewerif you only changed this reviewer's findings. - Re-run all reviewers with
@ironloopai reviewwhen the fix may affect multiple areas.
|
@claude review |
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tests/e2e/helpers.py`:
- Line 385: Remove the duplicate "toast" entry from the selector mapping in
tests/e2e/helpers.py, preserving the existing SEL_V2["toast"] definition and
resolving the Ruff F601 duplicate-key violation.
In `@tests/e2e/scenarios/test_reborn_webui_v2_smoke.py`:
- Around line 519-535: Update
test_reborn_v2_automation_action_error_toast_is_safe_dismissible_and_cleared_on_retry
to use the canonical reborn_v2_page fixture instead of creating a browser
context and page manually; remove the new_context/new_page setup and rely on
fixture-managed isolation and cleanup, including the corresponding setup at the
additionally referenced lines.
🪄 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: ASSERTIVE
Plan: Pro Plus
Run ID: fc8dac5c-de59-4df8-9f1b-42a15c696d51
📒 Files selected for processing (19)
crates/ironclaw_webui_v2/frontend/src/i18n/ar.tscrates/ironclaw_webui_v2/frontend/src/i18n/de.tscrates/ironclaw_webui_v2/frontend/src/i18n/en.tscrates/ironclaw_webui_v2/frontend/src/i18n/es.tscrates/ironclaw_webui_v2/frontend/src/i18n/fr.tscrates/ironclaw_webui_v2/frontend/src/i18n/hi.tscrates/ironclaw_webui_v2/frontend/src/i18n/ja.tscrates/ironclaw_webui_v2/frontend/src/i18n/ko.tscrates/ironclaw_webui_v2/frontend/src/i18n/pt-BR.tscrates/ironclaw_webui_v2/frontend/src/i18n/uk.tscrates/ironclaw_webui_v2/frontend/src/i18n/zh-CN.tscrates/ironclaw_webui_v2/frontend/src/lib/i18n.test.tscrates/ironclaw_webui_v2/frontend/src/lib/toast.test.tscrates/ironclaw_webui_v2/frontend/src/lib/toast.tscrates/ironclaw_webui_v2/frontend/src/pages/automations/automations-page.tsxcrates/ironclaw_webui_v2/frontend/src/pages/automations/hooks/useAutomations.test.tscrates/ironclaw_webui_v2/frontend/src/pages/automations/hooks/useAutomations.tstests/e2e/helpers.pytests/e2e/scenarios/test_reborn_webui_v2_smoke.py
💤 Files with no reviewable changes (1)
- crates/ironclaw_webui_v2/frontend/src/pages/automations/automations-page.tsx
…-error-banner # Conflicts: # crates/ironclaw_webui/frontend/src/pages/automations/hooks/useAutomations.test.ts
Summary
Linked Issue
Closes #6178
Validation
corepack pnpm@11.7.0 lint:conventionscorepack pnpm@11.7.0 typecheckTZ=UTC corepack pnpm@11.7.0 testcorepack pnpm@11.7.0 buildscripts/pre-commit-safety.shgit diff --check origin/main...HEADSecurity Impact
Yes. Failed automation actions no longer expose raw API or backend error text in the browser. No authentication or authorization behavior changes.
Database Impact
No schema, migration, or persistence changes.
Blast Radius
Limited to the Automations page frontend mutation-error state, presentation, and localized strings.
Rollback Plan
Revert the two commits to restore the previous automation action-error behavior.
Review track: A