From 1b0fb4ece961dcf52a32a392103ae70b1ae49ce2 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Sat, 07 Mar 2026 12:39:56 +0100
Subject: [PATCH] feat: route incoming messages to correct session by sessionId
---
types/index.ts | 3 +++
contexts/ChatContext.tsx | 18 +++++++++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/contexts/ChatContext.tsx b/contexts/ChatContext.tsx
index 788bb31..54a548c 100644
--- a/contexts/ChatContext.tsx
+++ b/contexts/ChatContext.tsx
@@ -285,7 +285,11 @@
timestamp: Date.now(),
status: "sent",
};
- addMessageToActive(msg);
+ if (data.sessionId) {
+ addMessageToSession(data.sessionId, msg);
+ } else {
+ addMessageToActive(msg);
+ }
notifyIncomingMessage("PAILot", data.content ?? "New message");
break;
}
@@ -308,7 +312,11 @@
timestamp: Date.now(),
status: "sent",
};
- addMessageToActive(msg);
+ if (data.sessionId) {
+ addMessageToSession(data.sessionId, msg);
+ } else {
+ addMessageToActive(msg);
+ }
notifyIncomingMessage("PAILot", data.content ?? "Voice message");
if (msg.audioUri && canAutoplay()) {
playAudio(msg.audioUri).catch(() => {});
@@ -326,7 +334,11 @@
timestamp: Date.now(),
status: "sent",
};
- addMessageToActive(msg);
+ if (data.sessionId) {
+ addMessageToSession(data.sessionId, msg);
+ } else {
+ addMessageToActive(msg);
+ }
notifyIncomingMessage("PAILot", data.caption ?? "New image");
break;
}
diff --git a/types/index.ts b/types/index.ts
index 0c97f86..97846eb 100644
--- a/types/index.ts
+++ b/types/index.ts
@@ -56,18 +56,21 @@
export interface WsIncomingText {
type: "text";
content: string;
+ sessionId?: string;
}
export interface WsIncomingVoice {
type: "voice";
content: string;
audioBase64?: string;
+ sessionId?: string;
}
export interface WsIncomingImage {
type: "image";
imageBase64: string;
caption?: string;
+ sessionId?: string;
}
export interface WsSession {
--
Gitblit v1.3.1