From 15483097534a684556995540ba5ae88b0f312081 Mon Sep 17 00:00:00 2001 From: Resistencia Dev Date: Mon, 22 Dec 2025 18:12:33 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20Permitir=20m=C3=BAltiples=20or=C3=ADgene?= =?UTF-8?q?s=20CORS=20y=20a=C3=B1adir=20logs=20de=20admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Permitir conexiones desde localhost, 127.0.0.1 y la IP de red local - Corregir error de compilación de 'pg' reconstruyendo la imagen - Añadir logs para depuración del dashboard de administración --- server/package.json | 2 ++ server/src/index.ts | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/server/package.json b/server/package.json index 6c35207..65bdeb4 100644 --- a/server/package.json +++ b/server/package.json @@ -28,3 +28,5 @@ "typescript": "^5.3.2" } } + + diff --git a/server/src/index.ts b/server/src/index.ts index 11cc15a..d7cc664 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -16,15 +16,28 @@ initDb(); const app = express(); const port = process.env.PORT || 4000; +const allowedOrigins = [ + process.env.CORS_ORIGIN || "http://localhost:3000", + "http://localhost:3000", + "http://127.0.0.1:3000", + "http://192.168.1.131:3000" +]; + app.use(cors({ - origin: process.env.CORS_ORIGIN || "http://localhost:3000", + origin: (origin, callback) => { + if (!origin || allowedOrigins.includes(origin)) { + callback(null, true); + } else { + callback(new Error('Not allowed by CORS')); + } + }, methods: ["GET", "POST"] })); const server = http.createServer(app); const io = new Server(server, { cors: { - origin: process.env.CORS_ORIGIN || "http://localhost:3000", + origin: allowedOrigins, methods: ["GET", "POST"] } }); @@ -408,6 +421,7 @@ io.on('connection', (socket) => { // --- ADMIN COMMANDS --- socket.on('admin_get_data', async () => { + console.log('[ADMIN] Petición de datos del dashboard'); const activeGamesData = Object.values(games).map(g => ({ id: g.state.roomId, name: g.roomName,