Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

waleedlatif1 and others added 6 commits January 24, 2026 21:58
* fix(tooltip): add tooltip to canonical toggle button

* ack comments
…ock (#2991)

* fix(context-menu): preserve selection when right-clicking selected block

* added tsdoc
* fix(copilot): canonical modes should be constructed

* reuse canonicalIndex

* fix insert into subflow case:
* fix(releases): improve commit categorization and CI security

* fix(releases): remove redundant update check
* fix(sdk): improve input handling and separate input from options

* fix(sdk): treat null as no input for consistency with Python SDK
…ion (#2994)

* docs(sdk): update README to reflect new interface

* improvement(docs): add quick reference page and update SDK documentation

* docs(copilot): update copilot documentation with all features
@vercel
Copy link

vercel bot commented Jan 25, 2026

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

Project Deployment Review Updated (UTC)
docs Ready Ready Preview, Comment Jan 25, 2026 10:26am

Request Review

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 25, 2026

Greptile Overview

Greptile Summary

This release bundles six merged PRs containing UX improvements, CI security enhancements, and SDK API refinements.

Key Changes:

  • SDK Breaking Change: Both TypeScript and Python SDKs now accept input as a separate parameter instead of within the options object, enabling cleaner support for primitive values (strings, numbers) and arrays while maintaining object spreading behavior
  • Context Menu Fix: Right-clicking an already-selected node now preserves the existing multi-selection instead of clearing it
  • Canonical Mode Automation: The copilot workflow editor now automatically constructs canonicalModes state when editing blocks with basic/advanced input pairs
  • CI Security: GitHub Actions workflow moved commit message to environment variable and uses $GITHUB_REF instead of direct expression interpolation to prevent potential injection
  • Release Script: Improved commit categorization using regex-based conventional commit parsing (prioritizes feat(, fix(, etc. over keyword matching)
  • Documentation: Added comprehensive quick reference page with action tables for workspaces, workflows, and blocks
  • UX Polish: Added tooltip to canonical toggle button for better discoverability

Tests: Comprehensive test coverage added for SDK primitive/array input handling in both TypeScript and Python SDKs.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • All changes are well-tested with comprehensive test coverage for SDK changes, security improvements follow best practices, UX fixes address real user pain points, and the canonical mode automation is a logical extension of existing infrastructure
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/ci.yml Improved CI security by moving commit message to environment variable and using $GITHUB_REF instead of direct interpolation
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-canvas-context-menu.ts Fixed multi-select behavior to preserve existing selection when right-clicking already selected nodes
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx Added tooltip to canonical toggle button for better UX, improving accessibility with clearer aria labels
apps/sim/lib/copilot/tools/server/workflow/edit-workflow.ts Added automatic canonical mode construction when editing workflows, ensuring proper state management for basic/advanced input pairs
scripts/create-single-release.ts Improved commit categorization with regex-based conventional commit parsing, prioritizing proper prefixes over keyword matching
packages/ts-sdk/src/index.ts Separated input parameter from options object, allowing both dict spreading and primitive/array wrapping behavior
packages/python-sdk/simstudio/init.py Separated input parameter from keyword-only options, matching TypeScript SDK API with dict spreading and primitive wrapping
packages/ts-sdk/src/index.test.ts Updated tests to match new API signature and added comprehensive coverage for primitive/array input handling

Sequence Diagram

sequenceDiagram
    participant User
    participant SDK as SDK Client
    participant API as Workflow API
    participant Copilot
    participant Canvas as Canvas UI

    Note over User,Canvas: SDK Input Handling Flow
    User->>SDK: executeWorkflow(id, "NVDA", options)
    SDK->>SDK: Check input type (primitive)
    SDK->>SDK: Wrap in {input: "NVDA"}
    SDK->>API: POST /api/workflows/{id}/execute
    API-->>SDK: {success: true, output: {...}}
    SDK-->>User: Return result

    Note over User,Canvas: Canonical Mode Construction
    User->>Copilot: Edit workflow block with inputs
    Copilot->>Copilot: updateCanonicalModesForInputs()
    Copilot->>Copilot: buildCanonicalIndex(subBlocks)
    Copilot->>Copilot: Determine basic/advanced mode
    Copilot->>Copilot: Update block.data.canonicalModes
    Copilot-->>User: Block state updated

    Note over User,Canvas: Context Menu Selection Fix
    User->>Canvas: Right-click selected node
    Canvas->>Canvas: Check isClickedNodeSelected
    Canvas->>Canvas: Preserve currentSelectedNodes
    Canvas->>Canvas: Open context menu for selection
    Canvas-->>User: Context menu with multi-selection
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@waleedlatif1 waleedlatif1 merged commit d63a5cb into main Jan 25, 2026
25 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