Fix worktree retirement, cleanup feedback, and session reopening - #12
Merged
Merged
Conversation
Worktree preparation errors, including Apple's Xcode license rejection from Git, previously blocked reopening saved conversations. Open the transcript with a workspace warning, preserve archive state on preparation failure, and retry preparation before the next coding turn. Add regression coverage for toolchain and setup failures, recovery, and archive-state persistence. Validation: npm run check:web passed with 2,334 Vitest tests, 15 release tests, and TypeScript checks.
Bind later branch-cleanup reviews to the original retirement so a fresh review can finish deletion without replacing code or configuration recovery. Reject reviews that cross a restore and subsequent retirement. Keep blocked archive outcomes visible in a dialog. Recognize ignored Node, Rust, and Tauri output folders from tracked project manifests so standard generated files no longer require manual disposal settings. Preserve configured local files and retain checks for unknown data, tracked changes, and symlinks. Validated with 105 native worktree tests, 32 related UI tests, TypeScript checking, Rust formatting, and Clippy with warnings denied.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Fix worktree retirement retries, automatically dispose of recognized Node/Rust/Tauri build folders, and show blocked cleanup in a persistent archive dialog. Saved conversations also remain readable when workspace preparation fails, with preparation retried before the next coding turn.
Why
A fresh branch-cleanup review was rejected as a different retirement after its folder had already been removed. Reviews now retain the original recovery identity while still rejecting stale reviews after restoration and another retirement. Ignored generated folders previously required manual disposal settings; tracked project manifests now identify standard outputs, while configured local files remain recoverable and unknown data or code changes still block deletion.
UI
Blocked archives use the existing retirement dialog to show protection reasons until dismissed. Settings and retirement wording explain automatic generated-folder cleanup. Workspace preparation failures show a warning while allowing the transcript to open. No new screenshot was captured.
Validation
Checklist
npm run check(targeted checks listed above; full checks run in CI)