Skip to content

Conversation

@icecrasher321
Copy link
Collaborator

@icecrasher321 icecrasher321 commented Jan 17, 2026

Summary

chore(readme): updated README (#2861)

fix(shift): fix shift-select blue ring fading (#2863)

fix(sockets): remove webhooks logic from Copilot ops, deployed webhook crash, edit workflow check (#2862)

fix(start): seed initial subblock values on batch add (#2864)

improvement(avatar): use selection-update as the source of truth for presence; ignore other socket ops (#2866)

@vercel
Copy link

vercel bot commented Jan 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Review Updated (UTC)
docs Skipped Skipped Jan 17, 2026 4:17am

Request Review

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 17, 2026

Greptile Summary

This PR bundles multiple bug fixes focused on visual feedback and data persistence:

  • Shift-select blue ring fix: Extended the block selection visual system to properly show blue rings when blocks are selected via shift-click or box selection. The selected prop from ReactFlow's NodeProps is now threaded through WorkflowBlock, NoteBlock, and SubflowNode components to the useBlockVisual hook and getBlockRingStyles utility, ensuring consistent visual feedback across all block types.

  • Subblock value seeding: Fixed an issue where default subblock values were lost during batch block additions. The workflow.tsx now extracts initial subblock values from block.subBlocks and passes them to collaborativeBatchAddBlocks in the subBlockValues parameter, ensuring default values are preserved.

  • Webhook preservation removal: Removed complex webhook preservation logic from saveWorkflowToNormalizedTables and handleWorkflowOperationTx. This logic was attempting to snapshot and restore webhooks during workflow saves, which was causing crashes when editing deployed workflows. The removal simplifies the code and prevents the crash scenario.

  • Input validation improvement: Enhanced edit-workflow.ts to explicitly check that operations is an array before processing, providing better error messages.

  • README update: Minor documentation update correcting Twitter handle reference.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • All changes are well-contained bug fixes with clear intent. The shift-select implementation properly threads the selected prop through the component hierarchy. The subblock seeding logic correctly preserves default values. The webhook removal simplifies code and fixes a crash. No breaking changes or security concerns identified.
  • No files require special attention

Important Files Changed

Filename Overview
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/block-ring-utils.ts Extended ring styling logic to handle isSelected state with proper priority ordering
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx Added subblock value seeding logic to preserve default values on batch add
apps/sim/lib/workflows/persistence/utils.ts Removed webhook preservation logic during workflow saves
apps/sim/socket/database/operations.ts Removed webhook preservation from workflow state replacement operation

Sequence Diagram

sequenceDiagram
    participant User
    participant ReactFlow
    participant WorkflowBlock
    participant useBlockVisual
    participant getBlockRingStyles
    participant SubBlockStore

    Note over User,SubBlockStore: Shift-Select Visual Feedback Flow
    User->>ReactFlow: Shift-click or box select blocks
    ReactFlow->>WorkflowBlock: NodeProps with selected=true
    WorkflowBlock->>useBlockVisual: Pass isSelected prop
    useBlockVisual->>getBlockRingStyles: Compute ring styles with isSelected
    getBlockRingStyles-->>WorkflowBlock: Returns blue ring styles
    WorkflowBlock-->>User: Displays blue ring

    Note over User,SubBlockStore: Batch Add with Subblock Seeding
    User->>ReactFlow: Add new block to workflow
    ReactFlow->>WorkflowBlock: Create block via workflow.tsx
    WorkflowBlock->>WorkflowBlock: Extract subblock default values
    WorkflowBlock->>SubBlockStore: collaborativeBatchAddBlocks with subBlockValues
    SubBlockStore-->>User: Block added with preserved defaults
Loading

…presence, ignore other socket ops (#2866)

* improvement(avatar): use selection-update as the source of truth for presence, ignore other socket ops

* added logs
@icecrasher321 icecrasher321 merged commit a8bb0db into main Jan 17, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants