mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-11-05 07:47:25 +00:00
[GH-ISSUE #3301] Preserve installed nodepack state when deletion is deferred #1138
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI-Manager#1138
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ltdrdata on GitHub (Sep 18, 2026).
Original GitHub issue: https://github.com/Comfy-Org/ComfyUI-Manager/issues/3301
Problem
When legacy Manager cannot delete an installed nodepack directory or rename it into the trash directory, it schedules deletion of the original path for restart. unified_uninstall nevertheless reports success and removes the active-node entry. Reinstallation then fails because the original installation path still exists, leaving disk contents and Manager state inconsistent.
This is a valid pre-existing defect, tracked separately from the Flagged installation policy in #3299 by agreement with its reviewer and the project owner. Review finding and scope discussion.
Reproduction evidence
Executed the production removal and installation functions extracted from manager-v4 base
a0d89e9aand PR head 0ceeec62, using isolated temporary directories. Only deletion/rename failures and retry delays were controlled. The production reservation writer recorded the actual deferred paths. This is a deterministic filesystem-failure reproduction, not a real Windows file-lock E2E test.Both revisions produce the same results:
The original file contents survive the third case, but the Manager cache no longer represents them. The removal functions are unchanged between the compared revisions.
Required behavior
Validation for the separate fix
Scope boundary
The Flagged policy must reject before removal and honor an explicit uninstall failure. Its current regression test establishes that boundary by returning a failed uninstall result; it does not establish correct reporting of deferred deletion. Fixing this issue must preserve the common Active/Flagged gates and denial-state preservation.