Skip to content

feat(space): open disk usage in a separate window - #29513

Merged
nwparker merged 3 commits into
mainfrom
nwparker/space-V2
Oct 16, 2026
Merged

nwparker merged 3 commits into
mainfrom
nwparker/space-V2

Conversation

@nwparker

@nwparker nwparker commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 10 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​293 $\color{#cf222e}{\Huge{\mathbf{−}}}$​39 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​254
Prod 40 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​912 $\color{#cf222e}{\Huge{\mathbf{−}}}$​149 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​763

ELI5

Space now opens beside the main Orca window, so reviewing disk usage does not replace the workspace you were using.

What Changed

Before, Review navigated the main window to Space. Now it opens one dedicated Space window and reuses it when opened again. The main window supplies current workspace and safety information; scans and deletions flow back so both windows stay current. The Space view has a clearer first scan prompt, chart, summary, and selection state. Local disk measurement now runs through workers: the existing process worker starts du, and a dedicated scan worker parses its output or traverses the filesystem when du is unavailable. Discovered worktrees that Orca does not manage remain inspectable but cannot be selected for deletion.

Why

A dedicated native window lets people compare disk usage with their active workspace. Reusing the existing Space view and deletion flow keeps its safety checks in one place. The review also corrected misleading linked-worktree totals, a preview translation that reported healthy workspaces as unavailable, and a saved-scan race that hid folder details after reopening the window. Worker startup and scan failures produce an unavailable row rather than moving the traversal back onto Electron’s main thread.

Linked Issue

None (maintainer change).

Visual Proof

Before: Space is accessed from the Resource Manager card.

Resource Manager before opening Space

After: Space opens in its own window with the scan overview and folder breakdown.

Separate Space window after scanning

The new first scan state:

Space first scan state

Testing

  • Manually tested on macOS through a hidden Electron window and Playwright CDP: open, scan, select, close, reopen, and confirm the main view stays in place.
  • Focused automated tests pass, including state publication, cancellation, the du timeout, scan capacity, and a failed-worker path. A built scan worker returned a real folder result from a non-main thread.
  • pnpm tc, pnpm run check:code-quality:changed, and pnpm run build:electron-vite pass.
  • Linux, Windows, and live SSH were not exercised locally; CI will run the broader gates.

Review

Self-reviewed IPC sender checks, window cleanup, scan synchronization, deletion safety, host routing, and cross-platform path behavior. The Space publisher stops watching store updates when its window closes.

Agent skill upstream boundary

  • Not applicable; this change copies no upstream skill-installer source.

Notes

The window uses the existing Space scan and worktree removal services. du output remains capped at 16 MiB and timed out after 120 seconds; portable traversal retains its entry budget. A live SSH host was not available for manual validation.

Checklist

  • This PR is small and focused.
  • I explained the user-facing change, mechanism, and tradeoff.
  • Before and after screenshots are attached.
  • Self-reviewed correctness, security, and performance.
  • Cross-platform and SSH impact considered.
  • Full pnpm lint, pnpm test, and pnpm build will be covered by CI; local focused checks passed.

@nwparker
nwparker marked this pull request as ready for review October 16, 2026 08:06
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 7 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5e80af9f-67b9-46a8-95d6-28afca92ea28
📥 Commits

Reviewing files that changed from the base of the PR and between 723c258 and a1ec226.

📒 Files selected for processing: 50
  • config/build-plugins/main-build-entry-points.ts
  • config/build-plugins/plain-node-entry-guard.ts
  • config/process-host-direct-import-baseline.txt
  • electron.vite.config.ts
  • src/main/ipc/register-core-handlers/register-core-handlers.test.ts
  • src/main/ipc/register-core-handlers/register-core-handlers.ts
  • src/main/ipc/workspace-space-window.ts
  • src/main/runtime/construction/runtime-host-services.ts
  • src/main/startup/main-process-i18n-menu.ts
  • src/main/window/createMainWindow.ts
  • src/main/window/workspace-space-window.ts
  • src/main/workspace-space-analysis-capacity.test.ts
  • src/main/workspace-space-analysis-du-timeout.test.ts
  • src/main/workspace-space-analysis.test.ts
  • src/main/workspace-space-analysis.ts
  • src/main/workspace-space-local-scan.ts
  • src/main/workspace-space-repo-scan.ts
  • src/main/workspace-space-scan-worker-client.ts
  • src/main/workspace-space-scan-worker-entry.ts
  • src/main/workspace-space-scan-worker-protocol.ts
  • src/preload/api/workspace-cleanup-api.ts
  • src/preload/api/workspace-space-bridge.ts
  • src/renderer/space.html
  • src/renderer/src/App.tsx
  • src/renderer/src/components/status-bar/WorkspaceSpaceCompactPanel.tsx
  • src/renderer/src/components/status-bar/use-workspace-space-decision-projection.ts
  • src/renderer/src/components/status-bar/use-workspace-space-manager-bindings.ts
  • src/renderer/src/components/status-bar/use-workspace-space-manager-panel.ts
  • src/renderer/src/components/status-bar/use-workspace-space-manager-projection.ts
  • src/renderer/src/components/status-bar/workspace-space-breakdown-list.test.tsx
  • src/renderer/src/components/status-bar/workspace-space-breakdown-list.tsx
  • src/renderer/src/components/status-bar/workspace-space-decision-details.ts
  • src/renderer/src/components/status-bar/workspace-space-manager-overview.tsx
  • src/renderer/src/components/status-bar/workspace-space-manager-table.tsx
  • src/renderer/src/components/status-bar/workspace-space-manager-toolbar.tsx
  • src/renderer/src/components/status-bar/workspace-space-presentation.test.ts
  • src/renderer/src/components/status-bar/workspace-space-presentation.ts
  • src/renderer/src/components/status-bar/workspace-space-status-badge.tsx
  • src/renderer/src/components/status-bar/workspace-space-treemap.tsx
  • src/renderer/src/components/terminal-pane/remote-runtime-pty-transport-mirror-resolve-overlap.test.ts
  • src/renderer/src/components/workspace-space/SpaceWindowStatePublisher.test.tsx
  • src/renderer/src/components/workspace-space/SpaceWindowStatePublisher.tsx
  • src/renderer/src/components/workspace-space/WorkspaceSpacePage.tsx
  • src/renderer/src/components/workspace-space/space-window-state.test.ts
  • src/renderer/src/components/workspace-space/space-window-state.ts
  • src/renderer/src/i18n/en-runtime-required.json
  • src/renderer/src/i18n/locales/en.json
  • src/renderer/src/space.tsx
  • src/renderer/src/store/slices/ui-page-navigation.test.ts
  • src/renderer/src/store/slices/ui/ui-slice-view-actions.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nwparker
nwparker merged commit 7f8faae into main Oct 16, 2026
36 checks passed
nwparker added a commit that referenced this pull request Oct 16, 2026
Space opens in its own window since #29513, so the full-suite spec waited on
the main window for checkboxes that now render in space.html.
smwbev added a commit to smwbev/orca that referenced this pull request Oct 16, 2026
312 commits landed on main between 67fe1e1 and 5db05e8, and the es, ja, ko and zh catalogs and en-runtime-required.json conflicted. All six catalogs are taken from main and the prune is recomputed in one pass: 1,480 keys. Five keys joined the set and none left: four labels of the old disk-usage panels that stablyai#29513 replaced, and workspaceSpace.chart.workspaceSizes, which stablyai#29567 stopped reading and which exists only in en.json. en.json goes from 16,175 entries to 14,695; en-runtime-required.json keeps 567 of them.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant