Fix inactive workspace scan loading copy#2577
Merged
Merged
Conversation
Co-authored-by: Orca <[email protected]>
Co-authored-by: Orca <[email protected]>
Co-authored-by: Orca <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Design
A design doc was created and reviewed during the Brennan pipeline, then removed from the final PR at reviewer request so this PR contains only the product code and Styleguide rule changes.
Design-review outcome:
auto-design-review-fixcompleted two rounds. Phase 0.5 found no P0/P1 direction issues. The review corrected the wording so it preserves execution order: main scans worktrees/git state first, then renderer-side tab, terminal, live-agent, and remote availability signals are combined before suggestions render. No unresolved actionable design findings remain.Implementation
Implemented in
src/renderer/src/components/workspace-cleanup/WorkspaceCleanupDialog.tsxand documented indocs/STYLEGUIDE.md.Changes:
SCAN_LOADING_STEPSwith one inline static loading message.loadingStepIndex, thesetIntervaleffect, and the derivedloadingStepvalue.Checking workspace safetyScanning worktrees and git state, then combining open tab, terminal, live agent, and remote availability signals before suggesting deletions.Implementation deviations from the reviewed design: none.
Completeness Verification
Read-only completeness verification confirmed:
loading && !scan.WorkspaceCleanupScanResult.SCAN_LOADING_STEPS,loadingStepIndex,Protecting active work, or interval timer remains in the implementation.Code Review
Two independent
review-codesubagents reviewed the current branch diff in parallel.Round 1 result:
Residual non-blocking gap noted by reviewers: no dedicated automated renderer/component test asserts that the loading banner remains static. This is accepted for this copy/state-only change because Brennan validation exercised the actual UI and the timer code was removed.
Brennan Test Changes
brennan-test-changesverdict: land.Evidence:
brennankbenson/review-inactive-workspaces/Users/thebr/orca/workspaces/orca/review-inactive-workspacesdemo-projectfor product validation.Review inactive workspaces.Protecting active work,Finding inactive workspaces, andChecking git safetywere absent.demo-projectregistered.React Graboutdated warning was unrelated.Checks
Passed:
pnpm exec oxlint src/renderer/src/components/workspace-cleanup/WorkspaceCleanupDialog.tsxpnpm exec oxfmt --check src/renderer/src/components/workspace-cleanup/WorkspaceCleanupDialog.tsxpnpm run typecheck:webpnpm run typecheckpnpm run lintgit diff --checkpnpm vitest run --config config/vitest.config.ts src/renderer/src/store/slices/workspace-cleanup.test.ts src/shared/workspace-cleanup.test.ts src/main/ipc/workspace-cleanup.test.ts(3 files, 30 tests)SSH, Cross-Platform, and Risk
This change is renderer copy/state only. It does not change SSH providers, IPC contracts, git provider behavior, deletion behavior, path handling, or keyboard shortcuts.
Accepted residual risk: multi-interval UI stability was verified with a controlled loading-state hold because the real scan completed too quickly to naturally remain visible past the old rotation interval.