fix(cli): use async broker creation in journal server
Use `AedesFactory.createBroker()` instead of the constructor to ensure persistence is properly initialized before handling connections.
This commit is contained in:
parent
98c4a195e8
commit
6b5fcdc051
|
|
@ -102,23 +102,23 @@ export async function createJournalServer(
|
|||
|
||||
// ---- MQTT Broker ----
|
||||
const { Aedes: AedesFactory } = await import("aedes");
|
||||
const broker = new AedesFactory();
|
||||
// aedes requires listen() to initialize persistence before handling connections.
|
||||
const broker = await AedesFactory.createBroker();
|
||||
|
||||
// ---- WebSocket server (attached to the existing HTTP server) ----
|
||||
// Pattern from aedes docs: pass { server } to WSS, use 'connection' event
|
||||
const wss = new WebSocketServer({ server: httpServer });
|
||||
|
||||
wss.on("connection", (ws, req) => {
|
||||
console.log(`[journal] ws connected from ${req.socket.remoteAddress}`);
|
||||
const stream = createWebSocketStream(ws);
|
||||
broker.handle(stream, req);
|
||||
});
|
||||
|
||||
broker.on("client", (client: import("aedes").Client) => {
|
||||
console.log(`[journal] mqtt client ready: ${client.id}`);
|
||||
console.log(`[journal] client ready: ${client.id}`);
|
||||
});
|
||||
broker.on("clientDisconnect", (client: import("aedes").Client) => {
|
||||
console.log(`[journal] mqtt client disconnected: ${client.id}`);
|
||||
console.log(`[journal] client disconnected: ${client.id}`);
|
||||
});
|
||||
|
||||
// ---- Persistence (internal subscribe, no separate MQTT client) ----
|
||||
|
|
|
|||
Loading…
Reference in New Issue