Skip to content

Commit a63a7b0

Browse files
fix(undo-redo): preserve trigger/advanced mode (#1566)
* fix(undo-redo): preserve trigger/advanced mode * remove comments
1 parent 991a020 commit a63a7b0

File tree

2 files changed

+49
-6
lines changed

2 files changed

+49
-6
lines changed

apps/sim/hooks/use-undo-redo.ts

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,15 @@ export function useUndoRedo() {
429429
blockSnapshot.position,
430430
blockSnapshot.data,
431431
blockSnapshot.data?.parentId,
432-
blockSnapshot.data?.extent
432+
blockSnapshot.data?.extent,
433+
{
434+
enabled: blockSnapshot.enabled,
435+
horizontalHandles: blockSnapshot.horizontalHandles,
436+
isWide: blockSnapshot.isWide,
437+
advancedMode: blockSnapshot.advancedMode,
438+
triggerMode: blockSnapshot.triggerMode,
439+
height: blockSnapshot.height,
440+
}
433441
)
434442

435443
// Set subblock values for the main block locally
@@ -471,7 +479,15 @@ export function useUndoRedo() {
471479
snap.position,
472480
snap.data,
473481
snap.data?.parentId,
474-
snap.data?.extent
482+
snap.data?.extent,
483+
{
484+
enabled: snap.enabled,
485+
horizontalHandles: snap.horizontalHandles,
486+
isWide: snap.isWide,
487+
advancedMode: snap.advancedMode,
488+
triggerMode: snap.triggerMode,
489+
height: snap.height,
490+
}
475491
)
476492

477493
// Send to server with subBlocks included in payload
@@ -801,7 +817,15 @@ export function useUndoRedo() {
801817
snap.position,
802818
snap.data,
803819
snap.data?.parentId,
804-
snap.data?.extent
820+
snap.data?.extent,
821+
{
822+
enabled: snap.enabled,
823+
horizontalHandles: snap.horizontalHandles,
824+
isWide: snap.isWide,
825+
advancedMode: snap.advancedMode,
826+
triggerMode: snap.triggerMode,
827+
height: snap.height,
828+
}
805829
)
806830

807831
// Set subblock values for the main block locally
@@ -841,7 +865,15 @@ export function useUndoRedo() {
841865
snapNested.position,
842866
snapNested.data,
843867
snapNested.data?.parentId,
844-
snapNested.data?.extent
868+
snapNested.data?.extent,
869+
{
870+
enabled: snapNested.enabled,
871+
horizontalHandles: snapNested.horizontalHandles,
872+
isWide: snapNested.isWide,
873+
advancedMode: snapNested.advancedMode,
874+
triggerMode: snapNested.triggerMode,
875+
height: snapNested.height,
876+
}
845877
)
846878

847879
// Send to server with subBlocks included
@@ -1058,7 +1090,15 @@ export function useUndoRedo() {
10581090
duplicatedBlockSnapshot.position,
10591091
duplicatedBlockSnapshot.data,
10601092
duplicatedBlockSnapshot.data?.parentId,
1061-
duplicatedBlockSnapshot.data?.extent
1093+
duplicatedBlockSnapshot.data?.extent,
1094+
{
1095+
enabled: duplicatedBlockSnapshot.enabled,
1096+
horizontalHandles: duplicatedBlockSnapshot.horizontalHandles,
1097+
isWide: duplicatedBlockSnapshot.isWide,
1098+
advancedMode: duplicatedBlockSnapshot.advancedMode,
1099+
triggerMode: duplicatedBlockSnapshot.triggerMode,
1100+
height: duplicatedBlockSnapshot.height,
1101+
}
10621102
)
10631103

10641104
// Restore subblock values

apps/sim/serializer/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ export class Serializer {
214214
if (block.triggerMode === true || isTriggerCategory) {
215215
params.triggerMode = true
216216
}
217+
if (block.advancedMode === true) {
218+
params.advancedMode = true
219+
}
217220
} catch (_) {
218221
// no-op: conservative, avoid blocking serialization if blockConfig is unexpected
219222
}
@@ -672,10 +675,10 @@ export class Serializer {
672675
subBlocks,
673676
outputs: serializedBlock.outputs,
674677
enabled: true,
675-
// Restore trigger mode from serialized params; treat trigger category as triggers as well
676678
triggerMode:
677679
serializedBlock.config?.params?.triggerMode === true ||
678680
serializedBlock.metadata?.category === 'triggers',
681+
advancedMode: serializedBlock.config?.params?.advancedMode === true,
679682
}
680683
}
681684
}

0 commit comments

Comments
 (0)