v0.46.2 — Sticky-prompt_id hardening + half-wired warning
v0.46.2 — Sticky-prompt_id hardening + Library half-wired warning
Triggered by a user report: overwrite_by_name on the Save node was "sticking" and overwriting the latest entry instead of the named one. Library scan showed zero duplicate names, so the most likely cause was a sticky prompt_id widget masking overwrite_by_name. Two patch releases folded into this tag.
v0.46.1 — overwrite_by_name + modal collision
| What changed | |
|---|---|
overwrite_by_name picks most-recently-updated |
Was first-by-storage-order = oldest dup. Now matches "the one I last edited" intent. Collapses to the single match when no dupes. |
| Save node logs the lookup path | Every Save now prints via=prompt_id / via=overwrite_by_name / via=new to the Comfy console. The diagnostic for sticky widget values — if every save logs via=prompt_id even when the user expected overwrite_by_name to fire, the Save node's prompt_id field has a pinned value to clear. |
Modal +Add warns on duplicate name |
Was silently appending _2 / _3 (the actual mechanism that lets users accumulate same-named entries). Now pops a "Save as new / Cancel and edit existing" confirm. |
v0.46.2 — ThumbnailSaver + Library half-wired warning
| What changed | |
|---|---|
| ThumbnailSaver success log | PromptLibraryThumbnailSaver has the same prompt_id widget as the Save node — same risk class. Previously logged only failures; now also logs success: [ThumbnailSaver] wrote thumbnail to id='foo' name='Foo Style'. |
| Library half-wired MODEL/CLIP warning | Wiring just MODEL or just CLIP into the Library node silently skipped the LoRA path (both required). Now prints a clear warning so the user knows why their LoRAs aren't applying. |
Audit notes — no fix needed
- Style node has MODEL + CLIP as required, so half-wired is structurally impossible.
- Multi-panel node uses
prompt_id_<N>widgets driven by the gallery, hidden, cleaned on node delete (v0.37); not at risk. - All other
next()lookups are byid, which is unique by construction (_unique_id+_safe_id).
How to diagnose the original bug
Restart Comfy, run your Save-node workflow once, check the console:
[PromptLibrary] saved id='X' name='X' via=prompt_id ← sticky prompt_id
[PromptLibrary] saved id='X' name='X' via=overwrite_by_name ← working as intended
[PromptLibrary] saved id='X' name='X' via=new ← created new
If via=prompt_id when you expected overwrite_by_name, the Save node's prompt_id field has a pinned value. Clear it.
Tests
263 total (was 261, +2). The new cases cover overwrite_by_name picking the newest match and creating-when-no-match.
Backward compat
All changes internal — no socket / widget / workflow JSON shape changes.
Install / upgrade
cd ComfyUI/custom_nodes/ComfyUI-GrimmRibbity
git pull
# restart ComfyUI / hard-refresh browser tab