- Added a new method `getPoliticsOverview` in FalukantService to retrieve currently held offices, including office holders and term end dates.
- Enhanced the PoliticsView component to display the term end dates for current offices.
- Updated localization files to include a new message for applying to selected positions.
- Improved the handling of already applied positions in the open politics section, pre-selecting checkboxes accordingly.
- Updated the WebSocketLogDialog to use enriched log entries with resolved usernames for connection and target users.
- Implemented batch retrieval of user information from the API to improve user display in logs.
- Added error handling for user data fetching and fallback logic for missing usernames.
- Introduced a WebSocket Log section in the Services Status View, allowing users to view real-time logs.
- Updated localization files for both German and English to include WebSocket Log messages.
- Enhanced the UI with a button to open the WebSocket Log dialog, improving user interaction and monitoring capabilities.
- Added a new method `getUsers` in AdminController to handle batch retrieval of user information based on hashed IDs.
- Updated adminRouter to include a new route for batch user retrieval.
- Enhanced AdminService with a method to fetch user details by hashed IDs, ensuring proper access control.
- Updated localization files to include the new "username" field for user connections in both German and English.
- Modified ServicesStatusView to utilize the new batch user retrieval for displaying usernames alongside connection counts.
- Updated the handling of daemon responses to accommodate a new structure that includes user connection counts.
- Transformed the users object into an array for easier template rendering.
- Improved error handling for JSON parsing and daemon message processing.
- Introduced a new Services Status page to monitor the status of Backend, Chat, and Daemon services.
- Updated navigation structure to include the new Services Status link for main admin users.
- Added German and English localization for the Services Status page, including titles, descriptions, and status messages.
- Refactored Vite configuration to load environment variables explicitly based on the current mode
- Added support for additional environment variables: VITE_DAEMON_SOCKET, VITE_API_BASE_URL, VITE_CHAT_WS_URL, and VITE_SOCKET_IO_URL
- Improved clarity and maintainability of the configuration structure
- Improved fallback logic for daemon URL based on hostname and environment
- Added detailed logging for daemon connection status and environment settings
- Streamlined handling of environment variables for better clarity
- Improved handling of daemon URL configuration based on environment variables
- Added detailed logging for daemon connection status and environment settings
- Streamlined fallback logic for local development and production environments
- Added image preloading for quick access in StatusBar component
- Implemented a watcher to reload images when the menu changes
- Introduced a delay before sending 'setUserId' to ensure daemon readiness
- Improved logging for WebSocket close events and errors
- Clear socket reference on connection close and error
- Ensure reconnection attempts only occur if the user is logged in
- Improved logging for reconnection attempts and retry count
- Added maximum retry limit with extended wait time after reaching it
- Reset daemon connection state on successful connection and errors
- Clear retry timer when connection is established
- Enhanced retry logic to prevent multiple simultaneous connection attempts
- Improved logging for daemon reconnection attempts
- Avatar images should not be optimized as they are used for character display
- Restored original 1792x1024 resolution for proper character appearance
- Only small icons should be optimized, not character avatars
- Optimized Falukant shortmap icons: 1.4MB-2.9MB → 1.9KB-3.3KB (99%+ reduction)
- Optimized all large images: avatars, maps, passengers, products, etc.
- Improved error handling in getGifts method with better logging
- Fixed icon loading performance issues
- Maintained original design while dramatically improving load times
- Total space savings: ~100MB+
- Neue CSV-Datei backend/data/termine.csv für Termine-Speicherung
- Backend-Controller und Router für /api/termine Endpoint
- TermineWidget Component zur Anzeige von bevorstehenden Terminen
- Integration in LoggedInView (Startseite für eingeloggte User)
- Zeigt Datum, Titel, Beschreibung, Ort und Uhrzeit an
- Sortiert nach Datum, filtert automatisch vergangene Termine
- Ändere tableName von 'user_right_type' zu 'user_right'
- Die Tabelle heißt type.user_right, nicht type.user_right_type
- Behebt: Verwaltungsmenü wird nicht angezeigt für mainadmin
- Bei Fehler im menu() Endpunkt wird jetzt ein minimales Menü zurückgegeben
- Verhindert 500 Internal Server Error wenn Falukant-Tabelle nicht verfügbar
- Ermöglicht Benutzern weiterhin Zugriff auf Basis-Funktionen
- Prüfe ob menu.falukant und menu.falukant.children existieren
- Verhindert TypeError wenn Falukant-Menü nicht geladen ist
- Behebt: can't access property 'children', e.menu.falukant is undefined
- Füge try-catch zu hasFalukantAccount() hinzu um DB-Fehler abzufangen
- Füge try-catch zu filterMenu() hinzu für zusätzliche Sicherheit
- Verhindert Crash wenn Falukant-User-Tabelle nicht verfügbar ist
- Fallback: return false wenn Fehler auftritt
Änderungen:
- Implementierung einer erweiterten Kollisionsprüfung für Passagiere und Ziele, um den Kollisionsbereich um 30px in alle Richtungen zu vergrößern.
- Anpassung der Methoden zur Abholung und Ablieferung von Passagieren, um die neue Kollisionslogik zu nutzen.
- Verbesserung der Kommentare zur Klarheit der Änderungen und des Codes.
Diese Anpassungen verbessern die Genauigkeit der Kollisionserkennung und optimieren das Spielerlebnis durch eine erweiterte Interaktion mit Passagieren und Zielen.
Änderungen:
- Anpassung der Koordinaten für die Sichtbarkeit der Kollisionsboxen, um die Höhe der Rechtecke zu optimieren.
- Verbesserung der Darstellung der virtuellen Haltelinien durch Erhöhung der Höhe der Rechtecke.
Diese Anpassungen verbessern die Sichtbarkeit und Genauigkeit der Kollisionsboxen im Spiel.
Änderungen:
- Anpassung der Kommentare zur besseren Verständlichkeit der Sichtbarkeit und Dimensionen der Rechtecke für die Kollisionsboxen.
- Aktualisierung der Koordinaten für die virtuellen Haltelinien, um die gesamte Höhe und Breite der Tiles zu berücksichtigen.
Diese Anpassungen verbessern die Klarheit des Codes und optimieren die Kollisionslogik im Spiel.
Änderungen:
- Implementierung einer Wartezeit von 1 Sekunde, bevor ein gestopptes Auto wieder fahren darf, um realistischere Bewegungen zu ermöglichen.
- Anpassung der Distanzprüfung für das Wiederanfahren von Autos, um die Interaktion mit dem Taxi zu optimieren.
- Entfernung der Rückwärtsbewegung bei Kollisionen mit stehenden Taxis, um das Verhalten zu vereinheitlichen.
- Hinzufügen eines Zeitstempels für den Stopp eines Autos zur besseren Nachverfolgbarkeit.
Diese Anpassungen verbessern die Fahrzeuginteraktion und die Kollisionserkennung im Spiel.
Änderungen:
- Hinzufügen einer ursprünglichen Geschwindigkeit für Autos zur Wiederherstellung nach Kollisionen.
- Anpassung der Logik zur Entfernung von Autos mit Geschwindigkeit 0, um gestoppte Autos nach Kollisionen zu berücksichtigen.
- Implementierung einer neuen Methode zur Handhabung von Kollisionen zwischen Taxi und Autos, die das Verhalten bei Kollisionen mit stehenden Taxis optimiert.
- Erweiterung der Debugging-Ausgaben zur besseren Nachverfolgbarkeit von Fahrzeugbewegungen und Kollisionen.
Diese Anpassungen verbessern die Interaktion der Fahrzeuge und optimieren die Kollisionserkennung im Spiel.
Änderungen:
- Anpassung der Kollisionsbox für das Taxi, um realistischere Dimensionen zu berücksichtigen (95% Länge, 80% Breite).
- Verfeinerung der Kollisionsbox für Autos, um die schmale Breite besser zu berücksichtigen (90% Länge, 50% Breite).
- Deaktivierung der Debug-Anzeige für die Crash-Bereiche der Autos.
Diese Anpassungen verbessern die Kollisionserkennung und die Spielmechanik durch realistischere Hitboxen.
Änderungen:
- Erhöhung des Toleranzfensters für die Abbiegeerkennung, um die Fahrzeugbewegung zu verbessern.
- Implementierung einer neuen Logik für T-Kreuzungen, die das Abbiegen von Fahrzeugen steuert.
- Anpassung der erlaubten Spawn-Richtungen, um das Spawn-Verhalten zu optimieren und das Fahren nach unten zu verhindern.
- Strikter Zwang für Fahrzeuge, die von oben kommen, um nicht geradeaus weiterzufahren.
Diese Anpassungen verbessern die Interaktion der Fahrzeuge und optimieren die Spielmechanik durch präzisere Abbiege- und Spawn-Logik.
Änderungen:
- Entfernen von Konsolenausgaben zur Fahrzeug-Generierung, -Bewegung und -Kollision, um die Lesbarkeit des Codes zu verbessern.
- Anpassung der Spiel-Update-Logik zur Verwendung von requestAnimationFrame anstelle von setTimeout für eine flüssigere Animation.
- Vereinheitlichung der Timer-Logik zur Aktualisierung von Passagier-Timern und Minimap-Darstellung.
Diese Anpassungen verbessern die Performance und Benutzererfahrung des Spiels durch reduzierte Debugging-Ausgaben und optimierte Animationslogik.
Änderungen:
- Anpassung der Fahrzeug-Spawn-Wahrscheinlichkeit auf 100% für Debugging-Zwecke.
- Implementierung neuer Methoden zur Überprüfung, ob Fahrzeuge an Kreuzungen abbiegen sollten, und zur Ermittlung zufälliger Zielrichtungen basierend auf dem aktuellen Tile-Typ.
- Verbesserung der Fahrzeugbewegung und Kollisionserkennung durch präzisere Logik zur Überprüfung der Befahrbarkeit von Positionen.
- Erweiterung der Debugging-Ausgaben zur besseren Nachverfolgbarkeit von Fahrzeugbewegungen und -zuständen.
Diese Anpassungen optimieren die Fahrzeug-Interaktion und verbessern die Spielmechanik durch präzisere Logik und erweiterte Debugging-Funktionen.
Änderungen:
- Implementierung einer neuen Methode zur Ermittlung erlaubter Spawn-Richtungen basierend auf dem aktuellen Tile-Typ.
- Anpassung der Spawn-Positionen für Autos, um die Logik für die Straßenseiten zu optimieren.
- Einführung einer Methode zur Überprüfung der Befahrbarkeit von Positionen, die es Fahrzeugen erlaubt, an Rändern hineinzufahren.
- Erweiterung der Debugging-Ausgaben zur besseren Nachverfolgbarkeit von Spawn-Positionen und Kollisionen.
Diese Anpassungen verbessern die Spielmechanik durch optimierte Spawn-Logik und präzisere Kollisionserkennung.
Änderungen:
- Anpassung der Spawn-Positionen für Autos, um die Logik für die Straßenseiten zu optimieren.
- Verfeinerung der Abbiegeerkennung an Kreuzungen mit engeren Toleranzfenstern.
- Implementierung einer präziseren Kollisionserkennung mittels orientierter Bounding Boxes (OBB).
- Einführung von Debugging-Overlays zur Visualisierung von Kollisionen und Hitboxen.
Diese Anpassungen erhöhen die Genauigkeit der Kollisionserkennung und verbessern die Spielmechanik durch optimierte Spawn-Logik und Debugging-Funktionen.
Änderungen:
- Hinzufügen von Logik zur Verwaltung von Backend- und Daemon-Verbindungsversuchen mit Retry-Mechanismus.
- Implementierung einer Autos-Generierung mit zufälligen Spawn-Positionen und Bewegungslogik.
- Einführung einer Minimap zur Anzeige der aktuellen Spielumgebung.
- Optimierung der Kollisionserkennung zwischen Taxi und Autos.
- Verbesserung der Speicherbereinigung und Performance durch throttling von Timer-Updates.
Diese Anpassungen erweitern die Spielmechanik und Benutzererfahrung, indem sie die Interaktivität und die grafische Darstellung im Taxi-Spiel verbessern.
Änderungen:
- Umbenennung des API-Endpunkts für Highscores von `/api/taxi/highscore` zu `/api/taxi/highscores`.
- Anpassung der Highscore-Datenstruktur zur Verwendung von `hashedUserId` anstelle von `userId`.
- Erweiterung der Router-Logik zur besseren Organisation der Highscore-Abfragen.
- Implementierung einer neuen Highscore-Anzeige im Spiel, die die Top 20 Spieler und den aktuellen Spieler anzeigt.
Diese Anpassungen verbessern die API-Konsistenz und erweitern die Benutzeroberfläche für die Highscore-Anzeige im Spiel.
Änderungen:
- Implementierung des neuen Routers für TaxiHighscore zur Verwaltung von Highscore-Daten.
- Anpassung der Datenbankmodelle zur Unterstützung von TaxiHighscore-Associations.
- Erweiterung der Vue-Komponenten zur Anzeige und Speicherung von Highscores im Taxi-Spiel.
- Verbesserung der Statusanzeige im AppHeader zur besseren Benutzerinteraktion.
Diese Anpassungen erweitern die Spielmechanik und Benutzererfahrung, indem sie die Verwaltung von Highscores integrieren und die Benutzeroberfläche optimieren.
Änderungen:
- Implementierung der Logik für das Tanken, einschließlich Überprüfung der Bedingungen und Steuerung des Tankvorgangs.
- Einführung von Event-Listener für die Enter-Taste zur Schließung des Dialogs.
- Verbesserung der Crash-Logik bei leerem Tank und Anpassung der Kollisionserkennung.
Diese Anpassungen erhöhen die Spielmechanik und Benutzerinteraktion, indem sie das Tanken und die Dialogsteuerung optimieren.
Änderungen:
- Anpassung der Kollisionserkennung zur Verwendung eines lokalen Koordinatensystems für präzisere Berechnungen.
- Erweiterung der Debugging-Ausgaben, um absolute Koordinaten und relevante Informationen für Kollisionen anzuzeigen.
- Einführung einer neuen Methode zur Transformation von Punkten in das lokale Koordinatensystem des Rechtecks.
Diese Anpassungen erhöhen die Genauigkeit der Kollisionserkennung und verbessern die Nachverfolgbarkeit von Kollisionen im Spiel.
Änderungen:
- Entfernung der `tileSize` aus der JSON-Datei, um die Handhabung der Koordinaten zu vereinheitlichen.
- Anpassung der Methode `getDriveableRegions`, um relative Koordinaten (0-1) direkt zurückzugeben.
- Aktualisierung der Kollisionserkennung im Taxi-Spiel zur Verwendung von absoluten Pixel-Koordinaten anstelle von relativen.
- Verbesserung der Lesbarkeit und Wartbarkeit des Codes durch Bereinigung überflüssiger Konvertierungen.
Diese Anpassungen erhöhen die Effizienz der Kollisionserkennung und verbessern die Handhabung der Straßenkoordinaten im Spiel.
Änderungen:
- Anpassung der Kollisionserkennung, um eine einheitliche Logik für alle Tile-Typen zu implementieren.
- Reduzierung der Debugging-Ausgaben auf relevante Informationen, insbesondere für horizontale Fuel-Tiles.
- Verbesserung der Lesbarkeit und Wartbarkeit des Codes durch Bereinigung überflüssiger Konsolenausgaben.
Diese Anpassungen erhöhen die Effizienz der Kollisionserkennung und verbessern die Nachverfolgbarkeit von Kollisionen im Spiel.
Änderungen:
- Anpassung der Kollisionserkennung, um die Logik für befahrbare und nicht befahrbare Bereiche zu verbessern.
- Einführung von Debugging-Informationen zur besseren Nachverfolgbarkeit von Kollisionen, insbesondere bei Fuel-Tiles.
- Bereinigung der Codebasis durch Entfernen überflüssiger Konsolenausgaben und Verbesserung der Lesbarkeit.
Diese Anpassungen erhöhen die Effizienz und Benutzerfreundlichkeit des Spiels, indem sie die Kollisionserkennung präzisieren und die Debugging-Möglichkeiten erweitern.
Änderungen:
- Entfernen von überflüssigen Konsolenausgaben zur Verbesserung der Codequalität und Reduzierung von Debugging-Informationen.
- Anpassung der Kollisionserkennung für das Taxi, um die Logik für befahrbare und nicht befahrbare Bereiche zu optimieren.
- Einführung von Debugging-Informationen für Kollisionen mit Fuel-Tiles zur besseren Nachverfolgbarkeit.
Diese Anpassungen erhöhen die Effizienz und Benutzerfreundlichkeit des Spiels, indem sie die Kollisionserkennung präzisieren und die Codebasis bereinigen.
Änderungen:
- Anpassung der Schaltflächen zur Verhinderung von Standardaktionen mit `@click.prevent`.
- Einführung einer neuen Methode `getPartyDate`, um das Datum der Partys korrekt zu berechnen.
- Aktualisierung der Filterlogik in `loadParties`, um Partys der letzten 24 Stunden anzuzeigen.
Diese Anpassungen verbessern die Benutzerinteraktion und die Datumsverarbeitung in der Anwendung.
Änderungen:
- Einführung eines Flags `skipRedLightOneFrame`, um die Rotlichtprüfung beim ersten Tile-Wechsel auszusetzen und falsche Positives zu vermeiden.
- Anpassung der Logik zur Überprüfung von Rotlichtverstößen, um die Bedingungen für die Verletzung präziser zu gestalten.
- Erweiterung der Debugging-Ausgaben zur besseren Nachverfolgbarkeit von Rotlichtverstößen und Taxi-Bewegungen.
Diese Anpassungen erhöhen die Genauigkeit der Rotlichtüberprüfung und verbessern die Debugging-Möglichkeiten im Spiel.
Änderungen:
- Entfernen von Konsolenausgaben zur Verbesserung der Codequalität und Reduzierung von Debugging-Informationen in der Produktionsumgebung.
- Anpassung der Fehlerbehandlung in der fetchStatus-Methode, um die Lesbarkeit zu erhöhen und die Fehlerprotokollierung zu vereinfachen.
- Verbesserung der Socket.io- und Daemon-WebSocket-Verbindungslogik zur Unterstützung lokaler Entwicklungsumgebungen.
Diese Anpassungen erhöhen die Effizienz und Benutzerfreundlichkeit der Anwendung, indem sie die Codebasis bereinigen und die Fehlerbehandlung optimieren.
Änderungen:
- Hinzufügung einer neuen Anzeige für geladene Passagiere mit Informationen zu Namen, Ziel, Bonus und verbleibender Zeit.
- Implementierung von Logik zur Aktualisierung der Timer für geladene Passagiere und zur Berechnung von Bonus und Zeit basierend auf dem kürzesten Weg.
- Verbesserung der Interaktivität durch automatische Einladungen von wartenden Passagieren und Absetzen geladener Passagiere.
Diese Anpassungen erhöhen die Benutzererfahrung und die Spielmechanik, indem sie eine detaillierte Verwaltung und Anzeige von Passagieren ermöglichen.
Änderungen:
- Hinzufügung der Funktionalität zum Laden und Verwalten von Passagierbildern.
- Implementierung der Logik zur Zeichnung von Passagieren vor den Häusern.
- Anpassung der Passagiergenerierung zur Berücksichtigung spezifischer Haus- und Straßendaten.
Diese Anpassungen verbessern die visuelle Darstellung und Interaktivität des Spiels, indem sie eine realistischere Passagierdarstellung ermöglichen.
Änderungen:
- Einführung einer neuen Logik zur Generierung und Verwaltung wartender Passagiere.
- Anpassung der Benutzeroberfläche zur Anzeige wartender Passagiere mit Informationen zu Namen und Standorten.
- Implementierung von Methoden zur Aktualisierung und Entfernung abgelaufener Passagiere aus der Warteliste.
- Verbesserung der Spielmechanik durch dynamische Passagier-Generierung basierend auf verfügbaren Häusern.
Diese Anpassungen erhöhen die Interaktivität und Komplexität des Spiels, indem sie eine realistischere Passagierverwaltung ermöglichen.
Änderungen:
- Hinzufügung von neuen Anzeigen für verbleibende Fahrzeuge, Treibstoff und Geschwindigkeitsverstöße im Tacho-Display.
- Implementierung einer Radar-Logik zur Geschwindigkeitsüberwachung mit akustischen Rückmeldungen bei Verstößen.
- Anpassung der Fahrzeugbewegungslogik zur Aktivierung des Radars beim Betreten neuer Tiles.
- Verbesserung der Benutzeroberfläche durch Anpassungen der CSS-Styles für eine bessere Darstellung.
Diese Anpassungen erhöhen die Interaktivität und Realitätsnähe des Spiels, indem sie eine präzisere Verkehrsüberwachung und visuelle Rückmeldungen bieten.
Änderungen:
- Hinzufügung von Variablen zur Speicherung der letzten Position des Taxis und zur Verwaltung von Rotlichtverstößen.
- Implementierung einer neuen Methode `checkRedLightViolation`, die überprüft, ob das Taxi bei Rotlicht über die Haltelinie fährt.
- Anpassung der Minimap-Zeichnung, um die Leistung durch Drosselung der Zeichenintervalle zu verbessern.
- Verbesserung der Logik zur Darstellung von Ampeln und deren Phasen.
Diese Anpassungen erhöhen die Realitätsnähe und die Spielmechanik im Taxi-Minispiel, indem sie eine präzisere Verkehrsüberwachung ermöglichen.