* Stabilize terminal e2e tests on Windows ConPTY
Windows ConPTY can drop or reorder the tail of large synchronized terminal
frames or stdout writes when they are written all at once or when the process
exits too quickly.
* Wait for PTY shell readiness before running test scripts.
* Chunk large table writes line-by-line and yield with a short timeout on
Windows to let the stream drain.
* Add and poll for a synchronized frame tail marker to ensure the entire
content is rendered before proceeding.
* Remove flaky preflight shell echo in terminal emoji scroll test
The Ctrl+C/Ctrl+U preflight keys sent by `waitForPtyShellEcho` can race
Windows ConPTY startup and eat subsequent test input. Remove this wait
and rely on the fixture marker as the readiness signal instead.
Resolve the Create PR/MR preparation intent first in the header action,
falling back to blocked notices only for states that cannot be safely
prepared (such as auth issues, default branch, or unsafe sync blockers).
This allows recoverable states like dirty files or unpublished commits
to proceed via the preparation flow.
* Hide native scrollbars on terminal tab strip
Remove the 'scrollbar-sleek' class and hide the scrollbars entirely using
CSS on '.terminal-tab-strip'. Horizontal tab strips scroll via chevrons,
wheel, and trackpad, so a native scrollbar thumb overlays tab labels and
looks broken.
* Introduce tab strip scroll indicator and fade masks for overflow
* Adds a top-aligned scroll indicator overlay to provide visual feedback for overflowing tabs.
* Applies CSS gradient mask-image fades to scroll edges to handle tab clipping cleanly.
* Employs ResizeObserver and MutationObserver to reliably recalculate scroll metrics as tab lengths or labels change.
* Extracts and tests scroll thumb layout and metrics logic under a dedicated module.
- Enable project header manual reordering when project groups are present.
- Restrict dragging to the project icon handle instead of the entire row.
- Integrate autoscrolling during sidebar drags via requestAnimationFrame.
- Fix drop index comparison in drag-commit logic to handle filtered sibling indices correctly.
- Modularize drag contract, initialization, and measurement helpers.
* Relax source control action availability
Implements the behavior described in docs/lift-git-action-restrictions.md: keep eligible git and review actions clickable so existing git/provider errors can surface, preserve partially staged commit availability, and show a readable inline notice when Create Review is blocked.
* Address source control review follow-ups
* rm design doc
Reveals the standard workspace delete action from sidebar rows on hover or keyboard focus, while keeping primary/main worktrees protected.
Maintainer follow-up:
- prevent hidden delete buttons from receiving pointer events
- merge latest main and resolve localization conflict
Validated with CI PR Checks plus local typecheck, lint, Vitest, and Electron hover/focus/delete-confirmation checks.
Restore focus to the active panel when dismissing QuickOpen, including terminal, editor, simulator, local browser, and remote browser surfaces.
Reviewed-by: Codex
Maps Kimi AskUserQuestion PreToolUse events to waiting, exposes the Kimi hook status IPC/preload surface, and hardens Kimi session parsing plus remote hook path construction.
* fix(settings): surface relative-path behavior in Workspace Directory helper
The global Workspace Directory field's helper text only duplicated the
section description, so the per-project relative-path behavior was
undiscoverable: a relative value resolves under each repo root, an absolute
value is one shared location (worktree-logic.ts resolveWorkspaceDirForRepo).
The per-repo "Worktree Location" field already explains this; the global one
didn't. Replace the redundant line with a helper stating both modes, under a
new i18n key across all five locales.
Also translate the host-scope strings in this block (Client default, Apply
to, Overrides/Inherits client default, Reset) that were still English in
zh/ko/ja/es.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M3VivWTrvHx31HdobBmPQ1
* fix(i18n): use 'Restablecer' for Reset action in es locale
'Reiniciar' reads as restarting Orca; 'Restablecer' is the correct
verb for resetting a setting to its default.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BnKfKNJJskzs7eWE7MyJDF
---------
Co-authored-by: Daniil Zinenko <dzinenko@welmi.ai>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
Correct Korean locale mistranslations, preserve cross-locale overrides while splitting KO data, and add regression coverage for key-specific localization repairs.