Skip to content

Commit 3c84bb9

Browse files
fix: restore custom node labels and state when loading scripts
protoToNodes() only restored the generic data map from proto but dropped top-level fields (label, muted, collapsed, containedNodes, parentFrameId, resolvedType) that nodesToProto() extracts separately. This caused custom names, mute/collapse state, and frame membership to be wiped on save/load. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5b6e784 commit 3c84bb9

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/lib/script-service.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,14 @@ export function protoToNodes(nodes: ScriptNode[]): Node[] {
288288
data[key] = fromProtoValue(value);
289289
}
290290
}
291+
// Restore top-level proto fields that nodesToProto() extracts from data
292+
if (node.label) data.label = node.label;
293+
if (node.muted) data.muted = node.muted;
294+
if (node.collapsed) data.collapsed = node.collapsed;
295+
if (node.containedNodes.length > 0)
296+
data.containedNodes = node.containedNodes;
297+
if (node.parentFrameId) data.parentFrameId = node.parentFrameId;
298+
if (node.resolvedType !== undefined) data.resolvedType = node.resolvedType;
291299
return {
292300
id: node.id,
293301
type: node.type,

0 commit comments

Comments
 (0)