mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 16:02:32 +00:00
* feat: rename worktree folder to match branch on first work When the first agent message auto-renames a freshly created creature branch to a short, work-derived name, also align the on-disk worktree folder and the sidebar display name with it. Re-key every worktree-scoped slice of state — renderer store maps plus the persisted main-process state — through the resulting id change so the live worktree survives the rename instead of being treated as a deletion (its tabs, terminals, browser panes, and git status all follow). The rename is best-effort and local-only: a skip or failure (remote runtime, Windows lock, destination taken) leaves the folder as-is and never undoes the branch/display rename that already landed. Squashed from the original PR #4743 commits, rebased onto upstream/main to drop accumulated merge commits and i18n formatting churn so the branch carries only the feature diff: - Rename worktree folder to match branch on first work - migrate renamed worktree session ids - keep the live worktree alive through a folder rename - address PR review feedback * Address PR review feedback (#4743) - orca-runtime: emit in-process worktreesChanged client event on folder rename, mirroring notifyBranchRenamed so onClientEvent listeners aren't left stale - worktrees: re-key rightSidebarExplorerViewByWorktree and activeWorkspaceKey through a worktree-identity rename (both were worktree-scoped but missed by buildWorktreeRenameState) - branch-name-from-work: treat prefix-only model output as an empty slug so the caller skips the rename instead of producing a doubled prefix - worktree-folder-rename-target: document why posix.dirname is safe (Windows filtered out earlier) - tests for each of the above * Extract branch rename test helpers to a separate harness file Move git responders, mock builders, and test event fixtures out of first-work-branch-rename.test.ts into a new test harness file. This reduces file length and removes the max-lines ESLint disable directive, complying with project style guidelines. * Wrap entire OnboardingFlow in TooltipProvider Enable the use of tooltips anywhere within the onboarding flow, rather than restricting them to the step indicators. --------- Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>