* 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>
* 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>
store-session-cascades.test.ts and tabs.test.ts each carried a
byte-for-byte copy of createTestStore (plus the make* fixture factories
in the session-cascades file) instead of importing the canonical ones
from store-test-helpers.ts. Switch both to the shared helpers, dropping
~170 lines of duplicated harness and the now-unused slice/create/AppState
imports. The removed bodies were identical to the shared exports, so test
behavior is unchanged.
* Keep project group headers sticky over nested repo headers
- Prevent nested repo headers from replacing their top-level project group
as the pinned sidebar header
- Split imported-row tests from scroll adjustment coverage
- Add sticky header tests for manual and built row hierarchies
* Tell users to commit before publishing dirty new branches