Skip to content

v0.46.2 — Sticky-prompt_id hardening + half-wired warning

Choose a tag to compare

@Deaththegrim Deaththegrim released this 07 May 01:52
· 51 commits to main since this release

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 by id, 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