Skip to content

fix: restore main's lint and localization checks after the nested-worktree delete dialog - #25684

Merged
brennanb2025 merged 2 commits into
mainfrom
brennanb2025/nested-removal-locale-keys
Oct 5, 2026
Merged

brennanb2025 merged 2 commits into
mainfrom
brennanb2025/nested-removal-locale-keys

Conversation

@brennanb2025

@brennanb2025 brennanb2025 commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 0 0 0 0
Prod 2 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​18 $\color{#cf222e}{\Huge{\mathbf{−}}}$​2 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​16

ELI5

#25668, which added the "Delete workspace and nested worktrees?" dialog, left two problems on main. Both fail CI checks on main itself and on every pull request that brings main in:

  • Missing English entries. Every piece of text Orca shows has to be listed in its English translation file, so translators can see it. The dialog used 12 new pieces of text but never added them there. This PR adds the 12 entries.
  • A duplicate import. One file imports from the same module twice, which the lint check forbids. This PR merges the two imports into one.

What Changed

  • Problem: src/renderer/src/i18n/locales/en.json had no worktree.nestedRemoval.* entries. DeleteNestedWorktreesDialog.tsx and nested-worktree-preserved-branches-toast.ts call translate() with those 12 keys, so verify-localization-catalogs and verify-localization-extraction fail on main at e9ed75a5de1.
  • Fix: added the 12 English entries. They were generated by the repo's own catalog sync script (verify-localization-catalog.mjs --fix) from the English fallback text already in the code, so the wording is exactly what users see today.
  • Duplicate import: delete-worktree-failure-toast.tsx imported from shared/worktree/removal twice. The whole-tree lint gate (no-duplicate-imports, --deny-warnings) fails on it. The two imports are now one.
  • What users see: nothing changes. The dialog already showed this English text through its fallbacks.

Why

This is the repo's standard fix for a missing catalog entry: run the sync script, which copies each fallback into en.json. Other languages fall back to English until they are translated, as with any new string.

Linked Issue

N/A (main's localization checks fail since #25668)

Visual Proof

N/A: no visible change. The dialog already rendered these English strings through its fallbacks.

Testing

  • I manually tested these changes locally
  • Automated tests added/updated, or explained why not below

On this branch: verify-localization-catalogs, verify-localization-catalog, verify-localization-extraction, generate-runtime-required-english-catalog and audit-localization-coverage --check all pass. On main at e9ed75a5de1, the catalogs and extraction checks fail, listing these 12 keys. The import merge is type-only; the same 2-line change passed web and node typechecks on #24905 at 3b2ed2b5167, and oxlint --deny-warnings passes on the file. No behaviour changed, so there are no new tests. A check for duplicate keys found exactly one top-level worktree entry in en.json.

AI Disclosure

Review

Agent skill upstream boundary

  • Not applicable, or this change follows docs/reference/agent-skill-sharing-upstream-boundary.md and copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

Notes

An English catalog entry change plus one import merge. No security, platform, SSH, mobile or compatibility impact.

Checklist

  • This PR is small and focused
  • I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
  • Before/after screenshots or videos attached for UI changes, or N/A with reason
  • Self-reviewed for correctness, security, and performance
  • Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
  • pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)

…alog

#25668 added DeleteNestedWorktreesDialog and its preserved-branches toast
with translate() keys under worktree.nestedRemoval, but not the matching
en.json entries. verify-localization-catalogs and -extraction now fail on
main, and on every PR that merges it. Entries generated by the catalog
sync script from the code's own fallbacks.
#25668 imported from shared/worktree/removal twice in
delete-worktree-failure-toast.tsx. The whole-tree lint gate
(no-duplicate-imports, --deny-warnings) fails on it for main and every
branch that merges main.
@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@brennanb2025 brennanb2025 changed the title fix(i18n): add the nested-worktree removal strings to the English catalog fix: restore main's lint and localization checks after the nested-worktree delete dialog Oct 5, 2026
@brennanb2025
brennanb2025 merged commit a3bd6a6 into main Oct 5, 2026
3 checks passed
brennanb2025 added a commit that referenced this pull request Oct 5, 2026
No conflicts; brings main's lint and localization fix (#25684).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant