FlowFuse / FlowFuse/flowfuse

Re-architecture HTTP implementation preparing for WebSocket

Open
#6,909 0 comments 0 reactions 0 assignees View on GitHub
area:ff-expert
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 20h
Merged PRs (30d)
149

Description

## Context

Parent: #6897 — FE MQTT Migration

Re-architecture the current HTTP-based Expert communication to prepare for and transition to MQTT over WebSockets. This is the core migration task that replaces the transport layer.

From the whiteboard: "Publishing to MQTT endpoints rather than HTTP — re-architecture current implementation preparing for websocket"

## Scope

- Replace HTTP streaming calls with MQTT pub/sub for Expert ↔ Agent communication
- Maintain feature parity: everything that works over HTTP today must work over MQTT
- Implement topic-based message routing using chat-session-id
- Handle connection lifecycle: connect, reconnect, disconnect, error recovery
- Integrate with Forge BE credential provisioning (from exploration task)

## Estimate

Dependent on exploration tasks completing first. Core migration estimated at 4-6h.

## Acceptance Criteria

- [ ] Expert sends questions via MQTT publish (instead of HTTP POST)
- [ ] Expert receives streamed responses via MQTT subscribe (instead of HTTP streaming)
- [ ] Connection handles reconnection gracefully (no lost messages)
- [ ] Feature parity with current HTTP implementation verified
- [ ] No regression in Expert response time or reliability

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.