* Added controller and service for fetching logs and nodes seperately
* Add inifinte scroll pagination for workflow logs
* Fix "All Nodes" not renderd on Nodes column
* Fix reducer to append logs on Logs column
* Fix: incorrect code placement
* Fix reducer to append logs on Nodes column
* Prepend execution log on workflow run
* Fix node ordering
* Decouple logs panel from workflow editor
* Update execution nodes when log panel is opened
* Reset log selection on workflow run
* Added 'updatePreviewState' function
* Update ee-server submodule reference
Migrate hotfix for workflow blockers including:
- Feature: Ability to call workflow within a workflow
- Feature: Preview query node with other previewed node results
- Fix: startTrigger input accepts string values instead of code/JSON
Frontend changes:
- Add workflow-in-workflow support in FlowBuilder and QueryNodeConfiguration
- Enhance query node preview with upstream node state management
- Implement preview state cleanup with deleteNodePreviewState calls
- Replace TestParameter input with CodeHinter for better JSON editing
- Add workflow node type support and error styling
- Update WorkflowEditor components for nested workflow handling
Backend changes:
- Update workflow execution controller to handle state parameter
- Enhance PreviewWorkflowNodeDto with optional state field
- Modify workflow services for state-aware query execution
- Update triggers listener and webhooks service
Migration follows composition pattern for frontend EE modules and
inheritance pattern for backend services.
Co-authored-by: Akshay Sasidharan <akshaysasidrn@tooljet.com>
Co-authored-by: Shah <shah21@tooljet.com>
Co-authored-by: Devanshu <devanshu052000@tooljet.com>
What's changed?
🚀 Features
Feature: Configurable workflow execution in #3663 by @akshaysasidrn
Feature: Duplicate the workflow node in #3616 by @manishkushare
🛠️ Fixes
Fix: Resolve workspace constants and secrets in workflow context in #3659 by @akshaysasidrn
Overview
This PR implements real-time workflow execution monitoring using Server-Sent Events (SSE) as part of our LTS feature support. The implementation allows for tracking long-running workflows without requiring deployment changes.
Technical Changes
1. Server Components
Added WorkflowStreamService to manage persistent SSE streams with automatic cleanup
Implemented @sse endpoint in WorkflowExecutionsController for streaming status updates
Created WorkflowTriggersListener to emit workflow execution events with EventEmitter2
Added workflow execution status constants to identify different states in the execution lifecycle
2. Client-side Components
Implemented AsyncQueryHandler to manage SSE connections and parse event streams
Enhanced queryPanelSlice with methods to create async handlers and trigger workflows
Added support for non-blocking workflow execution with real-time status updates
3. Workflow Integration
Modified workflow triggering to use the SSE-based monitoring approach
Maintained same-server architecture to avoid deployment changes
Added automatic reconnection handling and error recovery for client connections
Architecture Decisions
Selected Same Server Approach: Chose to implement workflows within the same HTTP server to maintain the existing deployment setup for LTS users
Real-time Updates with SSE: Leveraged Server-Sent Events for their simplicity, efficiency, and compatibility with existing infrastructure
Future Extension Path: Implementation can be extended to Worker Threads or Microservice architecture later if needed
* lts to pre prelease query
* Add test cases for query options resolution
* string and undefined
* comments
* fixes brackets
---------
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
* deprecated static local data sources
* changes
* transactions wrapped under dbTransaction wrap
* removed entity manager from app import export service
* Update export app cypress test case.
* update app export test case
* type error fix for loader
* fix for listing of tooljetdb for app import export
* postgrest configs
* added readme
* cleanup
* fix for app import export version order
* Update app export spec
* fix
---------
Co-authored-by: ajith-k-v <ajith.jaban@gmail.com>
* fixed plugin duplication bug
Signed-off-by: thesynthax <kushagra1403@gmail.com>
* changed it on DB level
Signed-off-by: thesynthax <kushagra1403@gmail.com>
* changed id to name in error dialog
Signed-off-by: thesynthax <kushagra1403@gmail.com>
* migrations run
Signed-off-by: thesynthax <kushagra1403@gmail.com>
---------
Signed-off-by: thesynthax <kushagra1403@gmail.com>
* datasource or marketplace plugin deletion should not delete queries so have a dependency check
* removed a api from controller to check if marketplace plugins has dependent queries
* info message updated
* restrict uninstalling marketplace plugin when queries are used feature
* submodule commit hash updated
* dependent queries info modal title updated
* Added set-default API
* Setting default workspace for super-admin onboarding
* Seperated the migrations
* Added nestjs init
* removed nestjs init
* Added: default workspace case to signup
* Fixed: instance signup
* Fixed: existed non-active user instance signup
* Added: SSO default workspace support
* Added: Default workspace chooser
* Moved some scss changes to ee folder
* Added: disable workspace default organization check
* updated the migration
* Fixing .env issue
* Removed the logs
* Remove personal workspace check from enable signup
* Fixing sign-in cases
* Fixing workspace invited user's instance signup cases
* Fixing sso workspace invited user's instance signup cases
* fixing the workspace signup issue
* Adding ee server and frontend file
* Adding ee server and frontend file
* Adding active check
* Added query fix for the migration
* Added migration logic fix
* Removed/Commented the ENABLE_ONBOARDING_QUESTIONS_FOR_ALL_SIGN_UPS env support from EE and CE
* Adding server and frontend files
* Added frontend file
* Bump version