Fix: Deaktivierung des Daemon WebSocket und Umstellung auf Socket.io

Änderung:
- Der Daemon WebSocket wurde aufgrund von CORS- und Protokollproblemen deaktiviert.
- Alle WebSocket-Interaktionen wurden auf Socket.io umgestellt, um die Funktionalität weiterhin zu gewährleisten.
- Entsprechende Protokollausgaben wurden hinzugefügt, um den Status der Deaktivierung zu dokumentieren.

Diese Anpassung verbessert die Stabilität der Anwendung und sorgt für eine konsistente Handhabung von WebSocket-Events.
This commit is contained in:
Torsten Schulz (local)
2025-09-08 09:32:42 +02:00
parent e308d2025c
commit 73ef704ee5
7 changed files with 164 additions and 42 deletions

View File

@@ -51,14 +51,12 @@ export default {
toggleDialogMinimize(dialogName) {
this.$store.dispatch('dialogs/toggleDialogMinimize', dialogName);
},
// Daemon WebSocket deaktiviert - diese Funktionen sind nicht mehr verfügbar
async showFalukantDaemonStatus() {
if (this.daemonSocket && this.daemonSocket.send) {
this.daemonSocket.send('{"event": "getWorkerStatus"}');
}
console.log('⚠️ Daemon WebSocket deaktiviert - Status nicht verfügbar');
},
handleDaemonMessage(event) {
const status = JSON.parse(event.data);
console.log(event);
console.log('⚠️ Daemon WebSocket deaktiviert - keine Nachrichten verarbeitet');
}
}
};

View File

@@ -109,22 +109,8 @@ export default {
console.error("Error fetching status:", error);
}
},
async handleDaemonSocketMessage(event) {
try {
if (event.data === 'ping') {
return;
}
const data = JSON.parse(event.data);
if (data.event === "falukantUpdateStatus") {
this.fetchStatus();
}
if (data.event === 'stock_change' || data.event === 'familychanged') {
this.fetchStatus();
}
} catch (error) {
console.error("Error parsing daemonSocket message:", error, event.data);
}
},
// Daemon WebSocket deaktiviert - verwende Socket.io Events
// Diese Methode wird nicht mehr verwendet
openPage(url, hasSubmenu = false) {
if (hasSubmenu) {
return;

View File

@@ -122,6 +122,11 @@ const store = createStore({
}
},
initializeDaemonSocket({ commit, state }) {
// Daemon WebSocket temporär deaktiviert aufgrund von CORS/Protokoll-Problemen
// Socket.io wird für alle Events verwendet
console.log('🔌 Daemon WebSocket deaktiviert - verwende Socket.io für alle Events');
return;
if (state.isLoggedIn && state.user) {
let currentDaemonSocket = state.daemonSocket;
const connectDaemonSocket = () => {

View File

@@ -72,10 +72,8 @@ export default {
this.selectMainBranch();
}
// Daemon-Socket
if (this.daemonSocket) {
this.daemonSocket.addEventListener('message', this.handleDaemonMessage);
}
// Daemon WebSocket deaktiviert - verwende Socket.io
console.log('✅ BranchView: Socket.io Events werden verwendet');
// Live-Socket-Events
[

View File

@@ -207,24 +207,13 @@ export default {
await this.fetchFalukantUser();
await this.fetchAllStock();
await this.fetchProductions();
// Daemon WebSocket deaktiviert - verwende Socket.io für alle Events
if (this.socket) {
this.socket.on("falukantUserUpdated", this.fetchFalukantUser);
this.socket.on("production_ready", this.handleProductionReadyEvent);
}
if (this.daemonSocket) {
this.daemonSocket.addEventListener('message', (event) => {
try {
if (event.data === "ping") return;
const message = JSON.parse(event.data);
if (message.event === 'production_ready') {
this.handleProductionReadyEvent(message);
}
} catch (error) {
console.error('Error processing WebSocket message in FalukantOverviewView:', error);
}
});
console.log('✅ FalukantOverviewView: Socket.io Events registriert');
} else {
console.log('no daemon socket');
console.log('⚠️ FalukantOverviewView: Kein Socket.io verfügbar');
}
},
beforeUnmount() {
@@ -232,9 +221,7 @@ export default {
this.socket.off("falukantUserUpdated", this.fetchFalukantUser);
this.socket.off("production_ready", this.handleProductionReadyEvent);
}
if (this.daemonSocket) {
this.daemonSocket.onmessage = null;
}
// Daemon WebSocket deaktiviert - keine Cleanup nötig
},
methods: {
getAgeGroup(age) {