Pokaż błąd działania, gdy uwierzytelnianie SIP nie powiodło się (brak zgody VoipCalling)
Uchwyt tokena walidacyjnego RC webhook; spraw, aby organ opcjonalnie w celu weryfikacji zażądać
Pokazuj tylko błąd połączenia po nieudanej próbie rejestracji; użyj nakładki, aby uniknąć zmiany układu
Wyraźnie naciąganie długich identyfikatorów w odpowiedziach SmsController
Podejście długoas-sstru do struny nie było Wchodząc w życie. Bezpośrednie wywołanie .toString() na wszystkich długich identyfikatorach Reakcje płaskiej mapy ste...
Dodaj ?JsonIgnore do VoipMessage.conversation, aby zapobiec leniwemu obciążeniu serializacją
Użyj konwersacji łańcuchowejId w całym narzędziu SMS, aby obsługiwać 64-bitowe identyfikatory
Backend teraz serializuje Długie jak łańcuch; aktualizuj wszystkie typy konwersacjiID Od numeru do ciągu do dopasowania. W włącz również przycisk wysyłania, gdy...
Serializuj długie identyfikatory jako ciągi, aby zapobiec precyzyjnej utracie JS
CockroachDB unique_rowid() generuje 64-bitowe liczby te większe niż Numer.MAX_SAFE_INTEGER (2-53-1). JS JSON.parse po cichu ich obcina, Powoduje rozmową niedopa...
Usunąć duplikat przycisku Wstecz z RingCentralConfig
Rodzic PhoneProviderSetup już renderuje IconButton z ArrowLeft W nagłówku widoku konfig, wykonując przycisk Wstecz wewnątrz RingCentralConfig Zduplikowany.
Powrót płaska mapa z wysłania punktu końcowego, aby zapobiec przejmowanie LazyInitializationException
VoipMessage.conversation is FetchType.LAZY; po zatipowaniu transakcyjnym, Jackson serializujący podmiot rzuciłby LazyInitializationException Wywoływanie 500, wi...
Z powrotem do org mainPhoneNumber, gdy członek nie ma konfiskata VOIP
Członkowie bez indywidualnego MemberVoipConfig (lub nie odPhoneNumber) Teraz użyj głównego numeru kempingowego org/mnó's mainPhoneNumber z VoipProviderConfig ja...
Usunąć getJwtKey() z WebhookController po migracji OAuth
Walidacja podpisu używała jwtKey jako tajemnice HMAC, która już nie istnieje na VoipProviderConfig. Pomiń walidację na razie zgodna z - "
Użyj zwykłych tagów img dla lokalnych logo dostawców SVG
Następny/obraz nie obsługuje niezawodnie lokalnych SVG bez nieoptymalizowanej flagi. Zwykłe megi ładują / aktywa publiczne bezpośrednio bez problemów.
Użyj poprawnej obudowy klucza sesji dla orgID i memberID
KSessionService przechowuje klucze jako orgID i memberID (kapitał D). Oba kontrolery dzwoniły .get("orgId") i .get("memberId") Które zawsze zwracają się null, p...
Zawsze wyświetlaj przyciski softphone i SMS w NavTop
Usunięto bramę isVoip, aby przyciski były zawsze widoczne niezależnie od tego, Wywiń flagę stan.
Użyj nazwy typu funkcji jako klucza przed funkcją numeric id w org preprocessing
Java zwraca funkcje z "typu: "VOIP" i numeryczny "id". W tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym, z w tym, że powt. w tym w, pow. w tym, z w tym, ż...
Dodaj voip.> do tematów strumieniowych NATS i obsłudze NielegalneWyjątekStateException w VoipStompRelaySAdministrator
Strumień NATS obejmował tylko czat.> subskrybowanie do voip.> rzucił IllegalStateException ([SUB-90007] Brak strumieni pasujących). Dodano voip.> Do badanych st...
Dodaj usługę zabezpieczenia. do K8s ConfigMap
KamoJwtService wymaga tej właściwości dla walidacji tokenów Bearer w DavAuthFilter, ale K8s ConfigMap nadpisuje aplikację.yml i był Brakuje go - powodując Crash...
Pokaż ustawienia systemu(-ów) telefonu bezwarunkowo tak, że orgs może skonfigurować VOIP przed jego włączeniem
- Usuń bramkę iPlotkę z sekcji telefonicznej na stronie /settings - Karta konfiguracji dostawcy nie ma warunku, więc zawsze się pojawia; Funkcjonarki i plany wy...
Osobą przed odpowiedziami API niearciekawy w użyciuTanie o znaczenia
SetBooks, fetchKontakty i searchSkontaktowania teraz bezpiecznie obsługują obiekty błędów A pagowane wojny w opakowaniach z wiosną zamiast rozbijać się o "em.ma...
Prawidłowa nazwa pola w findEventsNeedingSync kwerenda od 'integracji' do 'kontaktIntegration'
Stabilizuj obciążenie zwrotne i napraw reset mody w PersonalProviderSection
Usuń no-op PrePersist/PreUpdate z ContactIntegration; dodaj potwierdzenie testowe synchronizacjiStatus
Wejście do telefonu SmsBox teraz rozwiązuje i przechowuje identyfikator konwersacji
Wstrzykiw helpTips do SettingsWyświetl panel pomocy w PhoneProviderSetup
Spraw, aby NATS oczekiwaneStream konfigurowalny za pośrednictwem właściwości nats.jetstream.stream.name
Użyj zewnętrznego panelu UstawieniaView na stronie konfiguracji dostawcy poczty e-mail
Push-specyficzna pomoc dla HelpTipsOverrideContext, więc konfiskata Widok używa tego samego układu panelu Pomocy i Wskazów, co widok listy, zamiast tego O rende...
Znowu nazwij e-mail nav sub-item od General do Dostawcy Setup
Używa namespaced key Email - Provider Setup, aby uniknąć kolizji z Istniejące wejście do AI Provider Setup.
Usuń duplikat skanowania repo JPA — używaj tylko pakietu nadrzędnia
com.kamo.z.shared.email obejmuje metadata.repos, skanowanie obu jest spowodowane BeanDefinitionOverrideException na stronie messageLabelRepository.
Dodaj pakiety skanowania repozytorium com.kamo.z.shared.email do repozytorium JPA
Zwykłuj rozwijanie źródła, domyślnie użytkownika, użyj etykiety członków zespołu
- Domyślny zakres zmieniony z "firmy" na "user" - Zamówienie zrzutowe: Członkowie zespołu najpierw, Departament, następnie org - "Indywidualny Użytkownik" przem...
Usuń tekst zastępczy z podglądu, pozwól wysyłać bez tematu
- Pusty organ e-mail w podglądzie nie pokazuje już "Zacznij wpisać swój e-mail..." - Obiekt nie jest już wymagany do wysyłania — przycisk wysyłanie jest włączon...
Wypełniacza rozwijane szablony pozostają szerokością, inne elementy sterujące w prawo
Rozciągnięcie źródła szablonu ma teraz flex:1, aby wypełnić wszystkie pozostałe Przestrzeń kosmiczna. Edytuj/Przełączanie wglądu, zamocuj przycisk, Draft i Send...
Owiń ciało e-mail w szablonie HTML podczas wysyłania
Wysłany obsługuje wysyłanie treści edytora bez szablonu. Teraz owija ciało w pełnym układzie szablonu (far bg, margines, w pobliżu bg, Wyściółka, nagłówek, korp...
Usuń poziomy pasek przewijania i wydłuż podgląd do pełnej wysokości
- Użyj wyściółki na zewnętrznym div dalekobg zamiast marginesu na wewnętrznej stronie Widok w pobliżu bg, aby zapobiec szerokości: 100% + przepełnienie margin...
Repopuluj dane członka / zorg podczas przełączania zakresu źródła
Sync ref został ustawiony raz i nigdy nie zresetował, więc przełączanie zakresu w lewo Konfiskata nowego zakresu z pustymi polami treści (puste nazwy, e-mail, F...
Przenieś rozwijanie szablonu, przełączanie podglądu i podłącz do wiersza stopek
Przesuń zakres zakresu szablonu, przełącznik edytora / podglądu i załącznik Przycisk z rzędu podmiotu do dolnego paska stopki, wyrównany w lewo. Przyciski przec...
Odrzuć dane członka /org bezpośrednio zamiast przez haczyki
Usunięto użycieUserInfo, użyjSignatureData i useImageResolver hooks Który z nich miał niezależne cykle azync, powodujące warunki rasowe Tam, gdzie memberId/orgI...
Użyj przykładowych danych w podglądzie poczty e-mail, gdy dane członkowskie / aorg nie są załadowane
Podgląd polegał na renderowaniu pustych podpisów, ponieważ dane człono-org Z użytkowaniaSignatureData zwraca puste ciągi podczas ładowania (lub gdy CzłonekId/or...
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.