concore editor acts as a workflow builing visual tool, while we do have the 'server' feature where we can run the do the backend part (like build then run/debug) , there isn't any interaction between editor and mediator.
Once a workflow is handed off to the backend, the editor is completely "blind" to the process. Users receive no visual feedback on which nodes are currently running, which have failed, or what the output is, until they check the background terminals.
I propose bridging this gap by adding a WebSocket broadcasting layer to the Mediator (either by migrating it to FastAPI for native async support, or integrating Flask-SocketIO).
How it will work:
When the user clicks "Run", the concore-editor frontend opens a persistent WebSocket connection directly to the Mediator (matching the apikey/dir).
As nodes ping the Mediator for files or data, the Mediator simultaneously emits a lightweight JSON event over the socket (e.g., {"node": "A", "status": "running"}).
The React Editor receives this event and updates the live canvas.
Live Node Highlighting: Nodes will dynamically change colors on the canvas in real-time (e.g., pulsing Green for running, Blue for completed, Red for failed).
Integrated Live Terminal: We can create a sliding panel in the React UI that tracks live workflow logs exactly as they happen out of the backend.
concore editor acts as a workflow builing visual tool, while we do have the 'server' feature where we can run the do the backend part (like build then run/debug) , there isn't any interaction between editor and mediator.
Once a workflow is handed off to the backend, the editor is completely "blind" to the process. Users receive no visual feedback on which nodes are currently running, which have failed, or what the output is, until they check the background terminals.
I propose bridging this gap by adding a WebSocket broadcasting layer to the Mediator (either by migrating it to FastAPI for native async support, or integrating Flask-SocketIO).
How it will work:
When the user clicks "Run", the concore-editor frontend opens a persistent WebSocket connection directly to the Mediator (matching the apikey/dir).
As nodes ping the Mediator for files or data, the Mediator simultaneously emits a lightweight JSON event over the socket (e.g., {"node": "A", "status": "running"}).
The React Editor receives this event and updates the live canvas.
Live Node Highlighting: Nodes will dynamically change colors on the canvas in real-time (e.g., pulsing Green for running, Blue for completed, Red for failed).
Integrated Live Terminal: We can create a sliding panel in the React UI that tracks live workflow logs exactly as they happen out of the backend.