Skip to content
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

Set up WebSocket communication for real-time results delivery and browser-based handling for simpler nodes. #39

Open
8 tasks
Tracked by #36
c0rtexR opened this issue Sep 16, 2024 · 0 comments
Labels
Milestone

Comments

@c0rtexR
Copy link
Contributor

c0rtexR commented Sep 16, 2024

Subtask: Set up WebSocket communication for real-time results delivery and browser-based handling for simpler nodes


Task Overview:
Implement a WebSocket-based communication system for handling real-time results from complex nodes, while using browser-based mechanisms (e.g., fetch or XHR) for handling simpler nodes. This will allow the workflow system to provide live updates on node execution and results.


SMART Criteria

Specific 🎯:
Set up a system where:

  • WebSocket communication is established for nodes that require real-time feedback (e.g., REST API calls, script execution).
  • Simpler nodes, such as local data processing, are handled using browser-based mechanisms like fetch or direct execution.
  • The system should provide immediate feedback to the user once a node completes execution, updating the UI with the results.

Measurable 📏:
Success will be measured by:

  • WebSocket connections being established and results being returned in real time.
  • Simpler nodes returning results via browser-based handling with a response time under 200ms.
  • At least 90% of test users reporting that they received real-time feedback with no delays or issues.

Achievable 🚀:
This task is achievable using standard WebSocket libraries or native WebSocket support in modern browsers. For simpler tasks, browser APIs like fetch can be used to handle quick requests and responses efficiently.

Relevant 🎯:
Real-time results delivery is essential for making the data-river editor responsive and interactive, particularly for workflows that involve long-running tasks or API calls.

Time-bound ⏳:
This task should be completed within 2 weeks to ensure time for testing and debugging both the WebSocket and browser-based systems.


Subtasks 📝

  • Set up WebSocket communication to handle real-time results from nodes that require live updates (e.g., REST API calls).
  • Implement browser-based handling (e.g., fetch, XHR) for simpler nodes to avoid WebSocket overhead for fast operations.
  • Ensure that results from both WebSocket and browser-handled nodes are delivered in real time and update the user interface accordingly.
  • Test WebSocket performance under various network conditions to ensure reliability.
  • Gather feedback from developers and testers to refine the system based on real-time performance.

Acceptance Criteria ✅

  • WebSocket communication is established and delivers results in real time for complex nodes.
  • Simpler nodes are handled using browser-based mechanisms, with response times under 200ms.
  • 90% of test users report smooth real-time feedback, with no delays or issues in receiving results.

Additional Notes 🗒

Ensure that WebSocket communication is stable and reliable, especially for long-running or error-prone tasks, and that simpler browser-handled nodes remain efficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Ready
Development

No branches or pull requests

2 participants