v0.5.48: copy-paste workflow blocks, docs updates, mcp tool fixes#2655
v0.5.48: copy-paste workflow blocks, docs updates, mcp tool fixes#2655waleedlatif1 merged 7 commits intomainfrom
Conversation
* renamed operaiton * revert icons file
…cks (#2649) * feat(copy-paste): allow cross workflow selection, paste, move for blocks * fix drag options * add keyboard and mouse controls into docs * refactor sockets and undo/redo for batch additions and removals * fix tests * cleanup more code * fix perms issue * fix subflow copy/paste * remove log file * fit paste in viewport bounds * fix deselection
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis release combines three main improvements: Copy-Paste Workflow Blocks - Implemented comprehensive copy-paste functionality using Cmd+C/Cmd+V keyboard shortcuts. Blocks are copied to a clipboard store with their edges, subflow containers (loops/parallels), and subblock values. When pasting, blocks are positioned at viewport center with regenerated IDs and unique names. Properly validates trigger blocks to prevent duplicate single-instance triggers. Multi-Select & Batch Operations - Added Shift+drag selection mode for selecting multiple blocks simultaneously, with proper state management to prevent conflicts with panning. Refactored operations to use batch APIs ( Bug Fixes - Fixed MCP tool execution by excluding Documentation - Added comprehensive keyboard shortcuts documentation across all supported languages (EN, DE, ES, FR, JA, ZH). The implementation properly handles nested blocks in subflows, maintains undo/redo history, validates permissions, and synchronizes state across collaborative users through socket operations. Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Workflow as workflow.tsx
participant Registry as registry/store.ts
participant Collab as use-collaborative-workflow
participant Socket as socket/handlers
participant Utils as workflows/utils.ts
Note over User,Utils: Copy-Paste Feature
User->>Workflow: Cmd+C (select blocks)
Workflow->>Registry: copyBlocks(blockIds)
Registry->>Registry: Store blocks, edges, loops in clipboard
User->>Workflow: Cmd+V
Workflow->>Registry: preparePasteData(offset)
Registry->>Utils: regenerateBlockIds()
Utils-->>Registry: New blocks with unique IDs/names
Registry-->>Workflow: Paste data ready
Workflow->>Collab: collaborativeBatchAddBlocks()
Collab->>Socket: emit batch-add-blocks
Socket->>Socket: Persist & broadcast
Socket-->>Collab: operation-confirmed
Note over User,Utils: Multi-Select & Batch Operations
User->>Workflow: Shift+Drag selection
Workflow->>Workflow: Track isShiftPressed state
User->>Workflow: Drag multiple blocks
Workflow->>Workflow: onSelectionDragStop
Workflow->>Collab: collaborativeBatchUpdatePositions()
Collab->>Socket: emit batch-update-positions
Socket->>Socket: Persist & broadcast
User->>Workflow: Delete multiple blocks
Workflow->>Collab: collaborativeBatchRemoveBlocks()
Collab->>Socket: emit batch-remove-blocks
Socket->>Socket: Persist & broadcast
Note over User,Utils: MCP Tool Fix
Workflow->>Collab: Execute MCP tool
Collab->>Utils: Filter system params
Utils->>Utils: Exclude serverUrl from params
Utils-->>Collab: Clean tool arguments
|
…election on canvas (#2656) * feat(workflow): added context menu for block, pane, and multi-block selection on canvas * added more * ack PR comments
Uh oh!
There was an error while loading. Please reload this page.