* fix: address pr-bug-scan validated finding from #3420
Replaced SheetClose-wrapped X button with a direct onClick that calls onOpenChange(false), bypassing handleSheetOpenChange's swallowed false branch.
* Add workspace board close regression
* test: align workspace board close test with layout props
---------
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
* fix: address pr-bug-scan validated finding from #2901
Trim trailing whitespace from description currentValue so blur-without-edit on whitespace-terminated descriptions short-circuits and skips the spurious PATCH.
* test: cover Linear description save normalization
---------
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Removed duplicate 'openclaude' entry at index 3 of MOBILE_TUI_AGENT_AUTO_PICK_ORDER so mobile pickers no longer render two OpenClaude rows or emit duplicate-key warnings.
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Low-risk resource-cleanup perf fix. Duplicate pending/running startup history-GC schedules are coalesced so repeated main-window service attaches do not queue duplicate disk-GC passes. Verified with terminal-history Vitest and file-level oxlint.
* fix: address pr-bug-scan validated finding from #2613
Re-added the pre-diff attempt cap to waitForTerminal: it now takes an attempt counter and only reschedules while attempt < READY_MAX_ATTEMPTS (50), so the retry loop terminates after ~5s instead of lo
* test: cover onboarding terminal retry cap
---------
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
* fix: address pr-bug-scan validated finding from #2633
Split the post-stop refresh try/catch so only first-scan failures return ok:false; settled second-scan failures are swallowed since UI is already correct.
* test: cover settled port refresh failures
---------
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Support packaged Linux AppImage CLI registration with a stable wrapper that invokes the outer AppImage and resolves the CLI entry from APPDIR at runtime.
The takeover drops the already-landed Linux command rename plus unrelated perf/GPU sandbox changes from the original branch, and adds regression coverage for wrapper install, stale wrapper replacement, legacy symlink cleanup, argument forwarding, and env preservation.
Co-authored-by: Emad Fussi <43019044+omd0@users.noreply.github.com>