Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

Summary

  • improved logs ui bugs, added subflow disable UI

Type of Change

  • UI

Testing

Tested manually

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel
Copy link

vercel bot commented Jan 21, 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 21, 2026 6:21am

Request Review

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 21, 2026

Greptile Summary

This PR adds the ability to enable/disable subflow blocks (loops and parallels) and improves the logs UI with better styling and centralized configuration.

Key Changes

  • Subflow Enable/Disable UI: Added enable/disable toggle button to action bar for loop and parallel blocks, with visual indicators (gray icon, muted text, "disabled" badge) when blocks are disabled
  • Type System Updates: Added enabled: boolean field to Loop and Parallel interfaces in the workflow type system
  • Persistence Layer: Updated workflow loading/saving to migrate and persist the enabled field for subflow blocks (defaults to true for backward compatibility)
  • Execution Conversion: Modified convertLoopBlockToLoop and convertParallelBlockToParallel to include the enabled field when converting blocks for execution
  • Logs UI Improvements:
    • Centralized status configuration in STATUS_CONFIG object with color mappings for better maintainability
    • Added support for 'cancelled' status and 'mcp' trigger type
    • Improved version badge with light mode styling (green) and dark mode fallback
    • Added opacity to progress bar segments for better visual hierarchy
  • Tests Updated: Added enabled field assertions to existing persistence tests

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are well-structured, follow established patterns, include backward-compatible defaults, and update tests appropriately. The feature adds new functionality without breaking existing behavior.
  • No files require special attention

Important Files Changed

Filename Overview
apps/sim/app/workspace/[workspaceId]/logs/utils.ts Centralized status configuration with color mappings, added 'mcp' trigger type and 'cancelled' status support
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/action-bar/action-bar.tsx Added enable/disable button for subflow blocks (loops and parallels)
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/subflows/subflow-node.tsx Added visual indicators for disabled subflows (gray icon, muted text, disabled badge)
apps/sim/lib/workflows/persistence/utils.ts Added enabled field migration for subflow blocks during workflow loading
apps/sim/stores/workflows/workflow/types.ts Added enabled boolean field to Loop and Parallel interfaces
apps/sim/stores/workflows/workflow/utils.ts Added enabled field mapping when converting block state to loop/parallel execution format

Sequence Diagram

sequenceDiagram
    participant User
    participant ActionBar
    participant SubflowNode
    participant WorkflowStore
    participant PersistenceUtils
    participant ExecutionEngine

    Note over User,ExecutionEngine: Subflow Enable/Disable Feature

    User->>ActionBar: Click enable/disable button
    ActionBar->>WorkflowStore: collaborativeBatchToggleBlockEnabled([blockId])
    WorkflowStore->>WorkflowStore: Update block.enabled field
    WorkflowStore->>SubflowNode: Trigger re-render
    SubflowNode->>SubflowNode: Update UI (gray icon, muted text, badge)

    Note over User,ExecutionEngine: Logs UI Improvements

    User->>User: View logs toolbar
    Note over User: Status options now pulled from STATUS_CONFIG
    User->>User: View log details
    Note over User: Version badge shows light/dark mode styling

    Note over User,ExecutionEngine: Workflow Save & Load

    User->>WorkflowStore: Save workflow
    WorkflowStore->>PersistenceUtils: Convert blocks to DB format
    PersistenceUtils->>PersistenceUtils: Include enabled field in Loop/Parallel
    PersistenceUtils->>ExecutionEngine: Store workflow with enabled state

    ExecutionEngine->>PersistenceUtils: Load workflow
    PersistenceUtils->>PersistenceUtils: Migrate enabled field (default: true)
    PersistenceUtils->>WorkflowStore: Restore blocks with enabled state
    WorkflowStore->>SubflowNode: Render with correct enabled state
Loading

@waleedlatif1 waleedlatif1 merged commit 0dc2c1f into staging Jan 21, 2026
11 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/logs branch January 21, 2026 07:13
waleedlatif1 added a commit that referenced this pull request Jan 21, 2026
* fix(google): wrap primitive tool responses for Gemini API compatibility (#2900)

* fix(canonical): copilot path + update parent (#2901)

* fix(rss): add top-level title, link, pubDate fields to RSS trigger output (#2902)

* fix(rss): add top-level title, link, pubDate fields to RSS trigger output

* fix(imap): add top-level fields to IMAP trigger output

* improvement(browseruse): add profile id param (#2903)

* improvement(browseruse): add profile id param

* make request a stub since we have directExec

* improvement(executor): upgraded abort controller to handle aborts for loops and parallels (#2880)

* improvement(executor): upgraded abort controller to handle aborts for loops and parallels

* comments

* improvement(files): update execution for passing base64 strings (#2906)

* progress

* improvement(execution): update execution for passing base64 strings

* fix types

* cleanup comments

* path security vuln

* reject promise correctly

* fix redirect case

* remove proxy routes

* fix tests

* use ipaddr

* feat(tools): added textract, added v2 for mistral, updated tag dropdown (#2904)

* feat(tools): added textract

* cleanup

* ack pr comments

* reorder

* removed upload for textract async version

* fix additional fields dropdown in editor, update parser to leave validation to be done on the server

* added mistral v2, files v2, and finalized textract

* updated the rest of the old file patterns, updated mistral outputs for v2

* updated tag dropdown to parse non-operation fields as well

* updated extension finder

* cleanup

* added description for inputs to workflow

* use helper for internal route check

* fix tag dropdown merge conflict change

* remove duplicate code

---------

Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>

* fix(ui): change add inputs button to match output selector (#2907)

* fix(canvas): removed invite to workspace from canvas popover (#2908)

* fix(canvas): removed invite to workspace

* removed unused props

* fix(copilot): legacy tool display names (#2911)

* fix(a2a): canonical merge  (#2912)

* fix canonical merge

* fix empty array case

* fix(change-detection): copilot diffs have extra field (#2913)

* improvement(logs): improved logs ui bugs, added subflow disable UI (#2910)

* improvement(logs): improved logs ui bugs, added subflow disable UI

* added duplicate to action bar for subflows

* feat(broadcast): email v0.5 (#2905)

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
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.

2 participants