Fix non-serialized widget values included in graph state check #3323
+61
−2
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.
Changes
graphEqual
comparison to ignore non-serialized widget values. These values are not part of the restorable state of the graph, so it does not make sense for them to influence the state check comparison.Previously, this issue did not surface because either (a) the widget was not properly set to be non-serialized or (b) the non-serialized widget was added prior to the graph being configured. In #2689, one instance of (a) was fixed with the LoadImage node, which caused this bug to surface.This issue is not actually caused byserialize
widget option. See update in comments.Afterwards, any graph with LoadImage nodes would be marked dirty upon first opening, which casued countless issues, including interfering with tab restore (as unsaved tabs are not restored) and causing manual confirmation when closing otherwise unmodified tabs.
Resolves #3313, #3254, comfyanonymous/ComfyUI#7475
┆Issue is synchronized with this Notion page by Unito