2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
ff375071c0 Fix seed widget displaying actual seed instead of -1
The issue was that serializeValue() was updating the widget's display value to the actual generated seed, causing the UI to show the seed number instead of -1. Now the widget value only updates when the user manually sets a specific seed, keeping -1 visible in the UI for random seeds.

Co-authored-by: jags111 <5968619+jags111@users.noreply.github.com>
2026-02-03 23:03:46 +00:00
copilot-swe-agent[bot]
6e8cb9be98 Initial plan 2026-02-03 22:58:45 +00:00
2 changed files with 9 additions and 11 deletions

View File

@@ -117,7 +117,10 @@ class SeedControl {
this.updateButtonLabel();
}
this.seedWidget.value = this.serializedCtx.seedUsed;
// Don't update the widget value to maintain -1 in the UI when seed was special
if (!this.serializedCtx.wasSpecial) {
this.seedWidget.value = this.serializedCtx.seedUsed;
}
if (this.serializedCtx.wasSpecial) {
this.lastSeed = this.serializedCtx.seedUsed;
@@ -133,12 +136,8 @@ class SeedControl {
return; // Exit the function immediately
}
if (this.serializedCtx.wasSpecial) {
this.seedWidget.value = -1;
}
// Check if seed has changed to a non -1 value, and if so, update lastSeed
if (this.seedWidget.value !== -1) {
// Update lastSeed if user manually changed the seed to a specific value
if (!this.serializedCtx.wasSpecial && this.seedWidget.value !== -1) {
this.lastSeed = this.seedWidget.value;
}

View File

@@ -36,6 +36,7 @@ function toggleWidget(node, widget, show = false, suffix = "") {
node.setSize([node.size[0], newHeight]);
}
const WIDGET_HEIGHT = 24;
// Use for Multiline Widget Nodes (aka Efficient Loaders)
function toggleWidget_2(node, widget, show = false, suffix = "") {
if (!widget || doesInputWithNameExist(node, widget.name)) return;
@@ -51,10 +52,8 @@ function toggleWidget_2(node, widget, show = false, suffix = "") {
widget.computeSize = show ? origProps[widget.name].origComputeSize : () => [0, -4];
if (initialized){
// Calculate the new height for the node based on its computeSize method
// This properly accounts for font size changes and ensures widgets don't overlap
const newHeight = node.computeSize()[1];
node.setSize([node.size[0], newHeight]);
const adjustment = show ? WIDGET_HEIGHT : -WIDGET_HEIGHT;
node.setSize([node.size[0], node.size[1] + adjustment]);
}
}