diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/generated/app.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/generated/app.js index e3ccf263..7f15e6ab 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/generated/app.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/generated/app.js @@ -7424,7 +7424,7 @@ function connectDecode() { return; } if (data.type === "group") { - const messages = Array.isArray(data.messages) ? data.messages.filter((message) => isRecord2(message) && typeof message.type === "string") : []; + const messages = Array.isArray(data.messages) ? data.messages.filter((message) => isRecord2(message)) : []; enqueueDecodeHistoryGroup(typeof data.kind === "string" ? data.kind : "", messages); return; } diff --git a/src/trx-client/trx-frontend/trx-frontend-http/frontend/src/app.ts b/src/trx-client/trx-frontend/trx-frontend-http/frontend/src/app.ts index 2d04143a..0c8bde2e 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/frontend/src/app.ts +++ b/src/trx-client/trx-frontend/trx-frontend-http/frontend/src/app.ts @@ -6366,7 +6366,12 @@ function connectDecode() { } if (data.type === "group") { const messages = Array.isArray(data.messages) - ? data.messages.filter((message): message is DecodeMessage => isRecord(message) && typeof message.type === "string") + // Stored records carry only decoder fields — an AIS entry has mmsi, + // lat, lon and so on, and no `type`. That field identifies live SSE + // frames; history is already grouped, and the group's kind is + // delivered alongside these messages, so requiring it here discarded + // every restored record silently. + ? data.messages.filter((message): message is DecodeMessage => isRecord(message)) : []; enqueueDecodeHistoryGroup(typeof data.kind === "string" ? data.kind : "", messages); return;