Skip to content

Conversation

@pedrofrxncx
Copy link
Collaborator

@pedrofrxncx pedrofrxncx commented Jan 6, 2026

  • Updated the proxy routes to improve client connection management and error handling.
  • Refactored the StepDetailPanel to integrate a new StepCodeSection for editing step code.
  • Enhanced the WorkflowStepCard to reflect execution status based on completed steps.
  • Modified polling logic in usePollingWorkflowExecution to streamline data retrieval.
  • Bumped bindings package version to 1.0.7 and added completed_steps tracking in the workflow schema.

What is this contribution about?

Describe your changes and why they're needed.

Screenshots/Demonstration

Add screenshots or a Loom video if your changes affect the UI.

Review Checklist

  • PR title is clear and descriptive
  • Changes are tested and working
  • Documentation is updated (if needed)
  • No breaking changes

Note

Improves workflow execution UX and reliability while tightening proxy resource management.

  • Proxy: Ensure clients are closed in finally for listTools/resources/readResource/resourceTemplates/getPrompt; non-blocking close() in callTool; error logging for listPrompts.
  • UI: Add StepCodeSection in StepDetailPanel; InputSection opens based on tracking; Output shows output or error; hide Transform when code exists.
  • Hooks: New useExecutionCompletedStep to fetch step results; usePollingWorkflowExecution removes step_results and increases polling intervals; derived hooks (use-resolved-refs, use-step-execution-status) updated to rely on completed_steps.
  • WorkflowStepCard: Status derived from completed_steps with success/error indicators.
  • Bindings/versions: Add completed_steps to WorkflowExecutionSchema; bump @decocms/mesh to 1.1.1 and @decocms/bindings to 1.0.7.

Written by Cursor Bugbot for commit c0a4032. This will update automatically on new commits. Configure here.


Summary by cubic

Improves workflow execution handling with better proxy cleanup and per-step result fetching, plus UI updates: a Step Code editor and accurate step status indicators.

  • New Features

    • Added StepCodeSection to edit step code in StepDetailPanel (Monaco, read-only during execution).
    • WorkflowStepCard shows success/error based on completed_steps.
    • Output section displays step output or error when available.
  • Refactors

    • Proxy: ensure client close across listTools/resources/readResource/resourceTemplates/getPrompt; add error logging for listPrompts.
    • Polling: streamlined usePollingWorkflowExecution, added useExecutionCompletedStep, adjusted intervals.
    • Removed step_results from derived hooks; fetch step results per step instead.
    • Dependencies: bump @decocms/bindings to 1.0.7 and @decocms/mesh to 1.1.1; WorkflowExecution schema adds completed_steps.

Written for commit c0a4032. Summary will update on new commits.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2026

🧪 Benchmark

Should we run the MCP Gateway benchmark for this PR?

React with 👍 to run the benchmark.

Reaction Action
👍 Run quick benchmark (10 & 128 tools)

Benchmark will run on the next push after you react.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2026

Release Options

Should a new version be published when this PR is merged?

React with an emoji to vote on the release type:

Reaction Type Next Version
👍 Prerelease 1.0.24-alpha.1
🎉 Patch 1.0.24
❤️ Minor 1.1.0
🚀 Major 2.0.0

Current version: 1.0.23

Deployment

  • Deploy to production (triggers ArgoCD sync after Docker image is published)

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

4 issues found across 9 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="apps/mesh/src/database/index.ts">

<violation number="1" location="apps/mesh/src/database/index.ts:227">
P0: Hardcoded pool `max: 3000` is excessively high and removes configurability. PostgreSQL&#39;s default `max_connections` is typically 100, so this would likely cause connection errors. Additionally, this creates inconsistency with `createPostgresDatabase()` which still uses `config.options?.maxConnections || 10`. Restore the configurable default.</violation>
</file>

<file name="apps/mesh/src/api/routes/proxy.ts">

<violation number="1" location="apps/mesh/src/api/routes/proxy.ts:447">
P2: Missing `.catch()` on `client.close()` could cause unhandled promise rejections. The same file uses `client.close().catch(console.error)` in `listTools` and `listPrompts` - this should follow the same pattern for consistency and safety.</violation>
</file>

<file name="apps/mesh/src/web/components/details/workflow/components/step-detail-panel.tsx">

<violation number="1" location="apps/mesh/src/web/components/details/workflow/components/step-detail-panel.tsx:259">
P2: Using truthy check on `output` will incorrectly handle falsy values like `0`, `false`, or `&quot;&quot;` as valid step outputs. Use nullish coalescing (`??`) instead to only treat `null`/`undefined` as missing values.</violation>
</file>

<file name="apps/mesh/src/web/components/details/workflow/hooks/derived/use-step-execution-status.ts">

<violation number="1" location="apps/mesh/src/web/components/details/workflow/hooks/derived/use-step-execution-status.ts:28">
P1: Incomplete refactoring: `resultsByStepId` Map is created but never populated after removing the `step_results` processing. All `resultsByStepId.get()` calls will return `undefined`, breaking step status detection. The code should use `executionItem.completed_steps` (which has `success` and `error` arrays) to determine step completion status.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

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.

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on February 10

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

- Updated the proxy routes to improve client connection management and error handling.
- Refactored the StepDetailPanel to integrate a new StepCodeSection for editing step code.
- Enhanced the WorkflowStepCard to reflect execution status based on completed steps.
- Modified polling logic in usePollingWorkflowExecution to streamline data retrieval.
- Bumped bindings package version to 1.0.7 and added completed_steps tracking in the workflow schema.
@pedrofrxncx pedrofrxncx merged commit 5b610cf into main Jan 6, 2026
6 checks passed
@pedrofrxncx pedrofrxncx deleted the wip/flows branch January 6, 2026 17:12
error: typeof result?.error === "string" ? result.error : undefined,
// Note: output/error details need to be fetched separately via useExecutionCompletedStep
output: undefined,
error: undefined,
Copy link

Choose a reason for hiding this comment

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

Step error messages no longer displayed in ErrorBadge

Low Severity

The StepExecutionStatus.error field is now always set to undefined in useStepExecutionStatuses. The comment mentions using useExecutionCompletedStep instead, but WorkflowStepCard still passes executionStatus?.error to ErrorBadge. This causes all error badges to display "Execution failed" instead of the actual error message, degrading the user experience when debugging workflow failures.

Additional Locations (1)

Fix in Cursor Fix in Web

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