-
Notifications
You must be signed in to change notification settings - Fork 124
682 client - Add support for asynchronous workflow test execution and SSE streaming in embedded #3815
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ivicac
commented
Dec 29, 2025
- 682 client - Generate
- 682 client - Add support for asynchronous workflow test execution and SSE streaming
- 682 client - Add support for asynchronous workflow test execution and SSE streaming in embedded
- 682 client - Add tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for asynchronous workflow test execution using Server-Sent Events (SSE) streaming, enabling real-time progress updates during workflow test runs across both platform and embedded contexts.
Key Changes:
- Implements SSE-based streaming for workflow test execution with job persistence and reconnection support
- Adds navigation guards to prevent accidental page exits during active test runs
- Replaces synchronous API calls with asynchronous streaming architecture across all workflow editors
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 21 comments.
Show a summary per file
| File | Description |
|---|---|
client/src/shared/util/testWorkflow-utils.ts |
New utility functions for building SSE stream requests (POST to start, GET to attach) with XSRF token handling |
client/src/shared/hooks/useSSE.ts |
Custom React hook implementing SSE connection management with custom event handlers and connection state tracking |
client/src/shared/hooks/usePersistJobId.ts |
Hook for persisting job IDs in localStorage to enable reconnection after page refresh |
client/src/shared/hooks/tests/useSSE.test.ts |
Comprehensive test suite for the useSSE hook covering event dispatching, connection states, and handler updates |
client/src/shared/middleware/platform/workflow/test/apis/WorkflowTestApi.ts |
Replaces synchronous testWorkflow endpoint with stopWorkflowTest endpoint for aborting runs |
client/src/shared/middleware/platform/workflow/test/models/index.ts |
Removes TestWorkflowRequest export (now defined inline in utils) |
client/src/shared/middleware/platform/workflow/test/models/TestWorkflowRequest.ts |
Formatting fixes and documentation updates |
client/src/shared/middleware/platform/workflow/test/models/GetStatus200Response.ts |
New model for workflow test status responses containing running state and jobId |
client/src/pages/platform/workflow-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx |
Migrates chat-based workflow testing from sync API to SSE streaming with job persistence |
client/src/pages/platform/workflow-editor/components/WorkflowCodeEditorSheet.tsx |
Updates code editor workflow testing to use SSE streaming with stop button implementation |
client/src/pages/automation/project/components/project-header/hooks/useProjectHeader.ts |
Adds SSE streaming, job persistence, and auto-reconnection to project workflow tests |
client/src/pages/automation/project/components/project-header/hooks/tests/useProjectHeader.test.tsx |
New tests covering reattachment on mount, stop endpoint interaction, and stream request building |
client/src/pages/automation/project/components/ProjectLeaveDialog.tsx |
New dialog warning users about leaving during active test runs |
client/src/pages/automation/project/Project.tsx |
Implements navigation blocking, beforeunload/pagehide handlers, and stop-on-leave logic for test runs |
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeaderStopButton.tsx |
Updates stop button to accept onClick handler prop |
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeader.tsx |
Migrates embedded integration workflow testing to SSE streaming with job persistence and reconnection |
client/src/ee/pages/embedded/integration/components/IntegrationLeaveDialog.tsx |
New leave dialog for embedded integrations (mirrors ProjectLeaveDialog) |
client/src/ee/pages/embedded/integration/Integration.tsx |
Implements navigation guards and unload handlers for embedded integration test runs |
client/src/ee/pages/embedded/automation-workflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts |
Adds SSE streaming and job persistence to embedded automation workflow builder |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Outdated
Show resolved
Hide resolved
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Outdated
Show resolved
Hide resolved
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Outdated
Show resolved
Hide resolved
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Outdated
Show resolved
Hide resolved
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Outdated
Show resolved
Hide resolved
client/src/pages/automation/project/components/project-header/hooks/useProjectHeader.ts
Outdated
Show resolved
Hide resolved
client/src/shared/middleware/platform/workflow/test/models/GetStatus200Response.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated 10 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
client/src/shared/middleware/platform/workflow/test/models/TestWorkflowRequest.ts
Show resolved
Hide resolved
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeader.tsx
Outdated
Show resolved
Hide resolved
...kflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts
Outdated
Show resolved
Hide resolved
...kflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts
Show resolved
Hide resolved
client/src/pages/automation/project/components/project-header/hooks/useProjectHeader.ts
Outdated
Show resolved
Hide resolved
client/src/pages/automation/project/components/project-header/hooks/useProjectHeader.ts
Outdated
Show resolved
Hide resolved
client/src/shared/middleware/platform/workflow/test/models/GetStatus200Response.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeader.tsx
Show resolved
Hide resolved
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeader.tsx
Outdated
Show resolved
Hide resolved
client/src/shared/middleware/platform/workflow/test/models/GetStatus200Response.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Outdated
Show resolved
Hide resolved
client/src/pages/platform/workflow-editor/components/WorkflowCodeEditorSheet.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...kflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts
Outdated
Show resolved
Hide resolved
...kflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts
Show resolved
Hide resolved
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeader.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Show resolved
Hide resolved
client/src/pages/platform/workflow-editor/components/WorkflowCodeEditorSheet.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 38 out of 38 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 38 out of 38 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
client/src/pages/platform/workflow-editor/components/WorkflowCodeEditorSheet.tsx
Outdated
Show resolved
Hide resolved
...kflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 38 out of 38 changed files in this pull request and generated 9 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
client/src/shared/middleware/platform/workflow/test/models/TestWorkflowRequest.ts
Show resolved
Hide resolved
client/src/pages/platform/workflow-editor/components/WorkflowCodeEditorSheet.tsx
Outdated
Show resolved
Hide resolved
client/src/pages/automation/project/components/project-header/hooks/useProjectHeader.ts
Show resolved
Hide resolved
client/src/ee/pages/embedded/integration/components/integration-header/IntegrationHeader.tsx
Show resolved
Hide resolved
...w-editor/components/workflow-test-chat/runtime-providers/WorkflowTestChatRuntimeProvider.tsx
Show resolved
Hide resolved
client/src/shared/middleware/platform/workflow/test/docs/ExecutionError.md
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 38 out of 38 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
client/src/pages/automation/project/components/project-header/hooks/useProjectHeader.ts
Show resolved
Hide resolved
...kflows/workflow-builder/components/workflow-builder-header/hooks/useWorkflowBuilderHeader.ts
Show resolved
Hide resolved
client/src/shared/middleware/platform/workflow/test/models/GetStatus200Response.ts
Show resolved
Hide resolved
|

