Dodaj STOMP debugowanie wycinki debugowania w celu zdiagnozowania problemu połączenia
Trasa ALL WebRTC API żądań do portu 8443
- Zaktualizowano wszystkie trasy API WebRTC do korzystania z multimediów. - Nie używać już Traefik dla punktów końcowych WebRTC - Dopasowuje media API i Konfigu...
Trasa WSZYSTKIE MediaUS żądania do portu 8443 (byja Traefik)
- Zaktualizowano wszystkie medialne trasy API do korzystania z multimediów.-domena:8443 - Nie używać już Traefik dla MediaService - Zarówno API, jak i WebSocket...
Podłącz do portu 8443 (zewnętrznego), który kieruje się do NodePort 30843
- Router do przodu zewnętrzny 8443 do k1m1 NodePort 30843 - Przeglądarka używa media.kamorm.com:8443 - Węzeł wewnętrzny to 30843 (Kubernetes valid range)
Podłączać do portu MediaService 8443 dla WebSocket
- Zaktualizowano połączenie WebSocket do korzystania z media.kamorm.com:8443 - Bypasses Traefik dla ruchu tylko dla WebSocket - Wykorzystuje bezpośrednie połącz...
Usuwanie ograniczenia transportu tylko WebSocket dla zgodności HTTP / 2
- Przeglądarka WebSocket API nie obsługuje HTTP / 2 (RFC 8441 nie zaimplementowany) - Native WebSocket wymaga aktualizacji HTTP/1.1, która nie przejdzie przez H...
Użyj transportu tylko WebSocket (wyjmowanie XHR)
- Zmienione transporty SockJS z [websocket, xhr-streaming, xhr-poling] na [websocket] - Usuwa upadek do XHR sondaży - Zmądł do czystego połączenia WebSocket - S...
Połącz WebSocket bezpośrednio z media.kamocrmmm.com
- Powrócony do oryginalnego podejścia: podłączenie do mediów. - Usunięto niepotrzebną złożoność tego samego pochodzenia - Removed /ws obejście z średniego oprog...
Usuwanie wyraźnego odniesienia do przestrzeni nazw z kamowsmedia-service
- Obie usługi są w tej samej przestrzeni nazw (kamo) - Wyraźne odniesienie do nazwy nie jest potrzebne - Unika potencjalnych problemów międzynazowych
Usuń /wswsprzepis z next.config (ręczna przez Traefik)
- Usunięto Next.js przepisanie ścieżek /ws - WebSocket routing teraz obsługiwany na poziomie Traefik IngressRoute - Traefik trasy internal.kamocrm.com/ws -> Med...
Trasy /ws Żądania bezpośrednio do MediaService przez Traefik
- Dodano dedykowaną trasę dla ścieżek /ws w IngressRoute - Trasy wewnętrzne.kamorm.com/ws -> MediaService bezpośrednio - Używa tych samych serwerówTransport jak...
Zezwala /w WebSocket punkty końcowe bez przekierowania auth
- Dodano /w ścieżkę do obejścia średniej - SockJS musi połączyć się z /ws/info bez przekierowania - Połączenia WebSocket nadal będą miały plik cookie - Naprawio...
Zmień połączenie WebSocket z tym samym oryginalnym
- Zmieniono z media.kamorm.com na to samo pochodzenie (internal.kamorm.com) - Unika się krzyżowych problemów z połączeniem WebSocket - Dodano regułę Next.js nap...
Dodaj trasy proxy API dla punktów końcowych WebRTC
- Dodano /api/webrtc/config proxy do MediaService - Dodano /api/webrtc/token proxy dla uwierzytelnienia Janus - Dodano /api/webrtc/call/initiate, odpowiedź, koń...
Usuń nieprawidłowy właściwość kodera z getDisplayMedia
- Korzystanie z prostego wideo: true dla udostępniania ekranu - Budowanie powinno teraz odnieść sukces
Rozwiązować błąd build - zastąpić PhoneOff CallEnd
- Ikona PhoneOff nie istnieje w .mui/i-icons-material - Korzystanie z CallEnd, która jest poprawną ikoną MUI - Usunięto nieużywane pliki duplikaty (ChatBoxWithW...
Kompletne połączenia peer-to-peer WebRTC z sygnalizacją
- Dodano użycie Haku WebBRTC z pełną obsługą sygnalizacji - Zintegrowana sygnalizacja WebSocket (oferty, odpowiedzi, kandydaci ICE) - Dodano powiadomienia o poł...
Dodaj integrację Janus WebRTC do połączeń audio/wideo
- Dodano użycie JackanusWebRTC hook do zarządzania połączeniami WebRTC - Dodano komponent VideoCallPanel do wyświetlania wideo w języku - Zintegrowany z ChatBox...
Przywracanie transportu WebSocket w SockJS
- Powrósł do korzystania z transportu websocket (nie zapylania) - WebSockets są standardem i powinny działać poprawnie - Skoncentruj się na naprawieniu rzeczywi...
Pomiń transport WebSocket w SockJS, aby uniknąć problemów HTTP / 2
- Używaj xhr-streaming i xhr-pollinga zamiast websocket - Te transporty działają zarówno z HTTP/1.1, jak i HTTP/2 bez konieczności aktualizacji WebSocket - Unik...
Skonfiguruj transporty SockJS do obsługi problemów z aktualizacją HTTP/2 WebSocket
- Wyraźnie skonfigurować zamówienie transportowe SockJS, aby preferować WebSocket, a następnie z powrotem na xhr-streaming / xhr-poling - Ulepszenia HTTP/2 WebS...
Zadowienie trasy wiadomości jest rozpoznawane przez Next.js
- Dodanie logowania w celu weryfikacji trasy jest uderzane - Plik trasy istnieje, a struktura jest prawidłowa dla Next.js 15
Usuwanie nieistniejących "aktywnych" właściwość z STOMP
- Klient STOMP nie ma "aktywnej" właściwości - Sprawdź tylko "połączony" nieruchomość, która jest właściwym wskaźnikiem stanu
Usuwanie nieobsługińcy nieobsługińcy naWebSocketError z klienta STOMP
- onWebSocketError nie jest właściwość w ClientOptions - Obsługa błędów SockJS (jednorazowa, zamknięta) zapewniają już obsługę błędów
Dodawanie kompleksowej obsługi błędów WebSocket i rejestrowanie
- Dodano obsługujący błędy SockJS (na otwarte, onerror, onclose) do naładowania awarii połączenia - Dodano wykrywanie timeoutu (10 sekund), aby zidentyfikować c...
Usuń nieprawidłowe obejście agenta HTTPS
- Odwrócono zmiany, które omijały walidację certyfikatu - Certyfikaty są wydawane przez usługę auto-cert (Let's Encrypt), niepodpisany samodzielnie - Muszę zbad...
Użyj HTTPS z agentem, który akceptuje samodzielne certyfikaty
- Odwrócony, aby zawsze używać HTTPS (nie HTTP) - Dodano agenta HTTPS z rejectUnautoized: false dla samopodpisanych certyfikatów - To pozwala na połączenie tras...
Użyj nazwy usługi Kubernetes dla MediaService, aby uniknąć problemów z certyfikatem SSL
- Trasy Next.js teraz używane - Pozwala to uniknąć samopodpisowanych błędów certyfikatu podczas łączenia się z https://media.kamocrm.com - Żądania po stronie kl...
Usuń stare /api/security/media/ trasy, które przechwytywali żądania
- Stare trasy były przekazywali do APIService, który nie ma już punktów końcowych mediów - Wszystkie żądania mediów powinny przejść przez /api/media/ trasy bezp...
Dodaj szczegółową rejestrowanie błędów dla tworzenia sesji MediaService
- Nazywany URL logowania MediaService - Nagłówki odpowiedzi dziennika - Ulepszone rejestrowanie błędów z pełnymi szczegółami błędów - Dołącz adres URL w odpowie...
Powrót do działań/checkout-v4, aby dopasować się do innych projektów Next.js
- Usuń złożoną ręczną logikę kasową, która powodowała powiesić - Używaj standardowych akcji/checkout-v4, takich jak kamo-login i kamo-rejestr - Uprość kontekst ...
Użyj płytkim klonem z timeoutem, aby zapobiec powieszeniu
- Użyj --depth 1 do szybszego klonowania - Dodaj timeout (120s dla płytkich, 300s za pełny) - Fallback to pełny klon jeśli płytkie zawiodą - W razie potrzeby po...
Zmiana w prawidłowym katalogu przed klonem git, aby uniknąć błędu katalogu roboczego
- Zmiana /tmp lub / przed usunięciem/cloningspace - Usuwaj katalog tylko jeśli istnieje, ale nie jest git repo - Zapobiega błędowi "Nie można odczytać bieżącego...
Użyj zakodowanych adresów URL repozytorium repozytorium i ustaw GITHUB_WORKSPACE env var
- Użyj bezpośredniego repozytorium URL, aby uniknąć problemów z rozdzielczością DNS/hostname - Ustaw zmienną środowiskową GITHUB_WORKSPACE dla kolejnych kroków ...
Używaj klonu git bezpośrednio zamiast polegać na pustej przestrzeni roboczej
- Repozytorium Klonów przy użyciu git bezpośrednio z repozytorium URL - Obsługa zarówno świeżych klonów, jak i istniejących przypadków repozytorium - Użyj reżys...
Uproszczenie wszystkich etapów kasy - usuń operacje git, które zawieszają
- Usuń git fetch/reset/czystek z pracy - Forgejo runner już sprawdził kod - Po prostu sprawdź GITHUB_WORKSPACE jest poprawny
Uproszczenie kroku kasowego - usuń klon git, który wiszący
- Usuń logikę klonu, która powodowało 20+ minut wisi - Forgejo biegacz ma już wyeksponowany kod, wystarczy zweryfikować katalog - Usuń niepotrzebne operacje git...
Poprawa kasy i Docker build context handling
- Dodawanie odpowiedniego repozytorium klonowania, jeśli nie jest jeszcze sprawdzone - Sprawdź Dockerfile istnieje przed budynkiem - Użyj bezwzględnych ścieżek ...
Zamień akcje / kasę na ręczną kasę git, aby uniknąć problemów z DNS
- Zastąp akcje/checkout-v4 ręcznymi poleceniami kasy git - Biegacz Forgejo już ma sprawdzony kod, wystarczy upewnić się, że stan czysty - Naprawiono awarię wysz...
Dodaj bezpośrednie trasy MediaService za pośrednictwem multimediów.-domain dla WebSocket
- Utwórz nowe /api/media/- trasy, które przekierowywać się bezpośrednio na media. - Te trasy omijać APIService, aby umożliwić bezpieczne połączenia WebSocket - ...
Dodaj logowanie do żądania subskrypcji na backend
- Dziennik, gdy żądanie subskrypcji jest wysyłane do /app/chat/subscribe - Pomaga zweryfikować, czy żądania subskrypcji docierają do backendu
Dodaj szczegółową rejestrowanie dla funkcji subskrypcji
- Loguj, gdy abon() jest nazywany i bieżący stan połączenia - Zaloguj istnienie i status połączenia klienta - Pomaga zdiagnozować, dlaczego nie powstają subskry...
Dodaj szczegółowe rejestrowanie połączeń WebSocket
- Ulepszone rejestrowanie sukcesu / porażka połączenia WebSocket - Szczegóły ramki połączenia dziennika na temat udanego połączenia - Uślij szczegółowe informac...
Wyodrębnij duże identyfikatory z surowego JSON, aby zapobiec precyzyjnej utracie JavaScript
- Wyodrębnij memberID, userID, orgID i zabezpieczeniaOrgId z surowego łańcucha JSON przed przeanalizowaniem - Zapobiega precyzyjnej utracie identyfikatorów > Nu...
Dodaj szczegółowe wycinki dla identyfikacji użytkownika precyzyjnego debugowania
Zaktualizuj czatMessageDto memberId typ do dopasowania do użyciaChatWebSocket
Kompletne aktualizacje typu memberId w useChatWebSocket dla kompatybilności ciągowych / numerowych
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.