Refactor: Entfernen des Daemon WebSocket und Umstellung auf Socket.io für Event-Verarbeitung

Änderungen:
- Der Daemon WebSocket wurde aus der Anwendung entfernt, um die Komplexität zu reduzieren und die Stabilität zu erhöhen.
- Die Event-Verarbeitung in StatusBar.vue und BranchView.vue wurde aktualisiert, um Socket.io für die Registrierung und Verarbeitung von Live-Events zu verwenden.
- Protokollausgaben wurden hinzugefügt, um den Empfang und die Verarbeitung von Events zu dokumentieren.

Diese Anpassungen verbessern die Nachvollziehbarkeit der Event-Verarbeitung und vereinfachen die Codebasis.
This commit is contained in:
Torsten Schulz (local)
2025-09-08 17:02:14 +02:00
parent 0c9f4bb952
commit 6bb4cd3478
5 changed files with 118 additions and 403 deletions

View File

@@ -56,14 +56,25 @@ export default {
},
async mounted() {
await this.fetchStatus();
this.setupSocketEvents();
// Live-Socket-Events
["falukantUpdateStatus", "stock_change", "familychanged"].forEach(eventName => {
if (this.daemonSocket) {
this.daemonSocket.addEventListener('message', (event) => {
try {
const data = JSON.parse(event.data);
if (data.event === eventName) {
this.handleEvent(data);
}
} catch (error) {
// Ignore non-JSON messages like ping/pong
}
});
}
});
},
beforeUnmount() {
if (this.socket) {
this.socket.off("falukantUpdateStatus");
this.socket.off("stock_change");
this.socket.off("familychanged");
}
// Daemon WebSocket wird automatisch beim Logout geschlossen
},
methods: {
async fetchStatus() {
@@ -106,27 +117,6 @@ export default {
console.error("Error fetching status:", error);
}
},
// Daemon WebSocket deaktiviert - verwende Socket.io Events
setupSocketEvents() {
if (this.socket) {
this.socket.on('falukantUpdateStatus', (data) => {
console.log('📨 StatusBar: falukantUpdateStatus empfangen:', data);
this.handleEvent({ event: 'falukantUpdateStatus', ...data });
});
this.socket.on('stock_change', (data) => {
console.log('📨 StatusBar: stock_change empfangen:', data);
this.handleEvent({ event: 'stock_change', ...data });
});
this.socket.on('familychanged', (data) => {
console.log('📨 StatusBar: familychanged empfangen:', data);
this.handleEvent({ event: 'familychanged', ...data });
});
console.log('✅ StatusBar: Socket.io Events registriert');
} else {
console.log('⚠️ StatusBar: Socket.io noch nicht verfügbar');
setTimeout(() => this.setupSocketEvents(), 1000);
}
},
handleEvent(eventData) {
console.log('🔄 StatusBar: handleEvent aufgerufen mit:', eventData);
console.log('🔄 StatusBar: Event-Typ:', eventData.event);