Frontend: Reconnect-Sync, Dropdowns ohne String-Interpolation, Fehlerpfad
Alle vier Frontends horchten auf ein Event 'connected', das nie gesendet wurde; der Server verschickte stattdessen ein Event mit dem Namen "Hello user from server" und leerem Payload. Beides ist entfernt. An seine Stelle tritt das Socket.IO-eigene 'connect', das auch nach einem Reconnect feuert: Adminpanel und Monitor holen sich dort den aktuellen Stand. Da der Pi das WLAN selbst aufspannt, sind kurze Abbrueche im Betrieb normal — bisher blieb die Anzeige danach auf einem veralteten Stand stehen, bis das naechste Ereignis eintraf. Die Teamnamen-Dropdowns bauten ihre Eintraege als HTML-String zusammen und interpolierten den Namen in einen onclick-Aufruf. Ein Name mit Apostroph, etwa "SG D'Horn", zerlegte den Handler und machte den Eintrag unbrauchbar. Die Eintraege entstehen jetzt ueber createTeamDropdownItem() mit textContent und addEventListener, der Name kommt per Closure statt als String. Die Schleifenvariable ist zudem korrekt deklariert, vorher war sie global. fetchJson() kapselt Anfragen und liefert null, wenn der Server nicht erreichbar ist oder mit einem Fehler antwortet, statt still in der Konsole zu scheitern. timerStart und timerPause behalten ihre eigene Auswertung des 406-Status. Das Verbindungs-Handling ist von routes/index.js nach controllers/socketio.js gewandert, wo der Socket.IO-Server erzeugt wird, und protokolliert jetzt auch Verbindungsabbrueche. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
6f4c63aa6e
commit
cd4877bdd2
6 changed files with 132 additions and 92 deletions
|
|
@ -9,4 +9,15 @@ const io = new Server(3001, {
|
|||
cors: { origin: "*" }
|
||||
});
|
||||
|
||||
// Verbindungs-Handling: der Client meldet sich beim Verbinden selbst mit dem
|
||||
// Socket.IO-eigenen 'connect'-Event und holt sich den aktuellen Stand ueber die
|
||||
// REST-Endpunkte. Serverseitig wird die Verbindung nur protokolliert.
|
||||
io.on('connection', (socket) => {
|
||||
console.log("A user connected");
|
||||
|
||||
socket.on('disconnect', (reason) => {
|
||||
console.log("A user disconnected: ", reason);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = io
|
||||
Loading…
Add table
Add a link
Reference in a new issue