Zatrzymaj koperty twierdzące, że odpowiedź zgody nikt o nie prosił
remoteImagesAllowed był prymitywnym booleanem i tylko trzema punktami końcowymi, które Przyślij całą wiadomość, jaką kiedykolwiek przypiszej. Lista folderów nie...
Spraw, aby przypomnienia o zdarzeniu z wydarzeniami faktycznie powiadomił kogoś
Trzy wady, jeden objaw. Członkowie zgłosili, że powiadomienia kalendarza nie Praca i wszystkie trzy powody były po tej stronie. Przypomnienia nigdy nie zostały...
Nagraj wszystkie trzy flagi IMAP i powiedz, dlaczego indeks nie może jeszcze podać listy
Migracja już działa, więc is_answered istnieje, a SearchIndexService pisze teraz Jest obok is_read i is_starred. Indeks zanotował dwa z trzech Flagi dla całego ...
Nie czytaj ani nie zapisu jest na odpowiedzi przed jej istnieniem kolumny
Podąża za zmianą biblioteki współdzielącej rozmycia pola. Nic w rozlokowanych Ścieżka dotyka teraz kolumny, której KamoInitializer jeszcze nie stworzył. Notowa...
Przestań wyciekać połączenie IMAP IDLE na każdym ponownym połączeniu przeglądarki
Przerwanie wątku IDLE nie może zakończyć IDLE: jest zaparkowany w bloku Gniazdo odczytać, które widzi flagę tylko wtedy, gdy odczyt wraca na własną rękę, aż do ...
Połowa źródła 1b3553f, które popełniło tylko testy
1b3553f wystawił dwa nowe pliki testowe i nic więcej, więc wylądował, twierdząc, że FolderManager.setFlags, który jeszcze nie istniał i nie może skompilować na ...
Zatrzymaj nienazwany flagę IMAP przed nadpisaniem
Flagi IMAP są niezależne, więc "znacz to czytane" nie powinno nic powiedzieć o gwieździe. EmailImapService.setFlags zawsze robił znieważalne Booleans i pominął ...
Zatrzymaj wysyłanie wspólnego poświadczenia jako domyślnego zobowiązania konfiskatowego
Podzielone hasło platformy zostało upieczone jako upadek dla DB_PASSWORD i MINIO_ROOT_PASSWORD, więc żył w tym repo i na zbudowanym obrazie, jak również W groma...
Weź dzwonięcą z sesji, a nie z łańcucha zapytań
GET /api/calendar/kalendary wziął userId jako parametr żądania, więc zmiana liczba w adresie URL odczytuje czyjeś kalendarze – i ponieważ przenoszone kalendarze...
Utwórz MKCOL książkę, która może być przechowywana
mkCol zbudował ContactBook nie posiadająca ani organizacji, ani właściciela I zwrócił 201 niezależnie od tego, więc utworzenie książki adresowej z CardDAV Klien...
SQL tylko cockachDB, który PostgreSQL odrzuca
CockarachDB zapisuje typ tekstowy STRING; PostgreSQL i YugabyteDB używają TEXT. 25 odlewów w natywnych zapytaniach nadal emitował CAST (x AS STRING) i ::STRING,...
Scope adres książek do członka, który je posiada
Kontakty były identyfikowane wyłącznie przez organizację. ListBooks(orgId) ZnajdźByOrganizationId (orgId) i otwarte zapytanie o listę kontaktów WHERE c.contactB...
Publikuj ids w rzędach jako strunach — nowa książka 404'd w momencie jej wybrania
CockroachDB unique_rowid() produkuje 64-bitowe id. Prawdziwy z listy Contact_books jest 1200081912680906758; JavaScript JSON.parse zaokrągla wszystko przez Numb...
Nagrywaj rozmiary wiadomości zamiast pisania zero
SearchIndexService napisał rozmiarBytes 0 za każdą wiadomość, którą kiedykolwiek zindeksował, W komentarzu "Niedostępne z koperty". Był dostępny - abracja Profi...
Przywróć pliki 2b23346 upuszczonych i odbierz ponadwymiarowy send z 413
2b23346 został popełniony przez prywatny indeks, który nigdy nie został zsadzony z HEAD, Tak więc jego drzewo trzymało tylko trzy pliki zainscenizowane, a commi...
Przestań zamykać każde wysłanie na 1MB, aby wklejony obraz mógł faktycznie wyjść
Komponowanie z wklejonym obrazem nie powiodło się z nagim "Niezwłocznie wysyłanie e-maili". W tym, że w tym w, w tym, w tym, w tym, że w tym w, pow. w tym w, po...
Stop Hibernate mangling "::" casts in the native SQL
Pochodzący parser Hibernate traktuje ":" jak zbiegła okrężnica i do przodu a Pojedyncze ":". CockroachDB ARRAY[]:text[]), '') I odrzucił go z: w lub w pobli...
Kontynuujcie ponowne próbowanie trwałego konsumenta NATS indeksera po wdrożeniu
Toczące się rozmieszczenie nakłada się na strąki, a wychodzący nadal utrzymuje trwałe Konsument, więc wiążąca kapsuła przychodząca z "email-metadata-indexer" ni...
Dostosuj indeksery metadanych do kolumn typowych tablic
Podąża za zmianą biblioteki kamo, która mapuje konwersacje/search_index Kolumny tablicowe jako String[]/UUID[] zamiast List-T>, co zostało zatrzymane Każda z in...
Zgabij indeks folderu zbiorczego i zatrzymaj go na awarię strukturalną
Niepopełniona praca z równoczesnej sesji, zamiatana, aby drzewo było czyste. Indeks masowy przeszedł strony z totalPages ustawionych na Integer.MAX_VUE i nie S...
Nigdy nie dopasowuj czołówki do własnych adresów firmy
Prowadzący, którego e-mail został ustawiony na noreply-kamorm.com, pasował do każdej wiadomości, która Adres kiedykolwiek wysłany - jeden rekord ołowiu wynurzył...
Stronę przechoweka do przeczesania, aż okno jest zakryte
Pojedyncza stała strona po cichu zagubiona pocztę za każdym razem, gdy skrzynka pocztowa zabrała więcej niż więcej niż pageSize wiadomości między kleszczami — w...
Odpowiedzi adresowe w ReplyTo i przestańcie wyciekać wyjątki od UI
Szybka odpowiedź na powiadomienie KamoCRM nie powiodła się z "erroor":"Nieprawidłowe adresy" Ustalono dosłowny w polu odpowiedzi. Ta część jest własnym brzmieni...
Przestań klasyfikować korzeń korze wielosrzędowego / powiązanego z korzeń HTML jako załącznika
Każdy transakcyjny e-mail, który wysyłamy z napomkowanym logo org, pojawił się we własnym zakresie Przegląda widza z poprawnym tematem i całkowicie pustym ciałe...
Skanowanie wspólnych repozytoriów MFA
MfaEnrollmentService jest usługą w kamo-shared-libiry, więc dzika karta W tej aplikacji konkurentScan(”com.kamo) w tej aplikacji konstruuje, czy to nie Usługa m...
Połącz zduplikowany klucz kamo, który rozbił EmailService
Nowa kapsuła EmailService jest w CrashLoopBackOff od 16e8a05 — 22 restarty, Nigdy nie zaczynał. snakeyaml podnosi DuplicateKeyException na powtarzającym się naj...
Harden the kubectl download przeciwko łuszczącej się egresji [skip ci]
dl.k8s.io nad wydziskiem biegacza przerywa w połowie transferu: Zwijanie: (56) OpenSSL SSL_read: odszyfrowanie nieudane lub złe rekordowe mac Co zawodzi wdroż...
Add Brakujące CampaignController Punkty końcowe REST dla /api/email/campaigns
Przestrzeń pracy/redator masowych połączeń telefonicznych dzwoni do GET/POST / api/email/campaigns itp., Ale tylko CampaignService (Service) nigdy nie została s...
Usuń niejednoznaczne żądanie rezygnacji z subskrypcji Matcher, który rozbił startup
EmailService mounts dwa serlety (MVC DispatcherServlet + Spring-WS MessageDispatcherServlet at /services/'), więc goły prośba o stringMatchers( "/api/email/unsu...
Przestań serializować obliczany xoauth2 getter, który zepsuł MailCredentials Red cache
MailCredentials jest buczakowany w Redis (GenericJackson2Json). Dodano „isXoauth2()" Boolean getter został serializowany jako właściwość "xoauth2", ale nie ma p...
Scope KamoMail skrzynka poczta/domena do domen własnych domen (przeciek między najemcą)
Bezpieczeństwo: Uruchamiono 'SELECT e-mail Z virtual_users' (i "SELECT name FROM Virtual_domains") bez lub g scopingu, więc skrzynka pocztowa / synonim domeny z...
Persist wybrał dostawcę OAuth na oddzwonieniu, więc przestaje powracać do KamoMail
Przełączenie orgi na Microsoft 365 (lub Google Workspace / Zoho) nigdy nie utknęło: tokeny odtwarzania OAuth i tylko przewracał status w istniejącym wierszu dos...
Rozwiązuj logo powitalny z hosta motywu org, a nie apex
Logo nagłówka/stopy w wiadomościach e-mail systemowych (witalizacja/weryfikacja) zostały zbudowane jako — ścieżka apex, która istnieje tylko na Kamo Strona mark...
Nieustanna tajemnica wewnętrzna-autowa (czasowa lubra)
Zamień String.Equals na MessageDgest.is Równe opóźnienie reakcji nie może X-Internal-Auth dzielił się tajnym byte-by-by-batetem. Ogólnoflota zamiatania Wewnętrz...
Zwrot 422 (nie 500), gdy członek nie ma skrzynki pocztowej
ListFolders i inne odczytywane punkty końcowe wyrzuciły NielegalneStateException MailContext.toMailCredentials() gdy członek nie miał poświadczeń IMAP Zaopatrzo...
Nie zapisuj transakcji NoReply wysyła do folderu Wysłanie
NoReply to adres wysyłany bez skrzynki pocztowej, ale każdy transakcyjny Wyślij nadal próbę dodaniacza IMAP do folderu Wysłanie, tworząc hałaśliwe Ostrzeżenie A...
Lista skrzynek pocztowych API zwraca UI w kształcie litery
GET /api/email/maile zwrócił surowy podmiot (dodatkowyStatus, lastSyncedAt, Nie ma liczenia członków). Ustawienia UI czytają : ;) Status był zawsze nieokreślony...
Autoryzuj dostęp do skrzynek pocztowych opartych na przywilejach do odczytu + send-as
rozwiązanieForMailbox, którym przyznano dostęp tylko za pośrednictwem bezpośredniego przydziału MemberMailbox, Tak więc skrzynki pocztowe wynurzyły się przez ;)...
Zachowaj oryginalną nazwę pliku i zawartość typu na file download
Punkty końcowe (zarówno osobiste) I kontrolery współsprawców poczty) emitowały Content-Disposition: załącznik bez parametru nazwy pliku i Content-Type: applicat...
Synchronizuj members.email, gdy przypisane, zmiana lub usunięta podstawowa skrzynka pocztowa
Gdy skrzynka pocztowa została przydzielona do członka w KAMO_MAIL org, members.email Nigdy nie został zaktualizowany, co spowodowało, że EmailCredentialService ...
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...
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...
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...
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...
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...
Napraw parsowanie załączników i ma fałszywe dodatnieAttachment
Trzy poprawki do EmailImapService: 1. toEnvelope: wąska kontrola wieloczęściowa do wielu / mieszanego tylko - zwykły Wiadomości tekstowe HTML+ (multiparta/a...
Dodaj com.kamo.z.shared.commerce do skanowania EnableJpaRepositories
/ (wymagane przez ;) W bibliotece wspólnej) mieszka pod com.kamo.z.shared.commerce, ale nie Zamieszczony w skan repozytorium JPA, powodując CrashLoopBackOff na ...
Poprawa nazwa pola i wpis w odpowiedzi na getFromAddresses
Backend wysyłał klucz "e-mail", ale frontend spodziewał się "adresu" i Wysłany typ 'shared_mailbox', gdy frontend spodziewał się 'wspólny'. Również poprawki Fla...
Wracaj do org_domains, gdy nie domyślnie domyślnie email_provider_domains
KamoMailDomainValidator był trudny do upadku z 403 orgs, które mają Domeny zweryfikowanej DNS w org_domains, ale nigdy nie dodała jej do wiadomości e-mail Rejes...
Rewrót odpowiedźDomy zmiana — smtpService.send przyjmuje załączniki, a nie odpowiadaNa
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.