Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

@waleedlatif1 waleedlatif1 commented Jan 20, 2026

waleedlatif1 and others added 15 commits January 18, 2026 20:42
)

* feat(mcp): updated mcp subblocks for mcp tools to match subblocks

* updated trigger descriptions
* fix(undo-redo): preserve subblock values during undo/redo cycles

* added tests
* Temp

* Condition and router copilot syntax updates

* Plan respond plan
* Superuser debug

* Fix

* update templates routes to use helper

---------

Co-authored-by: Vikhyath Mondreti <[email protected]>
…igger types (#2895)

* improvement(stats): should track mcp and a2a executions like other trigger types

* update types
* feat(api): added workflows api route for dynamic discovery

* added ability to edit parameter and workflow descriptions

* added new rate limit category, ack PR comments

* fix hasChanges logic

* added whitespace trimming before hasChanges check
#2894)

* improvement(kb): migrate manual fetches in kb module to use reactquery

* converted remaining manual kb fetches

* unwrap kb tags before API call, added more query invalidation for chunks

* added resetMutation calls after modal closes
…& deregistration scripts (#2896)

* fix(sso): updated registration & deregistration script for explicit support for Entra ID

* cleanup

* ack PR comment

* ack PR comment

* tested edge cases, ack'd PR comments

* remove trailing slash
@vercel
Copy link

vercel bot commented Jan 20, 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 20, 2026 8:24am

Request Review

* feat(claude): added rules

* fix(copilot): chat loading; refactor(copilot): components, utils, hooks

* fix(copilot): options selection strikethrough

* fix(copilot): options render inside thinking

* fix(copilot): checkpoints, user-input; improvement(code): colors

* fix(copilot): scrolling, tool-call truncation, thinking ui

* fix(copilot): tool call spacing and shimmer/actions on previous messages

* improvement(copilot): queue

* addressed comments
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 20, 2026

Greptile Summary

This PR combines multiple improvements across email management, search functionality, SSO configuration, metrics tracking, and workflow APIs.

Major Changes:

  • Email Unsubscribe System: Standardized unsubscribe process with token-based verification and granular preferences (marketing, updates, notifications)
  • Workflow API Discovery: New /api/v1/workflows endpoints for listing and retrieving workflows with input field extraction for dynamic tool integration
  • Search Enhancements: Added operation-level search in main app with RRF (Reciprocal Rank Fusion) retrieval for documentation
  • SSO Configuration: Removed provider-specific OIDC logic, now uses discovery endpoint for all providers (tested with 10 common OIDC providers)
  • Metrics Tracking: Added MCP and A2A execution tracking to user stats for better billing visibility
  • Undo/Redo Fix: Preserves subblock values during undo/redo cycles to prevent data loss in function blocks
  • Debug Mode: Superuser capability to import workflows for debugging
  • UI Improvements: Resizable textareas for router conditions, fixed popover issues in custom tools modal, added block names to error notifications

Browser Use Update: Upgraded to v2 endpoints with documentation updates

Confidence Score: 4/5

  • This PR is safe to merge with minor considerations for production SSO configuration
  • The PR includes well-tested features with appropriate error handling. The SSO changes remove provider-specific logic and use standard OIDC discovery, which is more maintainable. All critical paths have proper validation. The one consideration is ensuring SSO configuration is thoroughly tested in production environments with real IdPs.
  • Pay close attention to SSO registration script when deploying to production - ensure discovery endpoints are accessible

Important Files Changed

Filename Overview
packages/db/scripts/register-sso-provider.ts Enhanced OIDC discovery with endpoint fetching, removed provider-specific logic
apps/sim/app/api/v1/workflows/route.ts New API endpoint for listing workflows with pagination and filtering
apps/sim/app/api/v1/workflows/[id]/route.ts New API endpoint for fetching individual workflow details with input fields
apps/sim/stores/undo-redo/utils.ts Added functions to capture subblock values during undo/redo operations
apps/sim/lib/logs/execution/logger.ts Added MCP and A2A trigger execution tracking to user stats
apps/sim/lib/search/tool-operations.ts New tool operations index for search modal with verb aliases
apps/sim/hooks/queries/knowledge.ts Migrated knowledge base queries to React Query, fixed BulkChunkOperationResult interface
apps/sim/lib/messaging/email/unsubscribe.ts Standardized email unsubscribe system with token verification and preferences

Sequence Diagram

sequenceDiagram
    participant User
    participant UI
    participant API
    participant DB
    participant IdP as Identity Provider

    Note over User,IdP: Workflow API Discovery Flow
    User->>UI: Search for workflow
    UI->>API: GET /api/v1/workflows?workspaceId=X
    API->>DB: Query workflows with permissions
    DB-->>API: Return workflow list
    API-->>UI: Workflows with metadata
    UI->>API: GET /api/v1/workflows/{id}
    API->>DB: Fetch workflow details + blocks
    DB-->>API: Workflow + blocks data
    API->>API: Extract input fields from blocks
    API-->>UI: Workflow with inputs schema
    UI-->>User: Display workflow details

    Note over User,IdP: SSO Registration Flow (Updated)
    User->>API: Run register-sso-provider script
    API->>API: Build config from env vars
    API->>IdP: Fetch /.well-known/openid-configuration
    IdP-->>API: Discovery document with endpoints
    API->>API: Merge user-provided + discovered endpoints
    API->>DB: Insert/update SSO provider
    DB-->>API: Provider registered
    API-->>User: SSO provider configured

    Note over User,DB: Email Unsubscribe Flow
    User->>API: Click unsubscribe link with token
    API->>API: Verify token with email
    API->>DB: Update email preferences
    DB-->>API: Preferences saved
    API-->>User: Unsubscribe confirmed

    Note over User,DB: Undo/Redo Fix
    User->>UI: Edit code in function block
    User->>UI: Delete block
    UI->>UI: Capture subblock values before delete
    UI->>UI: Store in undo history with values
    User->>UI: Undo delete
    UI->>UI: Restore block with preserved values
    UI-->>User: Code restored correctly
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.

Additional Comments (3)

  1. apps/sim/lib/copilot/tools/client/other/search-documentation.ts, line 71-73 (link)

    style: Setting success state twice is redundant. The second call on line 73 can be removed since the state is already set on line 71.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  2. apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/copilot/components/user-input/utils.ts, line 176-178 (link)

    logic: The blocks context equality check uses some() which returns true if ANY existing blockId matches ANY new blockId, but the function name areContextsEqual suggests exact equality. Consider if this should check for exact array equality instead. Should the blocks context comparison require exact match of all blockIds or is partial overlap the intended behavior?

  3. apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-scroll-management.ts, line 34 (link)

    style: messages: any[] should be properly typed. Consider using a specific message interface instead of any[]

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Context Used: Context from dashboard - TypeScript conventions and type safety (source)

169 files reviewed, 10 comments

Edit Code Review Agent Settings | Greptile

…d the ability to update if no changes made (#2897)

* improvement(modal): fixed popover issue in custom tools modal, removed the ability to update if no changes made

* improvement(modal): fixed popover issue in custom tools modal, removed the ability to update if no changes made

* popover fixes, color picker keyboard nav, code simplification

* color standardization

* fix color picker

* set discard alert state when closing modal
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

* fix(kb): align bulk chunk operation with API response

* fix(kb): skip local state update for failed chunks

* fix(kb): correct errors type and refresh on partial failure
@waleedlatif1
Copy link
Collaborator Author

@greptile

@waleedlatif1 waleedlatif1 merged commit dff1c9d into main Jan 20, 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.

5 participants