From 5f756d3e7b022f6a60a3148ba1b6c98e9500459b Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 4 Sep 2025 00:17:20 +0200 Subject: [PATCH] =?UTF-8?q?=C3=84ndere=20WebSocket-Proxy-Konfiguration=20i?= =?UTF-8?q?n=20Apache=20und=20Frontend:=20Aktualisiere=20die=20Ports=20f?= =?UTF-8?q?=C3=BCr=20Daemon-WebSocket-Verbindungen=20von=202020=20auf=2045?= =?UTF-8?q?51.=20Dies=20verbessert=20die=20Konsistenz=20der=20Verbindungen?= =?UTF-8?q?=20und=20stellt=20sicher,=20dass=20die=20richtigen=20Endpunkte?= =?UTF-8?q?=20verwendet=20werden.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/store/index.js | 45 +++++++++++++++++++------------------ yourpart-https.conf | 6 ++--- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 1e2eae5..fdfc191 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -128,35 +128,36 @@ const store = createStore({ if (currentDaemonSocket) { currentDaemonSocket.disconnect(); } - console.log('πŸ”Œ Initializing Daemon WebSocket connection to:', import.meta.env.VITE_API_BASE_URL); + console.log('πŸ”Œ Initializing Daemon WebSocket connection to:', import.meta.env.VITE_DAEMON_SOCKET); try { - // Use Socket.io for daemon connection instead of native WebSocket - const daemonSocket = io(import.meta.env.VITE_API_BASE_URL, { - secure: true, - transports: ['websocket', 'polling'] - }); + const daemonSocket = new WebSocket(import.meta.env.VITE_DAEMON_SOCKET); - daemonSocket.on('connect', () => { - console.log('βœ… Daemon Socket.io connected successfully'); - daemonSocket.emit('setUserId', state.user.id); - }); + daemonSocket.onopen = () => { + console.log('βœ… Daemon WebSocket connected successfully'); + const payload = JSON.stringify({ + event: 'setUserId', + data: { userId: state.user.id } + }); + daemonSocket.send(payload); + }; - daemonSocket.on('disconnect', (reason) => { - console.warn('❌ Daemon Socket.io disconnected:', reason); + daemonSocket.onclose = (event) => { + console.warn('❌ Daemon WebSocket disconnected:', event.reason); retryConnection(connectDaemonSocket); - }); + }; - daemonSocket.on('connect_error', (error) => { - console.error('❌ Daemon Socket.io error:', error); + daemonSocket.onerror = (error) => { + console.error('❌ Daemon WebSocket error:', error); retryConnection(connectDaemonSocket); - }); + }; - daemonSocket.on('message', (data) => { - if (data === "ping") { - daemonSocket.emit("pong"); + daemonSocket.addEventListener('message', (event) => { + const message = event.data; + if (message === "ping") { + daemonSocket.send("pong"); } else { try { - const parsedData = JSON.parse(data); + const data = JSON.parse(message); } catch (error) { console.error("Error parsing message:", error); } @@ -165,8 +166,8 @@ const store = createStore({ commit('setDaemonSocket', daemonSocket); } catch (error) { - console.error('❌ Failed to create Daemon Socket.io:', error); - console.error('❌ URL attempted:', import.meta.env.VITE_API_BASE_URL); + console.error('❌ Failed to create Daemon WebSocket:', error); + console.error('❌ URL attempted:', import.meta.env.VITE_DAEMON_SOCKET); retryConnection(connectDaemonSocket); } }; diff --git a/yourpart-https.conf b/yourpart-https.conf index 7ba23ec..81dae51 100644 --- a/yourpart-https.conf +++ b/yourpart-https.conf @@ -27,8 +27,8 @@ ProxyPassReverse "/socket.io/" "http://localhost:2020/socket.io/" # WebSocket-Proxy fΓΌr Daemon-Verbindungen - ProxyPass "/ws/" "ws://localhost:2020/" - ProxyPassReverse "/ws/" "ws://localhost:2020/" + ProxyPass "/ws/" "ws://localhost:4551/" + ProxyPassReverse "/ws/" "ws://localhost:4551/" # WebSocket-Upgrade-Header fΓΌr Socket.io RewriteEngine on @@ -39,7 +39,7 @@ # WebSocket-Upgrade-Header fΓΌr Daemon-Verbindungen RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteCond %{HTTP:Connection} upgrade [NC] - RewriteRule ^/ws/(.*)$ "ws://localhost:2020/$1" [P,L] + RewriteRule ^/ws/(.*)$ "ws://localhost:4551/$1" [P,L] ErrorLog /var/log/apache2/yourpart.error.log CustomLog /var/log/apache2/yourpart.access.log combined