From 4fa39392096f9dead9b0df3a484f998186875d68 Mon Sep 17 00:00:00 2001 From: Niklas Jensen Date: Thu, 15 Jan 2026 19:25:37 +0100 Subject: [PATCH] Increased socket size to fix fs chunking --- app/src/lib/stores/socket.ts | 12 +++++++++++- esp32/include/communication/comm_base.hpp | 1 + esp32/include/communication/proto_helpers.h | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/lib/stores/socket.ts b/app/src/lib/stores/socket.ts index 28e4e9e..c24d88b 100644 --- a/app/src/lib/stores/socket.ts +++ b/app/src/lib/stores/socket.ts @@ -95,7 +95,7 @@ function createWebSocket() { >() const { subscribe, set } = writable(false) const reconnectTimeoutTime = 500000 - const requestTimeoutTime = 10000 + const requestTimeoutTime = 30000 // 30 seconds for chunked file transfers let correlationIdCounter = 0 let unresponsiveTimeoutId: ReturnType let reconnectTimeoutId: ReturnType @@ -136,6 +136,16 @@ function createWebSocket() { } ws.onmessage = frame => { resetUnresponsiveCheck() + + // Reset all pending request timeouts when any message arrives (connection is alive) + for (const [correlationId, pending] of pending_requests) { + clearTimeout(pending.timeoutId) + pending.timeoutId = setTimeout(() => { + pending_requests.delete(correlationId) + pending.reject(new Error(`Request timeout (id: ${correlationId})`)) + }, requestTimeoutTime) + } + const { tag, msg } = decodeMessage(frame.data) if (msg.correlationResponse) { const pending = pending_requests.get(msg.correlationResponse.correlationId) diff --git a/esp32/include/communication/comm_base.hpp b/esp32/include/communication/comm_base.hpp index 5262d7e..d3da5df 100644 --- a/esp32/include/communication/comm_base.hpp +++ b/esp32/include/communication/comm_base.hpp @@ -43,6 +43,7 @@ class CommAdapterBase { pb_ostream_t stream = pb_ostream_from_buffer(buffer_, sizeof(buffer_)); if (!pb_encode(&stream, socket_message_Message_fields, &msg_)) { + ESP_LOGE("ProtoComm", "Failed to encode message (tag %d), buffer too small?", (int)tag); return; } diff --git a/esp32/include/communication/proto_helpers.h b/esp32/include/communication/proto_helpers.h index 1911887..7620bb8 100644 --- a/esp32/include/communication/proto_helpers.h +++ b/esp32/include/communication/proto_helpers.h @@ -6,7 +6,7 @@ #include #include -#define PROTO_BUFFER_SIZE 512 +#define PROTO_BUFFER_SIZE 2048 // Increased for chunked file transfer responses template struct MessageTraits;