Fix relay transport e2e ping/pong

This commit is contained in:
Mohamed Boudra
2026-02-04 15:21:36 +07:00
parent 1039171167
commit e58b3739b3
@@ -126,15 +126,19 @@ describe("Relay transport (E2EE) - daemon E2E", () => {
daemonPublicKeyB64, daemonPublicKeyB64,
{ {
onmessage: (data) => { onmessage: (data) => {
clearTimeout(timeout);
try { try {
const payload = const payload =
typeof data === "string" ? JSON.parse(data) : data; typeof data === "string" ? JSON.parse(data) : data;
resolve(payload); // The daemon may send an initial `server_info` status message
// immediately upon connect; ignore everything until we see `pong`.
if (payload && typeof payload === "object" && (payload as any).type === "pong") {
clearTimeout(timeout);
resolve(payload);
ws.close();
}
} catch (err) { } catch (err) {
clearTimeout(timeout);
reject(err); reject(err);
} finally {
ws.close();
} }
}, },
onerror: (err) => { onerror: (err) => {