Dodaj do logowania do przesłaniaBackground endpoint
Log org/index, informacje o plikach, decyzje userId, auth i MinIO inging Klucz do śledzenia, dlaczego przesyłanie tła nie pojawia się w wiadrze inscenizacji.
Dodaj logowanie do trasy proxy w celu przesłania w celu przesyłania
Log org/index, nazwa/rozmiar/typ pliku i status odpowiedzi upstream W celu zdiagnozowania, dlaczego przesłania tła nie docierają do APIService.
Dodaj kolumnę lokalizacji do sprzedaży danych
Czytam :-) Od razu SupportTicketDTO (teraz migawka na kasie biletowej Czas tworzenia - bez dodatkowej podróży w obie strony). Flaga + miasto/region/kraj z IP po...
Przechowuj geo na bilecie przy tworzeniu, drop GeoLite czyta
Teraz przechwytuje geo odwiedzającego Raz (za pośrednictwem GeoLookupService) i utrzymuje się ip/kraj/miasto/rozpodział/subdivision w sprawie Sama SupportTicket...
Migawka odwiedzająca geo jednostka biletowy
VISITOR_IP_ADDRESS, VISITOR_COUNTRY_CODE, VISITOR_COUNTRY_NAME, Kolumny VISITOR_CITY, VISITOR_SUBDIVISION. Uchwycony na liście biletów Tak więc punkty końcowe l...
Odwiedzający masowe obciążenia i pomiń GeoLite lookup na liście
Punkt końcowy /api/support/support/tickets, na stronę 20 wierszy: - 20 - wywołania (N+1) - 20 zamieszknięcia do GeoLookupService.lookup, z których każdy jes...
Dodaj findBSessionGuidIn dla obciążenia luzem
Używany przez punkt końcowy listy support-ticket, aby pozyskać wszystkich odwiedzających dla Strona w jednym zapytaniu zamiast N oddziel dojazdów ZnajdźBySessio...
Podaj folder do przycisku loadThread retry
Błąd nośny ujęcia (threadId, folder); tylko przycisk próbowania w stanie błędu Mijał threadId, łamiąc kamo-wewnętrzną budowę. Dopasuj wezwanie do Podpis.
Odbuduj, aby odebrać Member JsonIdentityInfo fix z kamo-shared-library
kamo-shared-library b57d156 fixes - ?JsonIdentityInfo (własność - "uniqueId") "Wprowadzał" na Członka, rozwiązując 400 błędów na PUT /api/security/org/Aid.
Poprawna własność JsonIdentityInfo od "niepowtarzalnego" do "id"
Podmiot członowy zadeklarował „JsonIdentityInfo” (własność – „niepowtarzalny”) ale Rzeczywiste pole kluczy pierwotne nazywa się "id". Jackson rzucił "nie można ...
Dodaj /ws/public-chat-native zwykły punkt końcowy WebSocket wraz z SockJS
Rejestruje drugi punkt końcowy STOMP bez SockJS na /ws/public-chat-native-native, więc Aby frontend mógł łączyć się z natywnym WebSocket (brokerURL) bez koniecz...
Usuń osłonkę SSR powodującą niedopasowanie nawilżenia; drop SockJS dla natywnego WebSocket
- Hero.tsx: kontrola okna typu typeof wokół ParticleField — ParticleField Ma ssr:false, więc osłona wytworzyła niedopasowanie drzewa server/client (React . - ...
Odznaka nieprzeczytana napis + filtr "Tylko nowe wiadomości"
- Lista biletów pokazuje odznakę chat-bubble z nieprzeczytaną liczbą obok Bilet - za każdym razem, gdy sesja ma wiadomości nowsze niż wiadomości agenta Osta...
Transmisja nieprzeczytanych lilii agenta na wiadomość odwiedzającego
Po tym, jak odwiedzający wyśle wiadomość pomocy technicznej, przesuń najnowsze nieprzeczytane konta ładowność do - więc lista biletów agenta Odznaka i navtop w ...
Załóż sesje SUPPORT_TICKET w nieczytanym zapytaniu
ZnajdźChatMembershipsByMemberId zwraca teraz członkostwo zarówno dla CHAT, jak i CHAT Typy sesji SUPPORT_TICKET, więc istniejące na członka nieprzeczytane Infra...
Jasne nieprzeczytane wskaźniki po otwarciu rozmowy
ThreadDetailZobacz teraz wysyła e-mail:folder-changeed po markConversationRead Odnosi się sukces, więc MailButton ponownie ścina navtop odznak odbiorczy. Konwer...
Przenieś CORS do Traefik za pośrednictwem kamo-middlewares, usuń w aplikacji CorsFilter
Aplikacja CorsFilter w Spring bezpiecznie nie stosowała nagłówków po tym, jak WebConfig.java został usunięty. CORS jest teraz całkowicie obsługiwany w warstwie ...
Używaj /public/-main--main-'tld' ścieżka dopasowująca rzeczywisty układ wiader MinIO
getThemePath() generował /domena/-tld'/'split'/kamosite paths, które Nie istnieje w MinIO — pliki tematyczne na żywo w wiadrze publicznymi kamocrm-com/, baddi3-...
Zerwanie łańcucha min-w-0, aby zawierał przewijanie e-mail tylko w kolumnie ciała
Dodaj min-w-0 do zewnętrznego pojemnika i głównej zawartości flex div, aby flex dzieci Nie można rozszerzać do szerokości wiadomości e-mail min-content, która p...
Dostawcy usług hostyk powyżej ToolProviders
Ta sama przyczyna, co wciągnik dla ChatWebSocketProvider: SupportTicketWindow Rozmowy - i rozmowy ChatBox użyjUnread().markAsRead(), ale oba okna narzędzi rende...
Dodaj tłumienieHydrationWarning i napraw uszkodzone obrazy zastępcze
TłumienieHydrationWarning na ?html> zapobiega błędowi React 418 spowodowanym przez przeglądarkę rozszerzenia (np. tłumaczenia, tryb ciemny) mutujące atrybuty ht...
Zezwalaj /domena / prefiks ścieżki na temat IngressRoute dla CORS
Temat na tematyce.kamormm.com/domena/... nie był dopasowany przez Istniejące zasady trasy (dozwolono tylko /public/ i /wewnętrzne/), więc Traefik Zwrócił 503 be...
Usuń duplikaty CorsFilter i pasek podstruuszaj nagłówki CORS w bramie
WebConfig.java zdefiniował drugą fasę CorsFilter konkurującą z CorsConfig.java fasoli, ryzykując duplikat nagłówka. Usunięto go tak, że istnieje tylko jeden Cor...
Usuń duplikat CorsFilter, powodujący podwójną nagłówek Access-Control-Allow-Origin
Wyraźny fasor i fasor CorsFilter spowodował drugi filtr CORS obok wiosny Wbudowana obsługa CORS zabezpieczeń (w tym, która wykorzystuje CorsConfigurationSource)...
Usuń debugowe instrukcje console.log i dodaj brakujące trasy
Usuń wszystkie tymczasowe rejestrowanie debugowania dodane podczas śledzenia WebSocket z ChatBox, TicketChat, MemberItem, ChatTool i useChatWebSocket; /help /su...
Zapobiegaj nagłówku wiadomości od rozszerzania kolumny na długich adresach
Lewe dziecko z elastycznym nagłówka nie miało min-w-0, tak długi nie do złamania e-maila Adresy w From/To/Cc zmusiły swoją szerokość zawartości min do wzrostu, ...
Hoist ChatWebSocketProvider powyżej ToolDostawcy
ToolDock (i jego okna narzędziowe, takie jak SupportTicketWindow - TicketChat) Zamontowany wewnątrz ToolProviders, który siedzi ABOVE PresenceWrapper na drzewie...
Drop Shadow DOM w rendere e-mail, więc przelew-x-auto strzela
Shadow DOM był przyczyną. Szeroka zawartość e-mail (postawy o stałej szerokości) Wewnątrz cienia drzewo pomalowane obok gospodarza bez przyczyniania się do Pude...
Align ChatWebSocketKonstekstowa ścieżka importu do dostawcy dopasowania
TicketChat i ChatNotificationListener zaimportowali kontekst za pośrednictwem "/app/contexts/..." alias, podczas gdy Oświadomość OFOwra (dostawca) importuje go ...
Tymczasowa console.log do śledzenia ścieżki subskrypcji TicketChat STOMP
Dodaje dzienniki konsol na każdym etapie abonacji (ognisko efektów, karmy łożowe, subbon() połączenia, attachSubsionSubs, klient.subscribe, /app/chat/subskrybuj...
Siła cienia hosta z inline style + zawierają: layout
Klasa oparta na przepełnieniu-syfikatorze w cieniu nie była niezawodnie wygrywana W stosunku do cienia ':host' - all: initial ? '' reset, więc szeroki e-mail Za...
Przewiń szeroką zawartość e-mail w cieniu DOM, a nie na zewnątrz
Poprzednie próby dodawania przepełnienia-x-auto do światła przodków DOM Nie mógł złapać szerokiej zawartości e-mail, ponieważ jest to wizualne drzewo cienia Prz...
Użyj getHasAttachments() aby dopasować typ owijania Boolean
- jest boolejanem (wrapper), więc Lombok generuje getHasAttachments() nie isHasAttachments(). Te ostatnie tylko Istnieje dla prymitywnego booleana. Użyj Boolean...
Rozwiń skan repozytorium JPA, aby uwzględnić pakiet handlowy
Nowa kamo-wspólna biblioteka wprowadza w sobie : . Co wymaga ? (w com.kamo.z.shared.commerce). MediaService przeskanowany tylko donotmodify.dao.repos, więc brak...
Przywróć import HashMap w ChatWebSocketController
Poprzednia refaktorka usunęła import HashMap, ale uchwytTyping Metoda nadal konstruuje HashMap do ładowności typowania zdarzeń, powodując Forgejo buduje do pora...
Dodaj min-w-0 do treści e-mail div tak przelewowe-x-auto strzały
Bez min-w-0, flex-col domyślna minuta:automatyczna jest rozwiązywać min-content, pozwalając szerokim stołom e-mail rozszerzyć div obok kolumny Szerokość. Z zewn...
Usuwanie duplikaty połączenia connectStomp w sendMessage
Gdy pierwsza wiadomość utworzy nową sesję, onSessionCreated aktualizuje rekwizyty Który wyzwalacz używaEffect, aby wywołać connectStomp. Inline call in sendMess...
Proaktywnie tworzyć konsumenta NATS podczas tworzenia sesji, aby zapobiec utracie wiadomości
Wcześniej konsument NATS JetStream został utworzony tylko wtedy, gdy klient STOMP Wysłano /app/chat/subskrypcja. Z DeliverPolicy.Nowe, wszelkie wiadomości publi...
Close rekoneks nieosłaniającej luki powodujące upuszczanie wiadomości w czasie rzeczywistym
Usuń „połączony” z subskrypcjiEffect deps w TicketChat i ChatBox. Wcześniej każde połączenie WebSocket wywołało efekt Sprzątanie, które wywołało unsubscribe(), ...
Zezwalaj użytkownikowi system na zarządzanie org branding i naprawianie logo auth
- Dodaj obejście użytkownika systemu jako pierwsza osłona w canManageOrgBranding, więc platforma Użytkownik systemu ma pełną kontrolę marki na wszystkich nie-...
Zawiera poziome przepełnienie w okienku widoku wiadomości e-mail do trzeciej kolumny
- Dodawanie przepełnienia-x-ukrytego do MessageBrowser, jak twarda granica - Dodawanie overflow-x-hidden do kolumny 3 owijania i przepełnienia-x-automatycznego ...
Produkcja fail2ban z więzieniami PJSIP i uporczywym państwem
- Dodać fail2ban-configmap.yaml z więzieniami [asterisk] i [freepbx-webx], Stopniowa eskalacja zakazu (1 h-24h x 30d sufit), zignorowanie sieci LAN i a) Nie...
Zamień Coqui TTS na Piper TTS (en_US-norman-medium)
Model Coqui VCTK nie ma nazwanych głośników – zastąpiony Piper TTS, który ma Dokładny głos norman[średni]. Binarny Piper (-3 MB) i model (60 MB) Są pobierane pr...
Resetuj nieświeże ma przywiązanie do synchronizacji i prawidłowo się gromadzenia
- Resetuj_aktywacjefale na początku synchronizacji masowej, więc nieświeże wartości Z starego fałszywego wykrywania MIME są usuwane przed ponownym indeksowani...
Dodaj resetHasAttachmentsForFolder query to ConversationRepository
Umożliwia synchronizację, aby zresetować flagi has_attachments przed ponownym indeksowaniem Prawizacja MIME może odbudować pole z rzeczywistych danych załącznik...
Zintegruj Coqui TTS z głosem norman (VCTK p267)
- Wdrażaj serwer coqui-tts (model VCTK VITS, CPU-only) jako usługa ClusterIP na porcie 5002 z modelową pamięcią podręczną w /var/lib/coqui-ttts na k1m1 - Wstr...
Pre-ludne FROM na odpowiedź / do przodu i naprawić przesłanie odAddress
- DraftMessage teraz przenosi się zAddress, więc płynie z otwartegoNewMessage Po drodze do kompozytora - MessageBrowser przechowuje aktywną skrzynkę mailową e...
Wsparcie odAddress nadpisem w sprawie przesłania
Dodaje FromAddressRequest do EmailSendRequest, aby Frontend mógł określić Który alias/podzielony/poczta adres pocztowy do wysłania. SmtpOnlyProvider już teraz U...
Dodaj LAN DNS kapsułki do split-DNS na k1m1
Rozmieszcza dnsmasq pod z hostNetwork na k1m1, który słucha 192.168.4.22:53. Nadpisy pbx.k1.kluster.kamocrmm.com -> 192.168.4.22 Tak więc telefony LAN docierają...
Dodaj local_net dla poprawkę RTP klienta split-DNS / LAN
Telefony w tej samej sieci LAN co k1m1 łączą się za pomocą podzielonego DNS (domena rozwiązuje się do 192.168.4.22 wewnętrznie). Bez local_net, Asterisk nadal r...
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.
