diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 069454b..643da6e 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -85,19 +85,26 @@ const store = createStore({ if (currentSocket) { currentSocket.disconnect(); } + console.log('🔌 Initializing Socket.io connection to:', import.meta.env.VITE_DAEMON_SOCKET); const socket = io(import.meta.env.VITE_DAEMON_SOCKET, { secure: true, transports: ['websocket', 'polling'] }); - socket.on('connect', () => { + socket.on('connect', () => { + console.log('✅ Socket.io connected successfully'); socket.emit('setUserId', state.user.id); // Sende user.id, wenn user vorhanden ist }); - + socket.on('disconnect', (reason) => { - console.warn('Socket.io disconnected:', reason); + console.warn('❌ Socket.io disconnected:', reason); retryConnection(connectSocket); }); + + socket.on('connect_error', (error) => { + console.error('❌ Socket.io connection error:', error); + console.error('❌ URL attempted:', import.meta.env.VITE_DAEMON_SOCKET); + }); commit('setSocket', socket); }; @@ -121,40 +128,48 @@ const store = createStore({ if (currentDaemonSocket) { currentDaemonSocket.disconnect(); } - const daemonSocket = new WebSocket(import.meta.env.VITE_DAEMON_SOCKET); + console.log('🔌 Initializing Daemon WebSocket connection to:', import.meta.env.VITE_DAEMON_SOCKET); + try { + const daemonSocket = new WebSocket(import.meta.env.VITE_DAEMON_SOCKET); - daemonSocket.onopen = () => { - const payload = JSON.stringify({ - event: 'setUserId', - data: { userId: state.user.id } - }); - daemonSocket.send(payload); - }; + daemonSocket.onopen = () => { + console.log('✅ Daemon WebSocket connected successfully'); + const payload = JSON.stringify({ + event: 'setUserId', + data: { userId: state.user.id } + }); + daemonSocket.send(payload); + }; - daemonSocket.onclose = (event) => { - console.warn('Daemon WebSocket disconnected:', event.reason); - retryConnection(connectDaemonSocket); - }; + daemonSocket.onclose = (event) => { + console.warn('❌ Daemon WebSocket disconnected:', event.reason); + retryConnection(connectDaemonSocket); + }; - daemonSocket.onerror = (error) => { - console.error('Daemon WebSocket error:', error); - retryConnection(connectDaemonSocket); - }; + daemonSocket.onerror = (error) => { + console.error('❌ Daemon WebSocket error:', error); + retryConnection(connectDaemonSocket); + }; - daemonSocket.addEventListener('message', (event) => { - const message = event.data; - if (message === "ping") { - daemonSocket.send("pong"); - } else { - try { - const data = JSON.parse(message); - } catch (error) { - console.error("Error parsing message:", error); + daemonSocket.addEventListener('message', (event) => { + const message = event.data; + if (message === "ping") { + daemonSocket.send("pong"); + } else { + try { + const data = JSON.parse(message); + } catch (error) { + console.error("Error parsing message:", error); + } } - } - }); + }); - commit('setDaemonSocket', daemonSocket); + commit('setDaemonSocket', daemonSocket); + } catch (error) { + console.error('❌ Failed to create Daemon WebSocket:', error); + console.error('❌ URL attempted:', import.meta.env.VITE_DAEMON_SOCKET); + retryConnection(connectDaemonSocket); + } }; const retryConnection = (reconnectFn) => {