@@ -12,7 +12,11 @@ import {
1212 SquareArrowUpRight ,
1313 Unlock ,
1414} from '@sim/emcn/icons'
15- import type { BlockRetryConfig } from '@sim/workflow-types/workflow'
15+ import {
16+ type BlockRetryConfig ,
17+ isWorkflowBlockAncestorLocked ,
18+ isWorkflowBlockProtected ,
19+ } from '@sim/workflow-types/workflow'
1620import { isEqual } from 'es-toolkit'
1721import { useParams } from 'next/navigation'
1822import { usePostHog } from 'posthog-js/react'
@@ -50,10 +54,6 @@ import { LoopTool } from '@/app/workspace/[workspaceId]/w/[workflowId]/component
5054import { ParallelTool } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/subflows/parallel/parallel-config'
5155import { getSubBlockStableKey } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/utils'
5256import { useCurrentWorkflow } from '@/app/workspace/[workspaceId]/w/[workflowId]/hooks'
53- import {
54- isAncestorProtected ,
55- isBlockProtected ,
56- } from '@/app/workspace/[workspaceId]/w/[workflowId]/utils/block-protection-utils'
5757import { PreviewWorkflow } from '@/app/workspace/[workspaceId]/w/components/preview'
5858import { BlockTile } from '@/blocks/block-tile'
5959import { getBlock } from '@/blocks/registry'
@@ -138,8 +138,10 @@ export function Editor() {
138138 // Check if block is locked (or inside a locked ancestor) and compute edit permission
139139 // Locked blocks cannot be edited by anyone (admins can only lock/unlock)
140140 const blocks = useWorkflowStore ( ( state ) => state . blocks )
141- const isLocked = currentBlockId ? isBlockProtected ( currentBlockId , blocks ) : false
142- const isAncestorLocked = currentBlockId ? isAncestorProtected ( currentBlockId , blocks ) : false
141+ const isLocked = currentBlockId ? isWorkflowBlockProtected ( currentBlockId , blocks ) : false
142+ const isAncestorLocked = currentBlockId
143+ ? isWorkflowBlockAncestorLocked ( currentBlockId , blocks )
144+ : false
143145 const canEditBlock = userPermissions . canEdit && ! workflowLocked && ! isLocked
144146
145147 const { advancedMode, triggerMode } = useEditorBlockProperties (
@@ -332,7 +334,8 @@ export function Editor() {
332334 const block = blocks [ blockId ]
333335 if ( ! block ) return
334336
335- if ( ! userPermissions . canEdit || workflowLocked || isBlockProtected ( blockId , blocks ) ) return
337+ if ( ! userPermissions . canEdit || workflowLocked || isWorkflowBlockProtected ( blockId , blocks ) )
338+ return
336339
337340 renamingBlockIdRef . current = blockId
338341 setEditedName ( block . name || '' )
0 commit comments