Swap PanelRightOpen for MonitorUp so the icon's visual weight matches
the ExternalLink icon next to it in the metadata hover card.
Co-authored-by: Orca <help@stably.ai>
* add Find in Folder to the file explorer folder context menu
* seed Search files-to-include from selected explorer folders
* harden generated include globs and add regression coverage
Open the current app's macOS notification settings entry and stop reporting test notification success until Electron confirms the native notification was shown.
Request the native default sound for macOS notifications when Orca is using the OS sound path, while keeping native notifications silent for custom renderer-played sounds.
- Resolve an effective upstream so legacy branches tracking origin/main use
origin/<branch> when that remote branch exists.
- Pull, sync, and ahead/behind status now operate on the same branch the UI
reports, including after non-fast-forward push rejections.
- Fix workspace space cache and git status cleanup checks
- Treat browser tabs as workspace delete blockers
- Move deletion readiness into shared presentation logic so tests cover it
- Preserve explicit empty git status entries for clean worktrees
- Add package manager cache cleanup to space manager
- Detect npm, pnpm, Yarn, and Bun caches from lockfiles during scans
- Add explicit cleanup IPC for safe and aggressive cache actions
- Support local, SSH, and Windows command execution paths safely
- Tighten workspace deletion decisions with git, editor, agent, and terminal state
Remove the stale renderer Web Notification permission gate from the Settings test notification path and cover native dispatch behavior with a regression test.
- Detect missing Chromium framework resources before reusing the copied app
- Prevent interrupted copies from leaving `pn dev` with a blank Electron window
* Create PRs directly from Source Control
- Replace the modal flow with an inline PR composer in the sidebar
- Keep PR creation state and validation scoped per worktree
- Rename the recovery action to clarify it only pushes before creating PRs
* Clean up fork PR remotes after worktree deletion
- Track Orca-created push target remotes in worktree metadata
- Reuse ownership markers when later worktrees share the same fork remote
- Fetch only the selected PR base instead of every remote before drafting PRs
- Mirror local branch cleanup for SSH worktree deletion
* Stabilize pull request creation flow
- Keep PR actions and composer fields locked while generation or creation is in flight
- Refresh git status, branch comparison, and history after remote actions settle
- Disable push-only actions on diverged branches so users sync first
* Make PR context generation read-only
- Stop rebasing or probing HEAD before collecting PR draft context
- Allow git operations on known repo roots without refreshing worktree cache
Co-authored-by: Orca <help@stably.ai>
* fix: address review findings
---------
Co-authored-by: Orca <help@stably.ai>
Use sidebar-accent surface so the card separates from the sidebar
background, align the Setup badge and dismiss button on a single
flex row, and replace the plain repo name with the standard inline
repo badge (color dot + lowercase name).
Co-authored-by: Orca <help@stably.ai>
Fix Linux/bash agent status cleanup by emitting OSC 133 command lifecycle markers from bash shell wrappers, including local, daemon, and SSH relay paths.
- repair drifted task provider defaults on load and settings updates
- split availability filtering from restored-default source resolution
- use the restored source set for Tasks prefetch
- add regression coverage for invalid defaults and drifted settings
- Keep Electron webviews in pointer passthrough for renderer-owned tab and
pane drags so they cannot steal the pointer stream
- Clean up terminal pane drag state on pointer cancel, lost capture, blur, or
manager destroy to remove stale overlays and unfreeze input
- Cover nested drag passthrough and pane-drag cancellation paths with tests
- Move focus out of any focused registered webview before hiding it
- Prevent macOS from activating the previously frontmost app during worktree switches
- Cover both direct webview detach and worktree-switch focus handling with tests
Follow-up to #2419: mark oversized filesystem watcher batches as overflow at enqueue time so the app does not retain thousands of paths before sending the conservative refresh.
Fixes the current release E2E flakes by restoring dashboard agent row title attributes for prompt-based locators, making the crowded tab rename test dispatch the rename event deterministically, and hardening the Russian-layout terminal shortcut test against Linux CI PTY startup races.
- Treat new remote worktrees without a HEAD commit as an empty compare when
the base ref exists, avoiding a broken source-control compare state
- Keep the existing unborn-head error for cases where the base cannot resolve
* feat: add notification sound volume slider
Custom audio files vary widely in loudness; the new 0-100% slider in
Settings → Notifications lets the user lower an over-amplified sound
without re-encoding the file.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: harden notification sound volume setting
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
- Add open-in launchers to the file explorer toolbar overflow menu
- Keep Git ignored visibility behind the same menu to reduce toolbar clutter
- Align the conflict review button text consistently
- Move focus back to the renderer before detaching a focused webview, including when it is parked rather than destroyed.
- Cover focused, descendant-focused, and unfocused detach cases.
* Squashed commits
- WIP: uncommitted changes before rebase
- ci
- Show inline PR check details in task drawer
- Add a Checks tab that opens from the PR checks cell and expands runs inline
- Fetch check output, annotations, and workflow job steps through IPC/RPC
- Improve markdown/comment wrapping so long PR content stays within the drawer
* Use app-styled confirmations for PR actions (#2324)
Co-authored-by: Orca <help@stably.ai>
* fix: pr-bug-scan validated finding from #2274 (#2296)
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
* fix: avoid optional git locks during status checks
---------
Co-authored-by: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: buf0-bot[bot] <252831055+buf0-bot[bot]@users.noreply.github.com>
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
* Squashed commits
- WIP: uncommitted changes before rebase
- ci
- Show inline PR check details in task drawer
- Add a Checks tab that opens from the PR checks cell and expands runs inline
- Fetch check output, annotations, and workflow job steps through IPC/RPC
- Improve markdown/comment wrapping so long PR content stays within the drawer
* Use app-styled confirmations for PR actions (#2324)
Co-authored-by: Orca <help@stably.ai>
* fix: pr-bug-scan validated finding from #2274 (#2296)
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
---------
Co-authored-by: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: buf0-bot[bot] <252831055+buf0-bot[bot]@users.noreply.github.com>
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
* Refresh optimistic worktrees after base fetch
* Refresh remote-tracking bases before creating worktrees
- Ensure local and SSH worktree creation fetches the exact remote base ref
before `git worktree add`, so new worktrees do not start from stale refs.
- Fail creation before mutating git state when the required base refresh fails
or remains missing.
- Replace post-create repair/reconcile behavior with read-only drift reporting
and add coverage for refresh ordering, cache bypassing, and SSH failures.
* Queue exact base refreshes during remote fetches
* rm design doc
* test: trim conflict component render tests
* Show unresolved conflicts inline in review panel
- Replace the conflict review overview list with read-only inline Monaco views
- Add auto-height editor rendering so each conflict file fits its contents
- Preload unresolved conflict files for the all-conflicts review view
* fix: address pr-bug-scan validated finding from #2270
Restored legacy local hook fallback at hooks.ts:286-307 when commandSourcePolicy is undefined and persisted scripts.setup/archive are non-empty; also patched getSetupCommandSource and updated the regr
* Resolve direct PR launch start point correctly
- Prevent direct "Use PR" launches from skipping PR head resolution
- Avoid legacy local hook fallback whenever an orca.yaml file exists
---------
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
Group targets by repoId and serialize deletes within each repo (concurrent across repos), restoring per-repo lock-free behavior in runWorktreeDeletesInParallel.
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
- Fetch, map, validate, and persist Linear estimates through IPC and RPC
- Add estimate controls with optimistic updates in Linear drawers/workspaces
- Keep user-opened sub-issues visible even when they are outside the list filter
- Close the resource popover before activating a terminal session so focus can transfer cleanly.
- Preserve worktree reveal behavior and flash the focused pane when a stable pane key matches.
- Cover stale mappings, malformed pane keys, and keyboard activation with tests.
* Gate task providers by availability
Implement provider availability gating documented in docs/task-provider-availability.md.
* Remove task provider availability design doc
* Restore task source after provider availability checks
- Keep saved GitLab/Linear defaults from being lost while provider checks hydrate
- Ignore stale Linear status responses after connect or workspace changes
* fix: address review findings
* Remove deleted repos from GitHub views
Implements the filtering behavior described in docs/remove-repo-github-views.md so removed repositories are excluded from GitHub task and project views.
* docs: remove GitHub views design doc
* additional file
* Recover the main window after renderer crashes
- Reload the app shell once after unexpected renderer process loss
- Skip recovery during clean exits, quits, and window close paths
- Cover renderer recovery behavior with focused window tests
* fix: harden renderer crash recovery
* Strip Grok user query wrapper from status prompts
* Document PR evidence image handling
* Surface Grok final responses in agent status
* Harden Grok status result extraction