mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
fix: removed sync logic that was causing undefined block error and added isloading
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user