feat(workflow): lock/unlock workflow from context menu and panel#3336
feat(workflow): lock/unlock workflow from context menu and panel#3336waleedlatif1 merged 13 commits intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryAdded workflow-level lock/unlock functionality accessible from canvas right-click menu and panel More menu (admin-only). When all blocks are locked, shows an info notification with an "Unlock Workflow" action button for admins or a message to request admin assistance for non-admins. Also fixed redundant badge display by hiding the "disabled" badge when the "locked" badge is already shown. Key changes:
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant CanvasMenu
participant Panel
participant workflow.tsx
participant getWorkflowLockToggleIds
participant batchToggleLocked
participant Notification
User->>CanvasMenu: Click "Lock/Unlock workflow" (admin)
CanvasMenu->>workflow.tsx: handleToggleWorkflowLock()
workflow.tsx->>getWorkflowLockToggleIds: Get sorted block IDs
getWorkflowLockToggleIds-->>workflow.tsx: Return ordered IDs
workflow.tsx->>batchToggleLocked: Toggle lock state
batchToggleLocked-->>workflow.tsx: Update complete
alt All blocks locked
workflow.tsx->>Notification: Show lock notification
Notification->>User: Display "Workflow is locked" + action button (admin)
User->>Notification: Click "Unlock Workflow"
Notification->>workflow.tsx: Dispatch 'unlock-workflow' event
workflow.tsx->>getWorkflowLockToggleIds: Get sorted IDs (targetLocked=false)
getWorkflowLockToggleIds-->>workflow.tsx: Return locked blocks first
workflow.tsx->>batchToggleLocked: Unlock all blocks
batchToggleLocked-->>workflow.tsx: Update complete
workflow.tsx->>Notification: Clear notification
end
Last reviewed commit: 1f2306e |
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx
Outdated
Show resolved
Hide resolved
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx
Show resolved
Hide resolved
69c67f2 to
46ff6ef
Compare
46ff6ef to
b1aa826
Compare
|
@greptile |
|
@cursor review |
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/block-protection-utils.ts
Show resolved
Hide resolved
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/block-protection-utils.ts
Show resolved
Hide resolved
|
@cursor review |
|
@greptile |
|
bugbot run |
* feat(google-translate): add Google Translate integration * fix(google-translate): api key as query param, fix docsLink, rename tool file
#3338) * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar * fix(google-drive): remove dead transformResponse from move tool
* feat(confluence): return page content in get page version tool * lint
* feat(api): audit log read endpoints for admin and enterprise * fix(api): address PR review — boolean coercion, cursor validation, detail scope * ran lint
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx
Show resolved
Hide resolved
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/canvas-menu/canvas-menu.tsx
Show resolved
Hide resolved
…used disableAdmin prop
* feat(workflow): lock/unlock workflow from context menu and panel * lint * fix(workflow): prevent duplicate lock notifications, no-op guard, fix orphaned JSDoc * improvement(workflow): memoize hasLockedBlocks to avoid inline recomputation * feat(google-translate): add Google Translate integration (#3337) * feat(google-translate): add Google Translate integration * fix(google-translate): api key as query param, fix docsLink, rename tool file * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar (#3338) * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar * fix(google-drive): remove dead transformResponse from move tool * feat(confluence): return page content in get page version tool (#3344) * feat(confluence): return page content in get page version tool * lint * feat(api): audit log read endpoints for admin and enterprise (#3343) * feat(api): audit log read endpoints for admin and enterprise * fix(api): address PR review — boolean coercion, cursor validation, detail scope * ran lint * unified list of languages for google translate * fix(workflow): respect snapshot view for panel lock toggle, remove unused disableAdmin prop * improvement(canvas-menu): remove lock icon from workflow lock toggle * feat(audit): record audit log for workflow lock/unlock
Summary
unlock-workflownotification action type with custom event bridge to workflow.tsxType of Change
Testing
Tested manually
Checklist