fix: removed sync logic that was causing undefined block error and added isloading

This commit is contained in:
Adam Gough
2025-06-02 09:53:57 -07:00
parent f93a1bf837
commit 391925a178
2 changed files with 10 additions and 21 deletions

View File

@@ -98,6 +98,7 @@ export function ControlBar() {
removeWorkflow,
duplicateWorkflow,
setDeploymentStatus,
isLoading: isRegistryLoading,
} = useWorkflowRegistry()
const { isExecuting, handleRunWorkflow } = useWorkflowExecution()
const { setActiveTab } = usePanelStore()
@@ -257,6 +258,12 @@ export function ControlBar() {
return
}
if (isRegistryLoading) {
setDeployedState(null)
setIsLoadingDeployedState(false)
return
}
if (isDeployed) {
setNeedsRedeploymentFlag(false)
fetchDeployedState()
@@ -264,7 +271,7 @@ export function ControlBar() {
setDeployedState(null)
setIsLoadingDeployedState(false)
}
}, [activeWorkflowId, isDeployed, setNeedsRedeploymentFlag])
}, [activeWorkflowId, isDeployed, setNeedsRedeploymentFlag, isRegistryLoading])
// Get current store state for change detection
const currentBlocks = useWorkflowStore((state) => state.blocks)
@@ -321,7 +328,7 @@ export function ControlBar() {
}, [activeWorkflowId, deployedState, currentBlocks, subBlockValues, isLoadingDeployedState])
useEffect(() => {
if (session?.user?.id) {
if (session?.user?.id && !isRegistryLoading) {
checkUserUsage(session.user.id).then((usage) => {
if (usage) {
setUsageExceeded(usage.isExceeded)
@@ -329,7 +336,7 @@ export function ControlBar() {
}
})
}
}, [session?.user?.id, completedRuns])
}, [session?.user?.id, completedRuns, isRegistryLoading])
/**
* Check user usage data with caching to prevent excessive API calls

View File

@@ -285,24 +285,6 @@ export async function fetchWorkflowsFromDB(): Promise<void> {
})
})
// Get any additional subblock values that might not be in the state but are in the store
const storedValues = useSubBlockStore.getState().workflowValues[id] || {}
Object.entries(storedValues).forEach(([blockId, blockValues]) => {
if (!subblockValues[blockId]) {
subblockValues[blockId] = {}
}
Object.entries(blockValues).forEach(([subblockId, value]) => {
// Only update if not already set or if value is null
if (
subblockValues[blockId][subblockId] === null ||
subblockValues[blockId][subblockId] === undefined
) {
subblockValues[blockId][subblockId] = value
}
})
})
// 4. Store the workflow state and subblock values in localStorage
// This ensures compatibility with existing code that loads from localStorage
localStorage.setItem(`workflow-${id}`, JSON.stringify(workflowState))