From 79cbc4b9e61b507e0cdbc4cdd25bc46556f160c9 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Tue, 13 Jan 2026 17:58:14 -0500 Subject: [PATCH] fix: Open SHOP modal on START GAME if payout address already set and no credits available --- src/network/socketHandlers.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/network/socketHandlers.js b/src/network/socketHandlers.js index eb99078..b784f26 100644 --- a/src/network/socketHandlers.js +++ b/src/network/socketHandlers.js @@ -499,7 +499,11 @@ class SocketHandlers { const payoutEligible = (this.gameModeManager.gameMode === 'PAID_SINGLE') || (this.gameModeManager.gameMode === 'PAID_CREDITS' && this.gameModeManager.creditsPayoutEnabled); if (payoutEligible) { try { - const dbUser = await this.gameModeManager.getOrCreateUser(socket.id); + // Use session cache first (populated during connection/resume), then fall back to DB + let dbUser = this.sessionManager ? await this.sessionManager.getBySocket(socket.id) : null; + if (!dbUser) { + dbUser = await this.gameModeManager.getOrCreateUser(socket.id); + } if (!dbUser.payout_address) { this.broadcastManager.sendStatusUpdate(socket.id, 'payment', '⚠️ Use the "Manage Payout Address" button or paste your payout address here and type confirm. Payment request will appear automatically.'); return;