diff --git a/apps/server/src/main/kotlin/com/correx/apps/server/ws/SessionStreamHandler.kt b/apps/server/src/main/kotlin/com/correx/apps/server/ws/SessionStreamHandler.kt index 5e3a8abd..4c07d411 100644 --- a/apps/server/src/main/kotlin/com/correx/apps/server/ws/SessionStreamHandler.kt +++ b/apps/server/src/main/kotlin/com/correx/apps/server/ws/SessionStreamHandler.kt @@ -31,9 +31,12 @@ class SessionStreamHandler(private val module: ServerModule) { log.debug("replaying {} event(s) for session={}", replayEvents.size, sessionId.value) for (event in replayEvents) { - mapper.map(event)?.let { msg -> - session.send(Frame.Text(ProtocolSerializer.encodeServerMessage(msg))) - } + runCatching { mapper.map(event) } + .onFailure { log.warn("skipping unmappable event seq={}: {}", event.sequence, it.message) } + .getOrNull() + ?.let { msg -> + session.send(Frame.Text(ProtocolSerializer.encodeServerMessage(msg))) + } } module.approvalCoordinator.registerClient(sessionId, session)