Usuń nieprawidłowy wzór Spring Security /ws//info
- PatternParseException: Brak więcej danych wzorcowych dozwolonych po "... lub ". - /ws/- obejmuje już wszystkie ścieżki w punktach /ws, w tym /ws/info - To pow...
Zastosuj media-cors middleware do MediaService Ingress
- Zastosuj media-cors middleware, aby umożliwić nagłówki CORS dla połączeń WebSocket - Dopasowuje wzór używany do domen tematycznych
Dodaj media-cors middleware dla obsługi domeny medialnej CORS
- Dodawanie konfiguracji multi-cors middleware dopasowywać motywy - Zezwala na ustawianie nagłówków CORS dla mediów.
Wyraźnie zezwalaj na wnioski OPTIONS o preflight CORS
- Dodawanie wyraźnego zezwolenia dla metody OPTIONS na wszystkich ścieżkach - Dodawanie wyraźnego pozwolenia dla /ws/info punktu końcowego (Uścisk dłoni SockJS)...
Uczyń konfigurację CORS bardziej permisywną dla połączeń WebSocket
- Wyraźnie obchodzi się z dziką kartą "" dla pochodzenia, metod i nagłówków - Dodaj nagłówki związane z WebSocket do odsłoniętych nagłówków - Dodaj rejestrowani...
Dodawanie logowania i konfigurowanie ustawień bicie serca / rozłączenia SockJS
- Dodawanie logowania do weryfikacji rejestracji punktów końcowych WebSocket - Skonfiguruj bicie serca SockJS i odłączenie opóźnienia - To powinno pomóc w zdiag...
Rewróć IngressRoute zmiany - Traefik obsługuje WebSocket automatycznie
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ń duplikat rejestracji punktów końcowych WebSocket i ulepszej rejestrowanie
- Usunięto duplikat / wzajem rejestracji punktów końcowych (SockJS już obsługuje natywny WebSocket) - Dodano null check dla ładunku w subskrypcjiToSession - To ...
Usuń nieprawidłowy wzór ścieżki Spring Security wzjście /ws/'/websocket
- Spring Security nie zezwala na segmenty ścieżek po /-) - /ws/a już pasuje do wszystkich ścieżek pod /wsinami, w tym punktami końcowymi websocket - To naprawia...
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 subdomena "medialna" do autocertu SUBDOMAINS dla MediaService
- Dodawanie 'media' do listy SUBDOMAINS w auto-cert-service.yaml - Umożliwia automatyczne generowanie certyfikatów SSL dla poddomeny.-domeny - Wymagane dla połą...
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 - ...
Usuwanie funkcji multimedia/czat - przeniesione do MediaService
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...
Wyraźnie zezwalaj na punkty końcowe WebSocket w Spring Security
- Dodano wyraźne zezwolenieWszystkie punkty końcowe / - punkty końcowe - żądania aktualizacji WebSocket wymagają wyraźnej zgody nawet w trybie rozwoju - Naprawi...
Dodaj szczegółowe rejestrowanie dla żądań subskrypcji WebSocket
- Dodano rejestrowanie do śledzenia, gdy subskrybujeszToSession jest wywołany - ładowność dzienników i sescesjaGuid - Posłuchanie bazy danych w celu weryfikacji...
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...
Wyszukaj istniejące sesje czatu według członkostwa uczestników, a nie tylko właściciela sesji
- Zmieniono findOrCreateChatSession to search MediaSessionMemberre rekordy zamiast MediaSession. - Teraz przeszukuje sesje, w których twórca jest uczestnikiem (...
Rurociąg wyzwalacza - odbudowa z poprawkami ID członka wiadomości
Dodaj szczegółowe wycinki dla identyfikatora członka wiadomości
- Dodano logowanie do śledzenia identyfikatora członka dla każdej zwracanych wiadomości - Loguje nazwę klasy członkowskiej w celu wykrycia problemów z proxy/stu...
Dodaj JOIN FETCH do chętnie załadunku załadunku członka w zapytaniach wiadomości
- Dodano JOIN FETCH m.member do obu findBySessionAndIsUprawdzenieFalse zapytania - Zapewnia, że jednostka członkowska jest chętnie ładowana, aby uniknąć leniwyc...
Rurociąg wyzwalaczy - odbudowa z automatycznym rozwiązaniem NATS
Automatycznie utwórz strumień NATS JetStream, jeśli nie istnieje
- Dodano metodęStreamIfNotExists, aby sprawdzić i utworzyć strumień CHAT_MESSAGES - Strumień jest tworzony z tematami z konfiguracji (chat.>) - Naprawiono błąd ...
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.