diff --git a/modules/core/src/main/scala/de/nowchess/chess/redis/GameRedisPublisher.scala b/modules/core/src/main/scala/de/nowchess/chess/redis/GameRedisPublisher.scala index 2507636..48fa7f3 100644 --- a/modules/core/src/main/scala/de/nowchess/chess/redis/GameRedisPublisher.scala +++ b/modules/core/src/main/scala/de/nowchess/chess/redis/GameRedisPublisher.scala @@ -26,10 +26,11 @@ class GameRedisPublisher( ) extends Observer: def emitInitialWriteback(): Unit = - try registry.get(gameId).foreach { entry => - val dto = GameDtoMapper.toGameStateDto(entry, ioClient) - writebackEmit(objectMapper.writeValueAsString(buildWriteback(entry, dto))) - } + try + registry.get(gameId).foreach { entry => + val dto = GameDtoMapper.toGameStateDto(entry, ioClient) + writebackEmit(objectMapper.writeValueAsString(buildWriteback(entry, dto))) + } catch case ex: Exception => GameRedisPublisher.log.warnf(ex, "Failed to emit initial writeback for game %s", gameId) def onGameEvent(event: GameEvent): Unit = diff --git a/modules/store/src/main/scala/de/nowchess/store/repository/GameRecordRepository.scala b/modules/store/src/main/scala/de/nowchess/store/repository/GameRecordRepository.scala index 3008d37..12b6283 100644 --- a/modules/store/src/main/scala/de/nowchess/store/repository/GameRecordRepository.scala +++ b/modules/store/src/main/scala/de/nowchess/store/repository/GameRecordRepository.scala @@ -42,7 +42,8 @@ class GameRecordRepository: .asScala .toList .filter { g => - val remaining = if g.clockActiveColor == "white" then g.whiteRemainingMs.longValue else g.blackRemainingMs.longValue + val remaining = + if g.clockActiveColor == "white" then g.whiteRemainingMs.longValue else g.blackRemainingMs.longValue g.clockLastTickAt.longValue + remaining < nowMs }