fix(frontend): guard data.module.value access in ModuleNode

When rapidly clicking expand/collapse on a subflow, the graph rebuilds
and data.module can be transiently undefined. Add optional chaining to
prevent "Cannot read properties of undefined (reading 'value')" errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Guilhem
2026-03-04 12:55:28 +00:00
co-authored by Claude Opus 4.6
parent 784c21ba77
commit 12d1cdf8f1
@@ -93,7 +93,7 @@
moduleAction={data.moduleAction}
{menuItems}
annotation={flowJobs &&
(data.module.value.type === 'forloopflow' || data.module.value.type === 'whileloopflow')
(data.module?.value?.type === 'forloopflow' || data.module?.value?.type === 'whileloopflow')
? 'Iteration: ' +
((state?.selectedForloopIndex ?? 0) >= 0
? (state?.selectedForloopIndex ?? 0) + 1
@@ -130,15 +130,18 @@
onEditInput={data.eventHandlers.editInput}
flowJob={data.flowJob}
isOwner={data.isOwner}
maximizeSubflow={data.module.value.type == 'flow' && 'path' in data.module.value
maximizeSubflow={data.module?.value?.type == 'flow' && 'path' in data.module.value
? () => {
data.eventHandlers.expandSubflow(data.id, data.module.value['path'])
const path = data.module?.value && 'path' in data.module.value ? data.module.value['path'] as string : undefined
if (path) {
data.eventHandlers.expandSubflow(data.id, path)
}
}
: undefined}
/>
<div class="absolute -bottom-10 left-1/2 transform -translate-x-1/2 z-10">
{#if (data.module.value.type === 'branchall' || data.module.value.type === 'branchone') && data.insertable}
{#if (data.module?.value?.type === 'branchall' || data.module?.value?.type === 'branchone') && data.insertable}
<button
title="Add branch"
class="rounded text-secondary border hover:bg-surface-hover bg-surface p-1"