mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-11-05 07:47:25 +00:00
[GH-ISSUE #3209] restore-snapshot silently skips a node when the snapshot's git URL no longer matches the node list #1119
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#1119
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 @kmj00204 on GitHub (Aug 26, 2026).
Original GitHub issue: https://github.com/Comfy-Org/ComfyUI-Manager/issues/3209
restore-snapshot silently skips a node when the snapshot's git URL no longer matches the node list, no error at all
I have a snapshot with this entry in
git_custom_nodes:That's the original author's repo. It still exists and clones fine on its own with a plain
git clone. Butcustom-node-list.jsondoesn't point there anymore — it's nowhttps://github.com/ltdrdata/was-node-suite-comfyui(idwas-ns, the description even says it's the replacement pack after the original author retired).When I run
restore-snapshoton this snapshot, every other node in it (about 39) installs fine, each with the usualDownload: git clone '...'+Install: pip packagesoutput. This one node never gets a clone line, never prints an error, nothing — it just shows up at the very end as:If I edit the snapshot to point at the
ltdrdatafork instead (with the matching hash), the exact same restore-snapshot run installs it like any other node. So the repo itself was never the problem — the URL in the snapshot just doesn't match anything in the current node list anymore.Happened the same way on three separate fresh instances, so it's consistent, not a fluke.
I dug into
restore_snapshot()inglob/manager_core.pya bit. There's a loop that looks up each git URL inunified_manager.repo_cnr_map, and if it doesn't find a match (cnr is None), there's noelse— it just moves on without installing, without erroring, and without marking it processed. From reading the code, I'd expect it to still fall through to the later loop that clones any leftover URL directly, but that doesn't seem to happen in practice — I couldn't fully trace why before the entry drops out. Might be something upstream inreload()/get_custom_nodes()that removes it earlier, not sure.Either way, the real issue is that this fails completely silently. There's no way to tell from the output whether a node's install was attempted and failed, or just never looked at. Some kind of explicit message for the "couldn't resolve this URL to anything" case would've saved a lot of debugging time — I only found the actual cause by grepping the cached node list myself.
ComfyUI-Manager commit:
f39cbd56fe