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,16 +126,20 @@ 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;
// 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); resolve(payload);
} catch (err) {
reject(err);
} finally {
ws.close(); ws.close();
} }
} catch (err) {
clearTimeout(timeout);
reject(err);
}
}, },
onerror: (err) => { onerror: (err) => {
clearTimeout(timeout); clearTimeout(timeout);