Skip to content

Smoke test polish, simulator devices, Docker volumes and reset - #53

Merged
ado11231 merged 17 commits into
masterfrom
feat/quick-clean-polish
Oct 2, 2026
Merged

ado11231 merged 17 commits into
masterfrom
feat/quick-clean-polish

Conversation

@ado11231

@ado11231 ado11231 commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Polish from a full smoke test while clearing a nearly full disk, and the Docker and simulator work it showed was missing.

Screens

  • Selected rows are bold and keep their colors everywhere. "permanently", not "for good". Empty messages are centered.
  • Disk and Large Files are view only (no d). Large Files gets a filter box, size bars, and a side panel with the selected file and where the files are.
  • Deep Clean's item counts line up. Disk says "1 item".

Smoke test fixes

  • Rules no longer count a lone Finder .DS_Store as a found cache (empty caches showed as 1 item, 8.2 KB).
  • The Deep Clean loading test could race and fail about 1 run in 16.
  • The Docker footer only offers enter prune when there is something to prune.

Simulators

  • Lists the simulators on each runtime. Removing a runtime removes its simulators in the same red question (xcrun simctl delete <udid>).
  • Simulators left without a runtime get a yellow "No runtime" row. Quick Clean's row is now "Simulators" and counts them.

Docker

  • Lists volumes no container uses, none selected. Space adds one to the prune (docker volume rm -- <name>).
  • x resets Docker: stops it with docker desktop stop, waits until lsof says nothing has Docker.raw open, then moves it into ~/.Trash. Finder hangs on files inside another app's container, so neet moves this one file itself. The clutter check accepts exactly that path.
  • Newer Docker's "failed to connect to the docker API" is read as not running, so the not-running screen and x show.
  • The not-running steps, and every done screen, are small centered boxes with colored steps and ticks. Box heights count word wrapping.

Tested

  • cargo fmt, cargo clippy -D warnings, and cargo test (184 tests) pass.
  • Walked every screen in the release build. Pruned with an unused volume and reset Docker with 10 Supabase containers running (12 s, Docker.raw in the Trash).

Docs: SAFETY.md gets "Resetting Docker" and the new commands in "Tools neet Runs". INTERFACE.md and FEATURES.md are updated.

Closes #31

Cleaning happens in Quick Clean and Deep Clean, so d and the box that
said why an item could not be moved are gone. Disk's preview still says
whether neet cleans the item. The selected row in both is bold and keeps
its colors.
… Quick Clean's empty list

The selected row is bold instead of white all the way across, so sizes,
bars, and who clears it keep their colors. "For good" now reads
"permanently". When the Largest box has no list, its reason sits in the
middle.
The column shows just the number, headed Items, so counts line up.
…the selected file and where files are

Every size and age choice is listed with the current one marked, so s and
a say what they change. Each file has a bar against the largest. From 120
columns the right side shows the selected file's folder, size, share,
age, type, and a plain hint, and below it the files added up by folder.
An empty list says so in the middle.
A fast plan could finish before the first frame, so the screen skipped
straight past "Finding files" and the test failed about 1 run in 16.
A cache folder left with only .DS_Store showed as 1 item, 8.2 KB, so
rules that found nothing looked like they found something.
…et Docker to the Trash

simctl delete removes devices by ID, docker volume rm removes volumes no
container uses, and reset_docker quits Docker Desktop and moves Docker.raw
to the Trash through the clutter check, which now takes that one file.
Quick Clean's simulator finding counts devices left without a runtime.
…e simulators with their runtimes

Docker's not running steps, and every done screen, are now small centered
boxes with colored steps and ticks. Simulators lists devices left without a
runtime, and removing a runtime removes the simulators on it.
…er Docker's not running error

Docker Desktop ignored the AppleScript quit, so reset waited a minute and
gave up. Newer docker says it failed to connect to the API, which showed an
error box with no way to reset.
…tly, once nothing has it open

Finder hangs on files inside another app's container, and Docker's helper
processes outlived the one minute wait while containers shut down. neet now
waits until lsof says the image is closed, then moves it into ~/.Trash
itself.
@ado11231
ado11231 merged commit ff20e66 into master Oct 2, 2026
9 checks passed
@ado11231
ado11231 deleted the feat/quick-clean-polish branch October 2, 2026 23:02
@ado11231
ado11231 restored the feat/quick-clean-polish branch October 2, 2026 23:03
@ado11231
ado11231 deleted the feat/quick-clean-polish branch October 2, 2026 23:03
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.

Cleaning Docker and simulators

1 participant