* Fix file view collapse regressions
* Fix agent manager diff viewer collapse and scroll reset bugs
Reset openInit flag when switching sessions via a new sessionKey prop so
diff files auto-expand for each session instead of staying collapsed.
Stabilize diff data references during 2.5s polling to prevent <For> from
tearing down and rebuilding <Diff> components, which destroyed scroll
position. Guard setOpen in the auto-open effect to skip updates when the
file list is unchanged.
* remove package.json
Replace the separate ghost text overlay div with an inline span inside
the existing highlight overlay. Remove the dedicated `ghostRef`,
scroll-sync logic, and associated CSS classes (`prompt-input-ghost-overlay`,
`prompt-input-ghost-hidden`). Adjust padding on the highlight overlay and
textarea to accommodate the ghost text span in the same layout flow.
Move ghost text into a separate absolutely-positioned overlay div that
mirrors the textarea's scroll position, replacing the previous inline
span approach. Add a hidden span to offset the visible ghost text to
the correct position after the current input, ensuring the ghost text
stays aligned with the caret regardless of scroll state.
* detect and remove externally deleted worktrees from agent manager state via polling
* handle rejection in worktree validation polling
* prevent overlapping validation runs and redundant persistence writes
* guard polling startup on panel liveness and fix flush() to drain queued saves
* fix potential infinite loop in flush() when pendingSave is true without active save
* fix: agent manager terminal follows context when switching to local mode
When switching from a worktree to local mode with a pending tab,
currentSessionID() was undefined causing terminal triggers (Cmd+/ and
button click) to silently do nothing. Added a showLocalTerminal fallback
that opens a terminal at workspace root, and showExistingLocalTerminal
to auto-reveal the local terminal when switching contexts.
* fix: show warning when local terminal has no workspace folder
* refactor: centralize local terminal key in SessionTerminalManager
The branch selector dropdown in the New Worktree dialog's Advanced
section was clipped by the dialog's overflow. Replace the hand-rolled
absolute-positioned dropdown with the Popover component (portal-based),
matching the pattern used by the Import tab's branch selector.
* feat(agent-manager): add open-file button to diff panel headers
Each file in the git diff accordion now has an open-file icon button
that opens the file in VS Code, resolved against the correct worktree
path. The worktree path resolution happens extension-side in
AgentManagerProvider via a dedicated agentManager.openFile message.
* fix: guard openWorktreeFile against path traversal
* fix: hide open-file button for deleted files
* refine: use go-to-file icon with tooltip for open-file button
* i18n: add translations for diff open-file tooltip in all 16 languages
* fix: use realpathSync + directory boundary for robust path validation
Addresses all three review comments:
- Prefix-matching bypass: appends path.sep for directory boundary check
- Symlink traversal: fs.realpathSync resolves both root and target
- Cross-platform: path.sep/path.resolve/realpathSync are Windows-aware
Add keyboard shortcuts (Cmd+1-9 on Mac, Ctrl+1-9 on Windows/Linux) to
jump directly to sidebar items in the Agent Manager. Cmd+1 selects
Local, Cmd+2-9 select worktrees in order.
Shortcuts are scoped to the Agent Manager panel via the existing
activeWebviewPanelId when-clause. A hover-reveal badge (matching
Superset's opacity transition pattern) shows the shortcut on each
sidebar item. A new 'Quick Switch' category appears in the keyboard
shortcuts dialog.
* fix: normalize agent manager worktree path comparisons
Prevent Windows separator/casing mismatches from breaking worktree lookup, external-worktree detection, and import validation.
* fix: harden managed worktree delete path guard
Replace raw prefix matching with a relative-path boundary check so sibling paths like worktrees-evil are rejected.