Repository navigation
fix(ci): unblock main's static analysis after the nested-worktree delete dialog - #25683
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe toast component now imports WorktreeRemovalTarget from the shared nested-removal module. The imports for isLockedWorktreeRemovalError and WorktreeForceDeleteReason remain sourced from the general removal module. The English locale adds strings for nested-worktree removal, including deletion order and failure behavior. Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to The updated removal guidance is consistent with the documented removal behavior. No issue requiring a fix before merge is established. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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.
✅ No new issues found.
Reviewed changes
- Merge duplicate
worktree/removalimport — folds the standaloneimport type { WorktreeRemovalTarget }into the existing block importingisLockedWorktreeRemovalError/WorktreeForceDeleteReasonfrom the same module indelete-worktree-failure-toast.tsx. Type-only, no runtime effect.
deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

ELI5
Every pull request in this repo currently fails CI before its tests even start, because of two mistakes on
mainfrom #25668 (the nested-worktree delete dialog). One file imports from the same module twice, and the dialog's 12 new on-screen strings were never added to the English string catalog. This fixes both.What Changed
src/renderer/src/components/sidebar/delete-worktree-failure-toast.tsximported../../../../shared/worktree/removaltwice: once for theWorktreeRemovalTargettype (added in #25668) and once forisLockedWorktreeRemovalError/WorktreeForceDeleteReason. The two are now one import. Nothing changes at runtime; the merged name is a type, so it compiles away either way.src/renderer/src/i18n/locales/en.jsongains the 12worktree.nestedRemoval.*strings the dialog and its follow-up toast already pass totranslate(), copied from their in-code English fallbacks bysync:localization-catalog. English users see the same text as before. The other languages fall back to English for these strings until they are translated, as with any new string.Why
CI's "static analysis and typecheck" job runs
pnpm run audit:code-quality:nativewith--deny-warnings. Its "modules should not be imported multiple times" rule flags this line (delete-worktree-failure-toast.tsx:7:44), so the job fails on every branch that has merged currentmain, and the test jobs behind it are skipped. Merging the imports is the whole fix; disabling the rule or allowlisting the file would hide the next duplicate as well. With that fixed, the same job'sverify-localization-catalogsandverify-localization-extractionsteps failed next, because the dialog's strings were missing fromen.json. Syncing them in is the documented fix those checks print.Linked Issue
Maintainer change; no issue. Found while CI on #19221 failed on this line.
Visual Proof
N/A: an import-only change with no UI or behavior difference.
Testing
oxlint --config config/oxlint-code-quality-native-plugins.json src config tests mobile --deny-warnings(the exact command CI runs) passes on this branch. Onmainit fails with this one warning.oxlintandoxfmt --checkpass on the file.verify-localization-catalogs,verify-localization-catalog, the runtime English catalog,verify-localization-extraction,audit-localization-coverage --check).tsconfig.tc.web.json) passes locally.AI Disclosure
Author: @BrennanKB5
Review
Self-reviewed; a single import merge.
Agent skill upstream boundary
Notes
No security, platform, SSH, mobile, compatibility or performance impact: the change merges two import statements in one renderer file and adds English catalog entries matching existing fallbacks.
Checklist
N/Afor visuals, with reason