Skip to content

Fix empty project list when a project folder is deleted from disk#649

Merged
h0x91b merged 1 commit into
mainfrom
fix/dev3-missing-project-folder
Jun 11, 2026
Merged

Fix empty project list when a project folder is deleted from disk#649
h0x91b merged 1 commit into
mainfrom
fix/dev3-missing-project-folder

Conversation

@h0x91b

@h0x91b h0x91b commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Wrap per-project migrateProjectConfig + resolveProjectConfig in individual try/catch in getProjects — one broken project no longer rejects the whole list and empties the Kanban board
  • Guard resolveProjectConfig and migrateProjectConfig against missing project folder: skip detectDefaultCompareRef when basePath doesn't exist, return early from migration to prevent folder resurrection
  • Add daily projects.json backups (~/.dev3.0/projects-YYYY-MM-DD.json.bak, 7 days retained) written before each save and once at startup

A deleted project folder made resolveProjectConfig reject (git spawn with
a missing cwd), which blew up the Promise.all in getProjects and left the
dashboard showing "No projects yet" despite a valid projects.json.

- resolveProjectConfig: skip compare-ref detection when the folder is
  missing and fall back to the base branch on any detection failure
- migrateProjectConfig: never recreate a deleted project folder
- getProjects: resolve each project independently so one broken project
  can't drop the whole list

Also add daily projects.json snapshots (projects-YYYY-MM-DD.json.bak in
~/.dev3.0, 7-day retention) written at startup and before each save, so
users can recover their project list.
@h0x91b h0x91b enabled auto-merge (squash) June 11, 2026 15:34
@h0x91b h0x91b merged commit 9c29ad3 into main Jun 11, 2026
4 checks passed
@h0x91b h0x91b deleted the fix/dev3-missing-project-folder branch June 11, 2026 15:38
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