fix(tui): guard sendMessage when disconnected; reset readyPromise on close

(cherry picked from commit df827c3eef)
This commit is contained in:
Workweaver Ralph
2026-02-24 06:33:17 +05:30
committed by Peter Steinberger
parent a7518b7589
commit b9e587fb63
2 changed files with 10 additions and 0 deletions

View File

@@ -146,6 +146,10 @@ export class GatewayChatClient {
});
},
onClose: (_code, reason) => {
// Reset so waitForReady() blocks again until the next successful reconnect.
this.readyPromise = new Promise((resolve) => {
this.resolveReady = resolve;
});
this.onDisconnected?.(reason);
},
onGap: (info) => {

View File

@@ -456,6 +456,12 @@ export function createCommandHandlers(context: CommandHandlerContext) {
};
const sendMessage = async (text: string) => {
if (!state.isConnected) {
chatLog.addSystem("not connected to gateway — message not sent");
setActivityStatus("disconnected");
tui.requestRender();
return;
}
try {
chatLog.addUser(text);
tui.requestRender();