mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-07 05:05:15 -05:00
fix fallback case
This commit is contained in:
@@ -34,8 +34,9 @@ export function DocumentSelector({
|
||||
previewContextValues,
|
||||
})
|
||||
const [knowledgeBaseIdFromStore] = useSubBlockValue(blockId, 'knowledgeBaseId')
|
||||
const knowledgeBaseIdValue =
|
||||
resolvePreviewContextValue(previewContextValues?.knowledgeBaseId) ?? knowledgeBaseIdFromStore
|
||||
const knowledgeBaseIdValue = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.knowledgeBaseId)
|
||||
: knowledgeBaseIdFromStore
|
||||
const normalizedKnowledgeBaseId =
|
||||
typeof knowledgeBaseIdValue === 'string' && knowledgeBaseIdValue.trim().length > 0
|
||||
? knowledgeBaseIdValue
|
||||
|
||||
@@ -78,8 +78,9 @@ export function DocumentTagEntry({
|
||||
})
|
||||
|
||||
const [knowledgeBaseIdFromStore] = useSubBlockValue(blockId, 'knowledgeBaseId')
|
||||
const knowledgeBaseIdValue =
|
||||
resolvePreviewContextValue(previewContextValues?.knowledgeBaseId) ?? knowledgeBaseIdFromStore
|
||||
const knowledgeBaseIdValue = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.knowledgeBaseId)
|
||||
: knowledgeBaseIdFromStore
|
||||
const knowledgeBaseId =
|
||||
typeof knowledgeBaseIdValue === 'string' && knowledgeBaseIdValue.trim().length > 0
|
||||
? knowledgeBaseIdValue
|
||||
|
||||
@@ -63,43 +63,55 @@ export function FileSelectorInput({
|
||||
|
||||
const [domainValueFromStore] = useSubBlockValue(blockId, 'domain')
|
||||
|
||||
const connectedCredential =
|
||||
resolvePreviewContextValue(previewContextValues?.credential) ?? blockValues.credential
|
||||
const domainValue =
|
||||
resolvePreviewContextValue(previewContextValues?.domain) ?? domainValueFromStore
|
||||
const connectedCredential = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.credential)
|
||||
: blockValues.credential
|
||||
const domainValue = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.domain)
|
||||
: domainValueFromStore
|
||||
|
||||
const teamIdValue = useMemo(
|
||||
() =>
|
||||
resolvePreviewContextValue(previewContextValues?.teamId) ??
|
||||
resolveDependencyValue('teamId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.teamId)
|
||||
: resolveDependencyValue('teamId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
[previewContextValues?.teamId, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
const siteIdValue = useMemo(
|
||||
() =>
|
||||
resolvePreviewContextValue(previewContextValues?.siteId) ??
|
||||
resolveDependencyValue('siteId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.siteId)
|
||||
: resolveDependencyValue('siteId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
[previewContextValues?.siteId, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
const collectionIdValue = useMemo(
|
||||
() =>
|
||||
resolvePreviewContextValue(previewContextValues?.collectionId) ??
|
||||
resolveDependencyValue('collectionId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.collectionId)
|
||||
: resolveDependencyValue(
|
||||
'collectionId',
|
||||
blockValues,
|
||||
canonicalIndex,
|
||||
canonicalModeOverrides
|
||||
),
|
||||
[previewContextValues?.collectionId, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
const projectIdValue = useMemo(
|
||||
() =>
|
||||
resolvePreviewContextValue(previewContextValues?.projectId) ??
|
||||
resolveDependencyValue('projectId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.projectId)
|
||||
: resolveDependencyValue('projectId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
[previewContextValues?.projectId, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
const planIdValue = useMemo(
|
||||
() =>
|
||||
resolvePreviewContextValue(previewContextValues?.planId) ??
|
||||
resolveDependencyValue('planId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.planId)
|
||||
: resolveDependencyValue('planId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
[previewContextValues?.planId, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
|
||||
@@ -31,8 +31,9 @@ export function FolderSelectorInput({
|
||||
}: FolderSelectorInputProps) {
|
||||
const [storeValue] = useSubBlockValue(blockId, subBlock.id)
|
||||
const [credentialFromStore] = useSubBlockValue(blockId, 'credential')
|
||||
const connectedCredential =
|
||||
resolvePreviewContextValue(previewContextValues?.credential) ?? credentialFromStore
|
||||
const connectedCredential = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.credential)
|
||||
: credentialFromStore
|
||||
const { collaborativeSetSubblockValue } = useCollaborativeWorkflow()
|
||||
const { activeWorkflowId } = useWorkflowRegistry()
|
||||
const [selectedFolderId, setSelectedFolderId] = useState<string>('')
|
||||
|
||||
@@ -57,8 +57,9 @@ export function InputMapping({
|
||||
}: InputMappingProps) {
|
||||
const [mapping, setMapping] = useSubBlockValue(blockId, subBlockId)
|
||||
const [storeWorkflowId] = useSubBlockValue(blockId, 'workflowId')
|
||||
const selectedWorkflowId =
|
||||
resolvePreviewContextValue(previewContextValues?.workflowId) ?? storeWorkflowId
|
||||
const selectedWorkflowId = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.workflowId)
|
||||
: storeWorkflowId
|
||||
|
||||
const inputController = useSubBlockInput({
|
||||
blockId,
|
||||
|
||||
@@ -70,8 +70,9 @@ export function KnowledgeTagFilters({
|
||||
const overlayRefs = useRef<Record<string, HTMLDivElement>>({})
|
||||
|
||||
const [knowledgeBaseIdFromStore] = useSubBlockValue(blockId, 'knowledgeBaseId')
|
||||
const knowledgeBaseIdValue =
|
||||
resolvePreviewContextValue(previewContextValues?.knowledgeBaseId) ?? knowledgeBaseIdFromStore
|
||||
const knowledgeBaseIdValue = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.knowledgeBaseId)
|
||||
: knowledgeBaseIdFromStore
|
||||
const knowledgeBaseId =
|
||||
typeof knowledgeBaseIdValue === 'string' && knowledgeBaseIdValue.trim().length > 0
|
||||
? knowledgeBaseIdValue
|
||||
|
||||
@@ -55,10 +55,13 @@ export function McpDynamicArgs({
|
||||
const workspaceId = params.workspaceId as string
|
||||
const { mcpTools, isLoading } = useMcpTools(workspaceId)
|
||||
const [toolFromStore] = useSubBlockValue(blockId, 'tool')
|
||||
const selectedTool = resolvePreviewContextValue(previewContextValues?.tool) ?? toolFromStore
|
||||
const selectedTool = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.tool)
|
||||
: toolFromStore
|
||||
const [schemaFromStore] = useSubBlockValue(blockId, '_toolSchema')
|
||||
const cachedSchema =
|
||||
resolvePreviewContextValue(previewContextValues?._toolSchema) ?? schemaFromStore
|
||||
const cachedSchema = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues._toolSchema)
|
||||
: schemaFromStore
|
||||
const [toolArgs, setToolArgs] = useSubBlockValue(blockId, subBlockId)
|
||||
|
||||
const selectedToolConfig = mcpTools.find((tool) => tool.id === selectedTool)
|
||||
|
||||
@@ -35,7 +35,9 @@ export function McpToolSelector({
|
||||
const [, setSchemaCache] = useSubBlockValue(blockId, '_toolSchema')
|
||||
|
||||
const [serverFromStore] = useSubBlockValue(blockId, 'server')
|
||||
const serverValue = resolvePreviewContextValue(previewContextValues?.server) ?? serverFromStore
|
||||
const serverValue = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.server)
|
||||
: serverFromStore
|
||||
|
||||
const label = subBlock.placeholder || 'Select tool'
|
||||
|
||||
|
||||
@@ -56,15 +56,19 @@ export function ProjectSelectorInput({
|
||||
return (workflowValues as Record<string, Record<string, unknown>>)[blockId] || {}
|
||||
})
|
||||
|
||||
const connectedCredential =
|
||||
resolvePreviewContextValue(previewContextValues?.credential) ?? blockValues.credential
|
||||
const jiraDomain = resolvePreviewContextValue(previewContextValues?.domain) ?? jiraDomainFromStore
|
||||
const connectedCredential = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.credential)
|
||||
: blockValues.credential
|
||||
const jiraDomain = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.domain)
|
||||
: jiraDomainFromStore
|
||||
|
||||
const linearTeamId = useMemo(
|
||||
() =>
|
||||
resolvePreviewContextValue(previewContextValues?.teamId) ??
|
||||
resolveDependencyValue('teamId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
[previewContextValues?.teamId, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.teamId)
|
||||
: resolveDependencyValue('teamId', blockValues, canonicalIndex, canonicalModeOverrides),
|
||||
[previewContextValues, blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
const serviceId = subBlock.serviceId || ''
|
||||
|
||||
@@ -67,8 +67,9 @@ export function SheetSelectorInput({
|
||||
[blockValues, canonicalIndex, canonicalModeOverrides]
|
||||
)
|
||||
|
||||
const connectedCredential =
|
||||
resolvePreviewContextValue(previewContextValues?.credential) ?? connectedCredentialFromStore
|
||||
const connectedCredential = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.credential)
|
||||
: connectedCredentialFromStore
|
||||
const spreadsheetId = previewContextValues
|
||||
? (resolvePreviewContextValue(previewContextValues.spreadsheetId) ??
|
||||
resolvePreviewContextValue(previewContextValues.manualSpreadsheetId))
|
||||
|
||||
@@ -59,11 +59,15 @@ export function SlackSelectorInput({
|
||||
const [botToken] = useSubBlockValue(blockId, 'botToken')
|
||||
const [connectedCredential] = useSubBlockValue(blockId, 'credential')
|
||||
|
||||
const effectiveAuthMethod =
|
||||
resolvePreviewContextValue(previewContextValues?.authMethod) ?? authMethod
|
||||
const effectiveBotToken = resolvePreviewContextValue(previewContextValues?.botToken) ?? botToken
|
||||
const effectiveCredential =
|
||||
resolvePreviewContextValue(previewContextValues?.credential) ?? connectedCredential
|
||||
const effectiveAuthMethod = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.authMethod)
|
||||
: authMethod
|
||||
const effectiveBotToken = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.botToken)
|
||||
: botToken
|
||||
const effectiveCredential = previewContextValues
|
||||
? resolvePreviewContextValue(previewContextValues.credential)
|
||||
: connectedCredential
|
||||
const [_selectedValue, setSelectedValue] = useState<string | null>(null)
|
||||
|
||||
const serviceId = subBlock.serviceId || ''
|
||||
|
||||
@@ -33,14 +33,13 @@ export class SnapshotService implements ISnapshotService {
|
||||
|
||||
const existingSnapshot = await this.getSnapshotByHash(workflowId, stateHash)
|
||||
if (existingSnapshot) {
|
||||
// The hash covers functional data only (blocks, edges, loops, etc.).
|
||||
// Refresh the stored state so that presentation-only fields like
|
||||
// metadata.name and positions stay up to date.
|
||||
let refreshedState: WorkflowState = existingSnapshot.stateData
|
||||
try {
|
||||
await db
|
||||
.update(workflowExecutionSnapshots)
|
||||
.set({ stateData: state })
|
||||
.where(eq(workflowExecutionSnapshots.id, existingSnapshot.id))
|
||||
refreshedState = state
|
||||
} catch (error) {
|
||||
logger.warn(
|
||||
`Failed to refresh snapshot stateData for ${existingSnapshot.id}, continuing with existing data`,
|
||||
@@ -52,7 +51,7 @@ export class SnapshotService implements ISnapshotService {
|
||||
`Reusing existing snapshot for workflow ${workflowId} (hash: ${stateHash.slice(0, 12)}...)`
|
||||
)
|
||||
return {
|
||||
snapshot: { ...existingSnapshot, stateData: state },
|
||||
snapshot: { ...existingSnapshot, stateData: refreshedState },
|
||||
isNew: false,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user