STOMP debug logging hinzufügen, um Verbindungsproblem zu diagnostizieren
Route ALL WebRTC API Anfragen zu Port 8443
- Alle WebRTC API-Routen zur Nutzung von Medien aktualisiert.{domain":8443 - Nicht mehr mit Traefik für WebRTC Endpunkte - Matches Medien API und WebSocket Konf...
Route ALL MediaService Anfragen an Port 8443 (Tergeh-Tefik)
- Aktualisierung aller Medien-API-Routen zur Nutzung von Medien.{domain":8443 - Traefik nicht mehr für MediaService verwenden - Sowohl API als auch WebSocket ge...
Verbinden Sie mit dem Hafen 8443 (extern), der nach NodePort 30843
- Router vorwärts Außen 8443 zu k1m1 NodePort 30843 - Browser verwendet media.kamocrm.com:8443 - Interne NodePort ist 30843 (Kubernetes gültiger Bereich)
Verbinden mit MediaService-Port 8443 für WebSocket
- Aktualisierte WebSocket-Verbindung zur Nutzung media.kamocrm.com:8443 - Umgeht Traefik für WebSocket-only-Verkehr - Verwendet direkte HTTPS/HTTP1.1 Verbindung...
Entfernen WebSocket-only Transportbeschränkung für HTTP/2-Kompatibilität
- Browser WebSocket API unterstützt HTTP/2 (RFC 8441 nicht implementiert) - Native WebSocket benötigt HTTP/1.1 Upgrade, das über HTTP/2 ausfällt - Lassen Sie So...
Verwenden Sie WebSocket-only Transport (deaktivieren XHR Polling)
- Geänderte SockJS-Transporte von [websocket, xhr-streaming, xhr-polling] nach [websocket] - Entfernt Fallback zu XHR Umfragen - Erzwingt reine WebSocket-Verbin...
WebSocket direkt mit media.kamocrm.com verbinden
- Rück auf originelle Herangehensweise: direkt mit Medien verbinden.* subdomain - Entfernt unnötige Komplexität gleicher Herkunft - Entfernt /ws Bypass von Midd...
Entfernen Sie explizite Namespace-Referenz aus kamowsmedia-service
- Beide Dienste sind im gleichen Namen (kamo) - Explizit Namespace-Referenz nicht erforderlich - Vermeidet mögliche Cross-Namensraum-Probleme
Entfernen /ws neu schreiben von next.config (handled by Traefik)
- Entfernt Next.js umschreiben für /ws Pfade - WebSocket Routing jetzt auf Traefik IngressRoute Ebene behandelt - Traefik Routen intern.kamocrm.com/ws -- MediaS...
Route /ws Anfragen direkt an MediaService via Traefik
- Die für /ws-Pfade in IngressRoute hinzugefügt - Routen intern.kamocrm.com/ws - MediaService direkt - Verwendet gleichen ServernTransport als Media-Route für W...
Erlauben /ws WebSocket Endpoints ohne Audung
- Hinzugefügt /ws Weg zum Middleware Bypass - SockJS muss sich ohne Umleitung mit /ws/info verbinden - WebSocket-Verbindungen werden noch *** Cookie haben - Beh...
WebSocket-Verbindung auf gleicher Herkunft ändern
- Wechsel von media.kamocrm.com zu demselben Ursprung (internal.kamocrm.com) - Vermeidet vereinsübergreifend WebSocket Verbindungsprobleme - Next.js umschreiben...
API-Proxy-Routen für WebRTC-Endpunkte hinzufügen
- Zusätzliche /api/webrtc/config Proxy zu MediaService - Hinzugefügt /api/webrtc/token Vollmacht für Janus Authentifizierung - Hinzugefügt /api/webrtc/call/init...
Invale Coder-Eigenschaft von getDisplayMedia entfernen
- Mit einfachem Video: wahr für Bildschirm-Sharing - Bauen sollte jetzt erfolgreich sein
Resolve Build Fehler - PhoneOff mit CallEnd ersetzen
- PhoneOff-Symbol existiert nicht in @mui/icons-material - Verwenden von CallEnd, welches das richtige MUI-Symbol ist - Ungenutzte doppelte Dateien entfernt (Ch...
Komplette Peer-to-Peer WebRTC-Berufung mit Signalisierung
- Zusätzliche NutzungWebRTC Hook mit voller Signalunterstützung - Integrierte WebSocket-Signalgebung (Gebote, Antworten, ICE-Kandidaten) - eingehende Anrufbenac...
Janus WebRTC-Integration für Audio-/Videoanrufe hinzufügen
- Zusätzliche NutzungJanusWebRTC Hook für WebRTC Call Management - VideoCallPanel-Komponente für die Videoanzeige im Chat hinzugefügt - Integriert mit ChatBox f...
Wiederherstellen WebSocket Transport in SockJS
- Wiederkehren Sie mit Websocket Transport (nicht Umfrage) - WebSockets sind Standard und sollten richtig funktionieren - Konzentrieren Sie sich auf die Behebun...
WebSocket Transport in SockJS überspringen, um HTTP/2 Probleme zu vermeiden
- Verwenden Sie xhr-streaming und xhr-polling Transporte anstelle von Websocket - Diese Transporte funktionieren sowohl mit HTTP/1.1 als auch mit HTTP/2, ohne W...
SockJS-Transporte konfigurieren, um HTTP/2 WebSocket-Upgrade-Probleme zu bewältigen
- Konseit konfigurieren SockJS Transportauftrag WebSocket bevorzugen, dann Fallback zu xhr-streaming/xhr-polling - HTTP/2 WebSocket Upgrades können fehlgeschlag...
Sicherstellen, dass Nachrichtenroute von Next.js erkannt wird
- Hinzugefügt Protokollierung zu überprüfen Route wird getroffen - Route-Datei existiert und Struktur ist korrekt für Next.js 15
Nicht vorhandene 'aktive' Eigenschaft von STOMP Client Logging entfernen
- STOMP Client hat keine 'aktive' Immobilie - Nur überprüfen 'verbundene' Eigenschaft, die der richtige Zustandsindikator ist
Entfernen Sie nicht unterstützt aufWebSocketError-Handler von STOMP Client
- onWebSocketErr ist keine gültige Eigenschaft in ClientOptions - SockJS Fehlerhandler (onerror, onclose) bieten bereits Fehlerbehandlung
Umfassend WebSocket Fehlerbehandlung und Protokollierung hinzufügen
- SockJS-Fehlerhandgeräte (onopen, onerror, onclose) hinzugefügt, um Verbindungsausfälle zu fangen - Zusätzliche Verbindungszeiterkennung (10 Sekunden) zur Erke...
Entfernen Sie fehlerhafte HTTPS-Agent Workaround
- Umgedrehte Änderungen, die Zertifikat-Validierung umgangen - Zertifikate werden von Auto-Zertifikate-Service ausgestellt (Let's Encrypt), nicht selbst signier...
Verwenden Sie HTTPS mit Agenten, der selbstsignierte Zertifikate akzeptiert
- Zurückgekehrt, um immer HTTPS (nicht HTTP) zu verwenden - HTTPS-Agent mit rejectUnauthorized hinzugefügt: falsch für selbstsignierte Zertifikate - So können s...
Verwenden Sie Kubernetes Servicenamen für MediaService, um SSL-Cert-Probleme zu vermeiden
- Server-Seite Next.js Routen jetzt verwenden ************ - Dies vermeidet selbstsignierte Zertifikatsfehler bei der Verbindung zu https://media.kamocrm.com - ...
Entfernen Sie alte /api/security/media/ Routen, die Anfragen abfangen
- Alte Routen wurden an APIService weitergeleitet, der keine Medienendpunkte mehr hat - Alle Medienanfragen sollten über /api/media/ Routen direkt zu MediaServi...
Fügen Sie detaillierte Fehlerprotokollierung für MediaService Sitzungserstellung hinzu
- Log MediaService URL wird aufgerufen - Log Response Header - Verbesserte Fehlermeldung mit vollständigen Fehlerdaten - URL in Fehlermeldung für Fehlersuche ei...
Rück zu Aktionen/checkout@v4, um andere Next.js Projekte zu vergleichen
- Entfernen Sie komplexe manuelle Kassenlogik, die hängt - Verwenden Sie Standard-Aktionen/checkout@v4 wie Kamo-Logo und Kamo-register - Vereinfachen Docker bau...
Verwenden Sie flachen Klon mit Timeout, um das Hängen zu verhindern
- Verwenden Sie --Tiege 1 für schnelleres Klonen - Timeout hinzufügen (120s für flach, 300s für voll) - Fallback zum vollen Klon, wenn flache Fehler - spezifisc...
Wechseln in ein gültiges Verzeichnis vor git-Klon, um einen funktionierenden Verzeichnisfehler zu vermeiden
- Wechseln zu /tmp oder / vor dem Entfernen/Klonenarbeitsplatz - Nur entfernen Verzeichnis, wenn es existiert, aber nicht ein git repo - Verhindert 'Fehler in d...
Verwenden Sie hardcoded repository URL und setzen Sie GITHUB_WORKSPACE env var
- Verwenden Sie direktes Repository URL, um DNS/Hostname-Auflösungsprobleme zu vermeiden - GITHUB_WORKSPSPACE Umgebungsvariable für nachfolgende Schritte setzen...
Verwenden Sie git-Klon direkt, anstatt sich auf leeren Arbeitsbereich zu verlassen
- Klon-Repository mit git direkt mit Projektarchiv-URL - Bearbeiten Sie sowohl frische Klon- als auch vorhandene Repository-Fälle - Arbeitsverzeichnis für Docke...
Vereinfachen Sie alle Kassenschritte - entfernen Sie git-Operationen, die hängen
- Entfernen Sie git holen/reset/clean von den Einsatzarbeiten - Forgejo Läufer hat bereits Code ausgecheckt - Nur überprüfen GITHUB_WORKSPACE ist gültig
Vereinfachen Sie den Kassenschritt - entfernen Sie git-Klon, der hing
- Entfernen Sie git-Klon-Logik, die verursachte 20+ Minuten hängt - Forgejo Läufer hat bereits Code ausgecheckt, überprüfen Sie einfach Verzeichnis - Entfernen ...
Verbessern Sie Kasse und Docker bauen Kontext-Handling
- Fügen Sie richtiges Repository Klonen hinzu, wenn nicht bereits ausgecheckt - Verify Dockerfile existiert vor dem Bau - Verwenden Sie absolute Pfade für Docke...
Ersetzen Sie Aktionen/Checkout mit manueller git-Checkout, um DNS-Probleme zu vermeiden
- Aktionen/checkout@v4 durch manuelle git-Checkout-Befehle ersetzen - Forgejo Läufer hat bereits Code ausgecheckt, müssen nur sicherstellen, dass saubere Zustan...
Direkte MediaService-Routen über media.{domain" für WebSocket-Unterstützung hinzufügen
- Erstellen Sie neue /api/media/* Routen, die direkt an media weiterleiten.{domain - Diese Routen umgehen APIService, um sichere WebSocket-Verbindungen zu ermög...
Protokollierung für Abonnement-Anfrage zum Backend hinzufügen
- Loggen Sie, wenn die Abonnementanfrage an /app/chat/subscribe gesendet wird - Hilft zu überprüfen, ob Abonnement-Anfragen das Backend erreichen
Detailliertes Protokollieren für die Abonnentenfunktion hinzufügen
- Log mit dem Namen angemeldet() und der aktuelle Verbindungszustand - Log Client Existenz und Verbindungsstatus - Hilft zu diagnostizieren, warum Abonnements n...
Fügen Sie detaillierte WebSocket Verbindung Logging
- Verbesserte Anmeldung für WebSocket-Verbindungserfolg/Versäumnis - Log-Verbindungsrahmen Details über erfolgreiche Verbindung - Detaillierte STOMP-Fehlerinfor...
Große IDs aus rohem JSON extrahieren, um JavaScript-Präzisionsverlust zu verhindern
- Extrahieren Sie MemberID, orgID und securityOrgId aus rohem JSON String vor dem Parsen - Verhindert Präzisionsverlust für IDs - Number.MAX_SAFE_INTEGER (90071...
Fügen Sie detaillierte Protokollierung für Mitglied ID Präzisions-Debugging
memberID und andere IDs als Strings in der Benutzerinfo API verbieten, um JavaScript-Präzisionsverlust zu vermeiden
Komplette MemberId-Typ-Updates im EinsatzChatWebSocket für String/Zahlenkompatibilität
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.