Skip to content

Commit 3889e4b

Browse files
authored
fix(workflows): preserve absent loop count fields (#7845)
1 parent 44b6ea0 commit 3889e4b

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

‎apps/sim/lib/workflows/persistence/utils.test.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ describe('Database Helpers', () => {
413413
const loaded = await dbHelpers.loadWorkflowFromNormalizedTables(mockWorkflowId)
414414

415415
expect(loaded?.blocks['loop-1'].data?.count).toBeUndefined()
416+
expect(Object.hasOwn(loaded!.blocks['loop-1'].data!, 'count')).toBe(false)
416417
expect(loaded?.loops['loop-1'].iterations).toBe(3)
417418
expect(generateLoopBlocks(loaded!.blocks)['loop-1'].iterations).toBe(5)
418419
expect(dbChainMockFns.update).not.toHaveBeenCalled()

‎packages/workflow-persistence/src/load.ts‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,9 @@ export async function loadWorkflowFromNormalizedTablesRaw(
205205
data: {
206206
...block.data,
207207
/** Repair legacy values without changing valid counts used by serialization. */
208-
count:
209-
block.data?.count === undefined || typeof block.data.count === 'number'
210-
? block.data?.count
211-
: loop.iterations,
208+
...(block.data?.count !== undefined && typeof block.data.count !== 'number'
209+
? { count: loop.iterations }
210+
: {}),
212211
collection: loop.forEachItems ?? block.data?.collection ?? '',
213212
whileCondition: loop.whileCondition ?? block.data?.whileCondition ?? '',
214213
doWhileCondition: loop.doWhileCondition ?? block.data?.doWhileCondition ?? '',

0 commit comments

Comments
 (0)