From 05f4f2c32f21154960848f494ac629579b15b8d5 Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 4 Jul 2026 18:19:14 +0200 Subject: [PATCH] Fix EveryoneVerified setting being scoped to a specific player checkIfAllPlayersVerified() read and wrote the EveryoneVerified setting scoped to whichever player happened to trigger the check (getSetting(..., $player) / setPlayer($player)), but it's meant to be a single session-wide flag. getFileContent() correctly reads it as session-global (no player, filters player IS NULL), so the two never matched: the "everyone verified" Mercure message still fired (that code path only checks its own player-scoped copy), but the special code injection into the Doyle/Vega/Lennox report files never ran since getFileContent() never found the setting. Store and read it consistently as session-global. Co-Authored-By: Claude Sonnet 5 --- src/Game/Service/GameResponseService.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Game/Service/GameResponseService.php b/src/Game/Service/GameResponseService.php index f868cce..e90194a 100644 --- a/src/Game/Service/GameResponseService.php +++ b/src/Game/Service/GameResponseService.php @@ -635,7 +635,7 @@ class GameResponseService private function checkIfAllPlayersVerified(Player $player): void { $session = $player->getSession(); - $everyoneVerifiedSetting = $this->sessionSettingRepository->getSetting($session, SessionSettingType::EVERYONE_VERIFIED, $player); + $everyoneVerifiedSetting = $this->sessionSettingRepository->getSetting($session, SessionSettingType::EVERYONE_VERIFIED); if ($everyoneVerifiedSetting && $everyoneVerifiedSetting->getValue() === 'true') { return; @@ -663,7 +663,6 @@ class GameResponseService if (!$everyoneVerifiedSetting) { $everyoneVerifiedSetting = new SessionSetting(); $everyoneVerifiedSetting->setSession($session); - $everyoneVerifiedSetting->setPlayer($player); $everyoneVerifiedSetting->setName(SessionSettingType::EVERYONE_VERIFIED); } $everyoneVerifiedSetting->setValue('true');