Dodaj wyświetlanie nazwy członka i przycisk nieprzypisu do karty rozszerzeń na instancji
Pokaż nazwy członków i dodaj kartę Unassign action to org-level extensions
Konfiguracja Wire VOIP do selekcjonerów dostawców + rozszerzania z egzekwowaniem przydziału
Dodawanie typowych DTO, nieprzypisanej metody API i aktualizuj typy MemberPermissionsTab VOIP
Dodaj punkt końcowy przydziału DELETE do VoipExtensionsStroller dla administratora nieprzypisu
Dodaj MemberVoipConfig Administrator dla członka VOIP config z rozszerzeniem
Dodaj findByAssignedMemberId metody zapytań do PhoneExtensionRepository
Ukryj kartę ATF całkowicie, gdy wszystkie pola są zablokowane przez model stosowany
Probacja głównego modelu końcowego punktu końcowego i zaprawa ZastosowanaModel org ID
- Zamień bramę opartą na zastosowaniuModel.source-based z bezpośrednią sondą /api/security/master-model na górze; r.ok-false (409) oznacza org Jest regulowa...
Opcje karty cenzury bramy według zastosowanych ograniczeń modelu
- Ukryj przycisk EDIT MASTER MODEL, gdy org jest regulowany przez rodzaj gałęzi (użyj stosowanegoModel.source zamiast niewiarygodnej gałęzi kontekstu org) - U...
Persist aktywne skrzynka pocztowa w paramach zapytań URL
Przełączanie skrzynek pocztowych teraz aktualizuje adres URL (?mailboxType, ?mailboxId, ?mailbox) Tak więc odświeżenie przeglądarki przywraca tę samą skrzynkę p...
Mark-as-czytaj i wiadomości dla skrzynek pocztowych udostępnionych / członkowników
Tryb klasyczny ładuje teraz udostępnione wiadomości skrzynek pocztowych za pomocą poprawnego /messages/Afolder końcowy (wywołany nieistniejące /konwersje Punkt ...
Znak jak odczyt dla skrzynek pocztowych współdzielonych i członowych
EmailController.setFlags akceptuje teraz opcjonalną skrzynkę pocztową Param i Trasy przez resolveProviderWithMailbox, więc flagi członkowskie-mailbox są ustawia...
Pokaż dokładny status połączenia dostawcy z pola isConnected
Zastępuje starą logikę, która pokazała "Connected" dla każdego dostawcy bez synchronizacji Błąd (w tym zupełnie nowe dostawcy, którzy nigdy nie zostali przetest...
Wynik testu połączenia Persist do pola jest połączone
- test() punkty końcowe oszczędzają i jestte na fałszywe do DB po każdym kontrolie stanu zdrowia - update() resetuje się i jest podłączony do zerowy, gdy konfig...
Dodaj pole i połączone do VoipProviderIntance
Nullable Boolean: null - nigdy nie przetestowany, prawdziwy - ostatni test zdał, fałszywy - nie powiodło się. Wymaga migracji schematu usługi KamoInitial do dod...
Użyj rozszerzeniaId jako identyfikator zewnętrzny, a nie węzeł przekaźnikowy id
FreePBX zwraca ten sam Relay (ZXh0ZW5zaW9uOg - "rozszerzenie:"). Każde rozszerzenie, ponieważ pole id nie jest zaludnione. Użycie go spowodowało wszystko Przedł...
Uchwyt IMAPInputStream w getMessage, aby zapobiec ClassCastException
JavaMail może zwrócić IMAPInputStream zamiast dekodowanych smyczowych z part.getContent() gdy treść wiadomości nie została wstępnie naciągnięta. Thezy, pocy i o...
Pokaż aktywną ofertę baner z odliczanie milsekundowe na żywo
Oświadcza aktywny serwer promocyjny na stronie głównej i renderuje HeroOfferBanner między podpozycją a free-forever callout. Baner pokazuje kwotę rabatu, czas t...
Przewód dostępny / Niedostępny przełącznik na backend i napraw błąd obecności OFFLINE
- Zmień nazwę układu napędowego/Active na dostępny/Niedostępne w NavTop - Poświęć początkową dostępność na górze i utrzymać przełączanie za pomocą nowego mnie /...
Zwiększ TTL z lat 90-tych do 300, aby zapobiec fałszywemu OFFLINE na krojeniu karty
Dodaj jestDostępny do odpowiedzi na przydział i punkty końcowe mnie/dostępności
Przepisz wszystkie zapytania / dojazdy GQL przeciwko introspekcji schematu na żywo
Zweryfikować każdą nazwę pola i typ pod względem rzeczywistego schematu FreePBX 17. Pełny zestaw poprawek: Zapytania: - fetchAllExtensions: usunąć nieistniejąc...
Przekaż wybraneFolder do ThreadDetailView, więc e-mail:folder-changed fires z prawidłowym folderem
Rozmowa.folder jest zawsze niezdefiniowany, ponieważ Java ConversationEntity Nie ma pole ciągów folderId (tekst[]) nie jest to pole ciągnące folderów. Spowodowa...
Poprawna nazwa pola GraphQL do fetchAsteriskOkaz
FreePBX API zwraca "Czy chodziło ci o fetchAsteriskDetails?" - zmienić nazwę na zdrowie Zapytanie i odpowiednia akcetor jego ścieżki danych.
Dodaj nagłówki XHR / Accept i analizowanie reakcji na String do klienta GraphQL
Ten sam wzór, co FreePBXTokenCache: dodaj X-Requested- + Accept: application/json Aby stłumić odpowiedzi przekierowania HTML FreePBX i zmienić wszystkie trzy st...
Zsynchronizuj skrzynkę pocztową do podstawowej skrzynki pocztowej na ładunku
Dropdown domyślnie domyślnie elementu pierwszej listy, ponieważ zaznaczoneMailbox zainicjowane Bez skrzynki pocztowejId, powodując, że pkt. pkt. pkt., które prą...
Podniesienie limitu rozmiaru przesłania plików do 500 MB
Domyślne domyślne nakrętki na wielu części na 1MB, powodując obraz tła uploads do niepowodzenia z 500 w request.getParts(). Match SecurityService's Istniejące l...
Błędy HTTP powierzchniowe, więc awarie przesyłania są widoczne
Zastąpiony cichy console.warn z rzuconym błędem na statusie niebędącym OK, Tak więc użytkownik widzi faktyczną przyczynę awarii (status + body response) Zamiast...
Dodaj nagłówki Accept + XHR i analizowanie odpowiedzi surowych dla punktu końcowego tokena
FreePBX zwracał tekst/html, gdy był nazywany za pomocą klastra DNS, ponieważ Nagłówek hosta nie pasował do skonfigurowanego PBX_HOSTNAME. Dodawanie Akceptuj: ap...
Prowadź zminimalizowane wejście do taśmy poprzez sterowanie animacją
Przełącze animowane... na animate-tabControls złamało wpis Animacja: tabControls nie ma żadnego celowania na górze, więc przycisk pozostał W jego początkowej po...
Prawidłowe ciągi lune OAuth2 dla FreePBX API
Zakresy FreePBX to identyfikatory najwyższego poziomu: 'gql' (wszystkie GraphQL) i "Odpoczynek" (wszystkie REST). Format 'gql:czytaj' oznacza GQL dla modułu Naz...
Przechowyna odznaka na żywo + odbicie na nowej wiadomości agenta
- Utrzymuje LiveSupportPanel zamontowany poza ekranem, gdy widżet jest zminimalizowany (tylko wtedy, gdy istnieje sesja wsparcia), więc subskrypcja STOMP pozo...
Port wystawowy 8088 bezpośrednio w usłudze ClusterIP
Usługa miała tylko mapowanie portów 80-8088. Usługi wewnętrzne z wykorzystaniem (np. Krył API VOIPService Żądania) były wygaśnięciem czasu, ponieważ port 8088 n...
Zaufanie w toku na tonieCoń, drop client offsets
Backend onending onendingCo to jest teraz nieprzeczytane (liczby SUPPORT_TICKET Sesje Z wiadomościami nowszymi niż ostatni widok właściciela). Kiedy agent się o...
Transmisja oczekująca na liczenie + nieprzeczytana na agenta czytaj i wysyłanie gości
- teraz delegaci do - tak więc hliba Odzwierciedla sesje z nieprzeczytanymi wiadomościami odwiedzających i przykrewami, gdy Agent wywołuje MarkACzytaj. - ...
Liczba niereadów + pomocnik lookup przezsesyjne
Dodaje - tak na płytka navtop Odznaka SupportButton może liczyć bilety wsparcia, które faktycznie potrzebują Uwaga (mieć nieczytane wiadomości odwiedzające) zam...
Dodaj brak fail2ban-config ConfigMap dla k1m1
Odniesienia do wdrożeń fail2ban-config ConfigMap (jail.local + Asterisk-security.conf) ale nie istniał, blokując kapsułę na MountVolume.Setup i zapobiegając roz...
Odbuduj, aby wyciągnąć najnowsze kamo-wspólne biblioteki
Odbiera nowe zapytania i Oddział WSPARCYJNEJ_TICKET w .
MarkAsCzytaj po agentie wysyła tak ostatnie Wyświetlone zaliczki
W przypadku biletów wsparcia zarówno wiadomości odwiedzającego, jak i agenta są przechowywane pod Tego samego systemMemeniura, więc zapytanie o nieprzeczytane j...
Bilety wsparcia wymagają nieczytanych liczby członków agnostycznych
Wiadomości zwiedzających na biletach wsparcia są przechowywane w tym samym systemieMemberat Aby agent uwierzytelnił, tak jak istniejąca sesja CHAT-sesja nieczyt...
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.
