What happens
The site registry and the filesystem drift apart with no reconciliation, in both directions:
- Delete or move a site folder outside the app and the site stays in the sidebar forever; its status checks quietly return all-false (
src/main.js:406-422) but nothing marks it missing or offers cleanup.
- A failed clone leaves a partial directory behind. The site directory is created before the clone runs (
src/main.js:462-503), so on failure the leftovers stay — and a retry with the same name silently becomes "my-site-2" via the collision-suffix logic (src/main.js:111-119) instead of reusing the intended name.
Related: there is no size reporting or "free up space" anywhere — each site is a full working tree plus node_modules plus build output, and a user with three sites cannot see why their disk is full.
Idea
A cheap existence check when listing sites (mark missing sites and offer to forget them), cleanup of the partial directory when a clone fails, and per-site disk usage in the UI.
What happens
The site registry and the filesystem drift apart with no reconciliation, in both directions:
src/main.js:406-422) but nothing marks it missing or offers cleanup.src/main.js:462-503), so on failure the leftovers stay — and a retry with the same name silently becomes "my-site-2" via the collision-suffix logic (src/main.js:111-119) instead of reusing the intended name.Related: there is no size reporting or "free up space" anywhere — each site is a full working tree plus node_modules plus build output, and a user with three sites cannot see why their disk is full.
Idea
A cheap existence check when listing sites (mark missing sites and offer to forget them), cleanup of the partial directory when a clone fails, and per-site disk usage in the UI.