Skip to content

fix(macos): bound analyze per-child scan + stop menu-bar popover bounce - #256

Merged
caezium merged 1 commit into
mainfrom
fix/analyze-timeout-popover-scroll
Jul 11, 2026
Merged

fix(macos): bound analyze per-child scan + stop menu-bar popover bounce#256
caezium merged 1 commit into
mainfrom
fix/analyze-timeout-popover-scroll

Conversation

@caezium

@caezium caezium commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Fixes found while hand-testing the conductor build (all validated on a real build):

  • Analyze freeze ('191/192' stuck on ~/Library / Home): DiskScanner.scan now takes a timeout, and the per-child walk passes 20s — so one huge child (a package cache with millions of files) times out + shows partial instead of stalling the whole scan for the full 300s.
  • Menu-bar popover bounce: HUDController's NSScrollView gets verticalScrollElasticity = .none — no more rubber-banding into empty space when the content fits (overflow past the screen-height cap still scrolls).
  • Streaming safety (opt-in analyze --progress, off by default): a 30s kill-timeout so a pathological tree can't block the reader indefinitely, and the progress reads N files (unknown total) instead of a misleading N/N.

The conductor path is unchanged — analyze/status/history/clean still run through bundled burrow → bundled engine (confirmed via ps: burrow analyzeanalyze-go). Streaming stays off by default; the per-child walk's 'scanning · k/N' progress is more informative.

Hand-test fixes on the conductor build:
- DiskScanner.scan takes a `timeout`; the per-child walk passes 20s so one huge child (a package
  cache with millions of files) times out + shows partial instead of stalling the whole scan for
  the full 300s (the "191/192" freeze on ~/Library / Home).
- HUDController: NSScrollView elasticity = .none so the menu-bar popover no longer rubber-bands
  into empty space when the content fits (overflow past the screen cap still scrolls).
- scanStreaming (opt-in `analyze --progress`) gets a 30s kill-timeout so a pathological tree can't
  block the reader indefinitely; its progress shows "N files" (unknown total) not a misleading
  "N/N". Streaming stays OFF by default — the per-child walk's "scanning <child> · k/N" progress is
  more informative.
@caezium
caezium merged commit 1a8b0f6 into main Jul 11, 2026
1 check passed
@caezium
caezium deleted the fix/analyze-timeout-popover-scroll branch July 11, 2026 14:40
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