perf(relay): reduce encrypted binary traffic overhead (#2480)

Preserve application frame identity through encryption so negotiated binary traffic avoids base64 expansion while mixed-version peers remain compatible.
This commit is contained in:
Mohamed Boudra
2026-07-27 12:12:02 +02:00
committed by GitHub
parent 1a1ff8828f
commit 1d1132de9c
22 changed files with 397 additions and 113 deletions
+4 -4
View File
@@ -348,7 +348,7 @@ async function stopRelayProcess(relayProcess: ChildProcess): Promise<void> {
clientReceivedReady.byteOffset + clientReceivedReady.byteLength,
),
);
expect(JSON.parse(decryptedReady as string)).toEqual({ type: "ready" });
expect(JSON.parse(new TextDecoder().decode(decryptedReady))).toEqual({ type: "ready" });
// Client sends encrypted message
const clientMessage = "Hello from client!";
@@ -366,7 +366,7 @@ async function stopRelayProcess(relayProcess: ChildProcess): Promise<void> {
daemonReceivedMsg.byteOffset + daemonReceivedMsg.byteLength,
),
);
expect(decryptedClientMsg).toBe(clientMessage);
expect(new TextDecoder().decode(decryptedClientMsg)).toBe(clientMessage);
// Daemon sends encrypted response
const daemonMessage = "Hello from daemon!";
@@ -384,7 +384,7 @@ async function stopRelayProcess(relayProcess: ChildProcess): Promise<void> {
clientReceivedMsg.byteOffset + clientReceivedMsg.byteLength,
),
);
expect(decryptedDaemonMsg).toBe(daemonMessage);
expect(new TextDecoder().decode(decryptedDaemonMsg)).toBe(daemonMessage);
// Cleanup
daemonWs.close();
@@ -478,7 +478,7 @@ async function stopRelayProcess(relayProcess: ChildProcess): Promise<void> {
daemonSharedKey,
received.buffer.slice(received.byteOffset, received.byteOffset + received.byteLength),
);
expect(decrypted).toBe(secret);
expect(new TextDecoder().decode(decrypted)).toBe(secret);
daemonControlWs.close();
daemonWs.close();