Stosuj wstępnie nieuwierzytelniowaną sesję od OTKPreAuthFilter w getMyNetworks
- Naprawiono błąd 401, sprawdzając wstępnie uwierzytelnione sesje z OTKPreArethFilter - OTKPreAuthFilter już sprawdza i konsumuje OTK, więc kontroler powinien k...
Dodaj szczegółowe wycinki do trasy API my-networks
- Dodano rejestrowanie adresu URL, nagłówków i obecności plików cookie - Dodano konkretne rejestrowanie dla - wykrywanie plików cookie - Dodano szczegółowe reje...
Zapobiegaj automatycznym wylogowyw się na 401 błędów w sieci
- Zmieniono obsługę błędów 401, aby wyświetlać komunikat o błędzie zamiast natychmiastowego przekierowania do /logout - Dodano przycisk ponownego spróbowania do...
Dodaj Employee Browser dla strony HR z komponentem EmployeeManager
- Utworzono komponent EmployeeManager podobny do LeadManager z polami specyficznymi dla pracowników - Aktualizacja /hr/page.tsx, aby dopasować układ menedżera d...
Usuń nieprawidłowe naWebSocketZamknij i naWebSocketError z ClientOptions
- Usunięte naWebSocketZamkonieZamkony i naWebSocketError obsługuje, ponieważ nie są one ważnymi właściwościami ClientOptions - Zdarzenia zamknięcia WebSocket i ...
Move onWebSocketZamknij i naWebSocketError to Customer options
- Przesunięty naWebSocketZamkonaBliźny i naWebSocketRućlec z przydziału nieruchomości do opcji konstruktora klienta - Osoby te powinny być zdefiniowane w Client...
Usuń nieprawidłowy 'aktywny' czek nieruchomości z STOMP Client
- Usunięto klientRef.current.active check, który nie istnieje w typie klienta - Używanie tylko klientRef.current.connected, który jest właściwą właściwością
Zamień StompSubscription z subskrypcją od ?stomp/stomp
- Zmieniono import ze StompSubscription na Subskrypcję (prawidłowa nazwa eksportu) - Zaktualizowano wszystkie odniesienia typu do użycia Subskrypcji zamiast Sto...
Usuń nieprawidłowe połączenieWłaściwośćWysłanieTimeout z STOMP ClientOptions
- Usunięto właściwość, która nie jest częścią typu ClientOptions - Timeout połączeń jest już obsługiwany ręcznie za pośrednictwem połączeniaTimeoutRef
Upuścić błąd kompilacji TypeScript w kompilacji LeadManager
- Naprawiono błąd typu rekwizytu wiórów, zmieniając ReactNode na ReactElement - usunięto niewykorzystany przywóz i rekwizyty - Ostrzeżenie o zależnościMemo prze...
Strona prowadząca aktualizacji z komponentem LeadManager dopasowujący układ menedżera doc
- Utworzony komponent LeadManager podobny do DocManager z polami specyficznymi dla ołowiu - Aktualizacja /odźga/page.tsx, aby dopasować układ menedżera doc z na...
Auto-przewijanie czatu na dole w zakresie ładowania i nowych wiadomości
Śledź poprzednią liczbę wiadomości i przewijaj płynnie, gdy pojawią się nowe wiadomości; przewiń natychmiast przy początkowym obciążeniu lub gdy nie jest minima...
Frontend WebSocket trwałość - dopasowanie do tyłu i szybsze połączenie
Heartbeat: 4s -> 20s do dopasowania backend, opóźnienie ponownego połączenia: 5s -> 1s, dodaj timeout połączenia 30s
Trwałe połączenie WebSocket z agresywnym utrzymaniem
Bezczynność timeout ustawiona na 0, bicia serca 20s, odłączenie opóźnienia 30s, czas przedniea meczu
Unified header design obejmujący zarówno czat, jak i panele softphone
Usuwany: pasek stanu z softfonu (wifi, sygnał, czas - niepotrzebny dla aplikacji web) SHARED HEADER: Pasek tytułu obejmuje teraz zarówno softphone, jak i czat ...
Zoptymalizuj softphone, aby pasował do wszystkich treści bez przewijania z wysokością 680px
CHATBOX HEIGHT: 550px -> 680px (optymalna saldo) PHONE DYSPLAY: Zredukowany minHeight (100/75 -> 85/65), wyściółka (14/16 -> 12/14) CALL CONTROLS: Wszystkie 9...
Zredukuj wysokość ChatBox do bardziej komfortowego 550px
Zmieniono z 85% portu w widoku (750-850px) na stały 550px dla lepszego UX Kontrole połączeń WebRTC pozostają w pełni nienaruszone i funkcjonalne
Dodaj funkcje premium - Analytics, CRM, AI Assistant, Advanced
ANALYTICS DASHBOARD - Wskaźniki połączeń w czasie rzeczywistym z interaktywnymi wykresami CRM INTEGRATION - Dane klienta, wartość dożywotnia, śledzenie aktywno...
Wdrożenie 100% funkcji telefonii biurkowej VoIP
Pełna implementacja ponad 100 funkcji dopasowanych do Cisco 8800, Polycom VVX 600, Yealink T58A 7 Tabs: Dialpad, Speed Dial/BLF, Historia, Poczta głosowa, Kont...
Spraw, aby softfon był w pełni widoczny bez przewijania - kompleksowy kompaktowy układ
CHATBOX HEIGHT: - Zmieniono ze stałego 600px na 85% wysokości widoczności - Używa Math.floor(window.innerHeight ? 0.85) do responsywnego rozmiaru - Zapewnia zna...
Wyeliminuj poziome paski przewijania i zwiększaj widoczność softphone
LAYOUT FIXES: - Zwiększ DOCKED_HEIGHT z 480px do 600px dla lepszej przestrzeni pionowej - Dodaj wyraźne ograniczenia szerokości (Góra mięty, maxSzerokość) do mi...
Podnieś softphone do klasy korporacyjnej z funkcjami premium
Przyczyny innowacji: - Nagrywanie połączeń ze wskaźnikiem wizualnym i animacją pulsacyjną - Funkcja transferu połączeń bezproblemowych - Zadzwoń do Notatek z ro...
Dodaj rozszerzalny panel softphone do czatu
- Dodaj przycisk ikony PhoneInTalk do nagłówka czatu dla softphone toggle - Twórz kompleksowy komponent SoftphonePanel z pełnym interfejsem użytkownika - Wdroże...
Usuń podłączoną kontrolę i dodaj rejestrowanie debugowania dla aktywacji STOMP
Klient STOMP nie aktywował się, ponieważ kontrola podłączona temu zapobiegała. Dodano dzienniki debugowania do diagnozowania.
Aktywuj klienta STOMP tylko po otwarciu SockJS
Krytyczna poprawka błędu: Klient STOMP był aktywowany przed otwarciem SockJS, powodując natychmiastowe rozłączenie. Teraz czeka na SockJS na otwartym wydarzeniu...
Włącz transporty zwrotne SockJS dla połączenia WebSocket
Zezwalaj na strumieniowanie xhr i xhr-poling jako upadek, jeśli aktualizacja WebSocket nie powiedzie się.
Ulepsz czatBox z dynamicznym systemem kolorów i zwiększoną wysokością
- Zwiększ obszar wyświetlania wiadomości o 33% (DOCKED_HEIGHT: 360 -> 480) - Utwórz ChatBoxStyles.tsx z dynamicznym systemem kolorów opartym na zmienności CSS -...
Modernizuj projekt ChatBox z profesjonalnym lakierem
- Zaimplementuj czyste białe tło z subtelnymi grastymi gradientami - Dodaj niestandardową stylizację paska przewijania zintegrowaną z podstawowym schematem kolo...
Usuń nieprawidłowe 'aktywne' wanny w użyciuChatWebSocket
Typ Klienta typu z ?stomp/stompjs nie ma "aktywnej" właściwości. Usunięto nieprawidłowy czek, ponieważ client.activate() jest wywołany natychmiast po stworzeniu...
Poczekaj, aż SockJS otworzy się przed aktywacją klienta STOMP
- Napraw stan wyścigu, w którym klient STOMP aktywował się przed gotowością połączenia SockJS - Przenieś client.activate() do SockJS na open callback - Powinno ...
Dodaj rejestrowanie ramek STOMP w celu zdiagnozowania problemów z połączeniem
Dodaj TomcatConnectorCustomizer, aby wymusić konfiskowanie klucza SSL
- Aplikacja Spring Boot.yml SSL config nie jest stosowana - Użyj TomcatConnectorCustomizer do zaprogramowania keystore - Złącze sił do stosowania /etc/ssl/certs...
Ustawienia SSL z twardego kodu w ConfigMap do produkcji
- Usuń środowisko zmiennymi symbolami zastępczy - Hardcoded port 8443, włączony protokół SSL, ścieżka keystore - Fixes Spring Boot nie rozwiązując prawidłowo en...
Poprawa nazw zmiennych środowiskowych Spring Boot SSL
- Zmieniono SSL_ENABLED na SERVER_SSL_ENABLED - Zmiana SSL_KEY_STORE na SERVER_SSL_KEY_STORE - Zmieniono SSL_KEY_STORE_PASSWORD na SERVER_SSL_KEY_STORE_PASSWORD...
Dodawanie poHandshake rejestruj, aby zdiagnozować problemy z WebSocket
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...
Uproszczenie tylko do HTTPS: 8443, usuń podwójną konfig portu
- MediaService działa TYLKO na porcie 8443 (HTTPS) - Koniec traefikowania routingu dla MediaService - Usunięto złożoność DualPortConfig - Cały ruch (API + WebSo...
Użyj SSLHostConfig API dla konfiguracji Tomcat SSL
- Użyj SSLHostConfig i SSLHostConfigCertificate (poprawny Tomcat API) - Skonfiguruj certyfikat poprzez . - Naprawia błędy kompilacji z setAttribute/Property
Użyj setAttribute dla konfiguracji Tomcat SSL
- Zmienione z setKeystoreFile/Pass/Type/Alias na setAttribute - Tomcat 10+ wykorzystuje setAttribute dla właściwości SSL - Naprawiono błędy kompilacji
Uruchom MediaService na obu portach 80 (HTTP API) i 8443 (HTTPS WebSocket)
- Odwrócony serwis.yaml i ingresstrol.yaml do użycia portu 80 - Usunięto wymuszone SERVER_PORT i SSL_ENABLED env vars - Dodano DualPortConfig do programowo doda...
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)
Użyj NodePort 30843 zamiast hostPort dla WebSocket
- hostPort może być zablokowany przez zasady zapory sieciowej - NodePort 30843 jest w ważnym zakresie (30000-32767) - Przeglądarka łączy się z zewnętrznym porte...
Dodaj konfigurację SSL do k8s ConfigMap
- ConfigMap brakowało konfiguracji SSL z application.yml - Dodano ustawienia serwera.ssl z obsługą zmiennych środowiskowych - Dopasowuje lokalną konfigurację ap...
Użyj hostPort zamiast węzowego portu dla 8443
- Zakres nodePort wynosi 30000-32767, nie można używać 8443 - Użyj hostPort, aby bezpośrednio związać się z portem hosta 8443 - Usunięto serwis-websocket.yaml
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...
Ekspspeka MediaService na porcie 8443 dla WebSocket przez HTTPS/HTTP1.1
- Dodano usługę NodePort na 8443 dla bezpośredniego dostępu WebSocket (obejza Traefik) - Montaż certyfikatu Wildcard-kamocrm-com SSL - Pojemnik Init konwertuje ...
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...
Jak to, co widzisz żeglugę?
Wszystko to pojawia się w twoim miejscu pracy na własną rękę. Zacznij od bezpłatnego planu i przeczytaj tę stronę ponownie w miesiącu.
