Gate the three unread-clear calls in onTerminalKeyDown so modifier-only/repeat/copy-chord keydowns no longer dismiss sibling-pane attention.
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
- Remove `experimentalUnifiedNewTabLauncher` flag and gate; the unified
launcher is now always enabled
- Drop the settings toggle from ExperimentalPane and search index
- Update placeholder/aria text to "Open any file, URL, agent, ..."
- Restyle the input: borderless, flush with dropdown edge, no search icon
- Update test fixtures to include agent-detection state fields now
unconditionally read by TabBarCreateEntry
Fix packaged runtime inclusion for @parcel/watcher and its platform native subpackages. Adds pruning/tests for packaged resources and a real watcher integration regression test.
- Limit command preview blocks to 12rem (max-h-48) with scroll
- Cap dialog body to viewport height minus 2rem
- Add sr-only accessible description to the dialog
- Introduces per-heading disclosure toggles for nesting control
- Adds H1/H2/H3 level collapse buttons to quickly reduce heading depth
- Removes stale collapsed IDs when the TOC changes
* feat: improve orchestration settings pane with skill coverage and usage
- Add per-agent skill coverage panel showing which detected agents have the orchestration skill installed, with Ready/Missing status chips
- Add five usage example cards (handoff, worktree handoff, phased workflow, parallel, worktree PRs) with copy-prompt dialogs
- Add "Copy install command" link that opens a dialog for users who prefer their own terminal
- Expose `skills` array from `useInstalledAgentSkill` so callers can inspect discovered paths
- Rename install button to "Update" when skill is already installed
- Add dev-only preview flags for testing the uninstalled and CLI-ready states
* feat: remove dev-only CLI preview scaffolding from OrchestrationPane
Dead code cleanup — the dev-preview flag helpers and mock CliInstallStatus
factories were never shipped to users and added noise around the real
skill-detection path. Props now flow directly from useInstalledAgentSkill
without the preview indirection layer.
- Deletes AutoRenameBranchHint component and its associated UI
- Removes the gear affordance, popover, toggle, and inline "Auto-named if left blank" indicator
- Simplifies the workspace name label area for git repos
* Move table of contents panel to the left side of the editor
* Compact toolbar height when TOC panel is visible
Align both the TOC header and markdown toolbar to a consistent 40px
height with a shared bottom border when the TOC panel is open, removing
redundant borders and reducing visual clutter.
* Unify RME toolbar and TOC header chrome row styling
- Merge toolbar and TOC header into a shared 40px chrome row with
consistent padding, inset-shadow divider, and background
- Replace border-bottom with inset box-shadow for aligned dividers
when TOC panel is visible
* Hide list chrome in all detail/drill-down views, not only GitHub
The previous check only hid the list filter row for GitHub dialog
items. Extend it to cover GitLab, Jira, and Linear detail views so
vertical space isn't wasted by redundant breadcrumb chrome.
Co-authored-by: Orca <help@stably.ai>
* Extract list chrome visibility into provider-aware selector
Fixes list chrome being hidden when a stale detail state from another
provider survives a source switch. Only the active task source's detail
context now controls visibility.
Co-authored-by: Orca <help@stably.ai>
---------
Co-authored-by: Orca <help@stably.ai>
* Add browser import hint button to the browser toolbar
- Adds a dismissible "Import" button in the browser address bar that opens a popover with browser detection and one-click cookie import
- Persists the hint's dismissed state via `browserImportHintHidden` in `PersistedUIState` so the hint stays hidden after the user clicks "Hide Hint"
- Extracts platform-aware import source labels into `browser-cookie-import-sources.ts` and hint visibility logic into `browser-import-hint-visibility.ts` for isolated testing
* fix the onblur for the import popover
* Improve markdown review card sizing, quoting, and note grouping
- Narrow the annotation rail and editor padding to reduce visual weight
- Replace webkit line-clamp quote truncation with single-line nowrap; shorten MAX_CARD_QUOTE_LENGTH to 60
- Remove FileText icon from the quote block
- Tone down active card border/background highlight opacity
- Always reserve quote height in stacked layout (cards show a fallback excerpt even without selected text)
- Group multiple markdown review notes per file under a single header in the formatted prompt
* fix test
Creating a worktree from a cross-repository (fork) PR previously named the
local branch with the maintainer's branch prefix (e.g. `me/866`) and pushed to
origin instead of the contributor's fork, so maintainer edits never reached the
PR. Fork PRs now adopt the contributor's branch name (matching same-repo PRs)
and resolve a fork push target, with a non-blocking warning when the PR
disables maintainer edits and an indicator showing where a push will land.
- pr-start-point: return branchNameOverride/headSha/maintainerCanModify for
cross-repo PRs (previously only same-repo PRs received these)
- github client: surface maintainer_can_modify alongside the fork push target
- composer: warn (but still allow) when "Allow edits from maintainers" is off
- source control: show the fork push target (owner:branch) before pushing
- extract fork-remote cleanup and setup into dedicated, unit-tested modules
Adds unit suites for the cleanup multi-fork matrix, fork-remote setup,
push-target resolution, the warning decision, and the push-target label.
Note: pre-commit react-doctor hook bypassed — its warnings in useComposerState
are pre-existing (identical count on base) and not enforced by CI.
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Set xterm scrollbar width to 7px for a slimmer scrollbar, round the DOM thumb via CSS, and add default slider colors with better contrast. Hide the overview ruler border that enabling the scrollbar width activates.
* fix(windows): stop synchronous powershell ACL spawns blocking the main thread
markEnvironmentUsed re-hardened the env-store on every runtime round-trip,
spawning powershell.exe ~5x synchronously (~1-1.5s each) and freezing the
Windows UI on launch and every keystroke. Throttle the non-security lastUsedAt
write (60s window; runtimeId changes bypass) and make path hardening idempotent
per process. ACL hardening is preserved; post-rename credential hardening still
always runs. ~14.0s -> ~6.8s launch; main thread 95.7% blocked -> 99.0% idle.
* Fix secure-file hardening cache retries
---------
Co-authored-by: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com>
- Construct fallback Linear URL from workspace info so users can navigate
to the issue even while the API request is in flight
- Use `all` workspace scope to find issues across all Linear workspaces
rather than only the currently selected one
* Use a distinct background token for the worktree sidebar panel
- Adds `--worktree-sidebar` and `--worktree-sidebar-foreground` CSS tokens (light: #f5f5f5, dark: #212121) so the sidebar can be visually lighter than the default `--sidebar` value
- Applies `bg-worktree-sidebar` to the sidebar container
* Lighten worktree sidebar and scope its color tokens under `--worktree-si
- Dark mode panel lifted from `#212121` to `#2a2a2a` so it reads clearly above the `#0a0a0a` canvas.
- Added `--worktree-sidebar-accent`, `--worktree-sidebar-border`, and `--worktree-sidebar-ring` tokens in both color schemes.
- Migrated all sidebar components from shared `sidebar-*` tokens to the scoped `worktree-sidebar-*` tokens, preventing bleed when the two layers diverge.
* Use worktree-sidebar tokens in settings sidebar instead of generic theme
- Replaces `bg-accent`, `text-muted-foreground`, `border-border/50`, and `bg-card/40` with dedicated worktree-sidebar CSS custom properties
- Enables independent styling of the settings sidebar separate from the main panel theme
Drops the hosted-review classification logic that computed whether a PR/MR
needs a response and displayed it as a badge. The inputs (viewer, author,
requested-reviewer) aren't wired into this component yet, so the
classification was incomplete and the badge misleading.