Înregistrați toate cele trei steaguri IMAP, și spuneți de ce indexul nu poate servi încă o listă
Migrația a fugit, așa că este raspuns există și SearchIndexService scrie acum Acesta este alături de citire și este stered. Indexul a înregistrat două dintre ce...
Nu citi sau scrie is raspunsul înainte de a exista coloana sa
Urmează schimbarea comună-bibliotecă demontând câmpul. Nimic în desfăşurare calea atinge acum o coloană pe care KamoInitializer nu a creat-o încă. Lista index-...
Nu mai scurgeri o conexiune IMAP IDLE pe fiecare conexiune browser
Întreruperea firului IDLE nu poate pune capăt unui IDLE: este parcat într-un blocaj priza citită care vede steagul doar o dată citit se întoarce pe cont propriu...
Jumătatea sursă de 1b3553f, care și-a efectuat doar testele
1b3553f a pus în scenă cele două noi fişiere de testare şi nimic altceva, aşa că a aterizat susţinând o nulable FolderManager.set Steaguri care nu existau încă ...
Opriți un steag IMAP nedenumit să fie suprascris
Steagurile IMAP sunt independente, așa că "marcați această citire" nu trebuie să spună nimic despre stea. EmailImapService.setFlags a luat întotdeauna Booleans ...
Opriți transportul unui credibil comun ca un implicit de configurare
Parola comună a platformei a fost coaptă ca rezervă pentru DB PASSWORD și MINIO ROOT PASSWORD, așa că a trăit în acest repo și în imaginea construită, precum și...
Ia apelantul din sesiune, nu din șir de interogare
GET /api/calendar/calendar luat userId ca parametru de cerere, astfel în schimbare un număr din URL a citit calendarele oricui și pentru că calendarele efectuat...
Face MKCOL crea o carte care poate fi de fapt stocate
mkCol a construit o carte de contact care nu transportă nici o organizație, nici un proprietar și returnat 201 indiferent, astfel încât crearea unei cărți de ad...
CockroachDB-doar SQL care PostgreSQL respinge
CockroachDB scrie tipul de text STRING; PostgreSQL și YugabyteDB folosesc TEXT. 25 de mulaje de-a lungul interogărilor native încă emiteau CAST (x AS STRING) și...
Cărți de adrese de domeniu pentru membrul care le deține
Doar organizaţia a luat contact cu ei. listBooks (orgId) was gindByOrganizationId (orgId), iar interogarea listei de contacte a fost deschisa UNDE c.contactBook...
Publish rand ID-uri ca siruri de caractere
CockroachDB unic rowid () produce id-uri de 64 de biți. Unul real de la contact books este 1200081912680906758; JavaScript's JSON.parse rotunji orice trecut Num...
Înregistrează dimensiunile mesajelor în loc să scrii zero
SearchIndexService write sizeBytes = 0 pentru fiecare mesaj pe care l-a indexat vreodată, sub comentariul "Nu este disponibil din plic." Acesta a fost disponibi...
Restaurare fișierele 2b23346 scăzut, și răspundeți la un trimite supradimensionate cu 413
2b23346 a fost angajat printr-un indice privat care nu a fost niciodată însămânțat din CAP, astfel copacul său a ținut doar cele trei fișiere înscenate în ea și...
Nu mai acapara fiecare trimitere la 1MB, astfel încât o imagine lipită poate ieși de fapt
Compozitia cu o imagine lipita a esuat cu un "A esuat sa trimita email." ă compozitor inlines pasta în corpul HTML ca o bază64 date URI, care plimbari în partea...
Opriți Hibernate manjirea "::" aruncă în SQL nativ
Hibernate Nativ-query parser tratează ":" ca un colon scăpat și înainte a "" CockroachDB primit ***************************************************************...
Continuă să încerci din nou consumatorul NATS durabil al indexorului după o implementare
O desfăşurare de rulare se suprapune păstăi şi cel de ieşire încă mai deţine durabil consumator, astfel încât legătura pod de intrare la "email-metadate-indexer...
Adaptați indexatorii metadatelor la coloane tip matrice
Urmează schimbarea kamo-shared-library care hărți conversații/search index coloane array ca String[]/UUID[] mai degrabă decât List<T>, care este ceea ce sa opri...
Legat indexul de dosar în vrac și opriți-l pe eșec structural
Lucru neangajat de la o sesiune concomitentă, măturat în astfel încât copacul este curat. Indexul în vrac a mers pagini cu total Pages setat la Integer. MAX VA...
Nu se potrivesc cu o pistă împotriva propriilor adrese ale companiei
O pistă a cărei e-mail a fost setat la noreply@kamotrm.com potrivit fiecare mesaj că adresa a trimis vreodată flux de e-mail (126 de asociații din 6 conduce în...
Page matura plumb până când fereastra este acoperit
O singură pagină fixă a pierdut în tăcere e-mail ori de câte ori o cutie poștală a luat mai mult decât PaginăSize message between ticles doar prima matura a un...
Răspunsurile la adresa de răspuns-To, și opri scurgerile de excepții SMTP la UI
Un răspuns rapid la o notificare KamoCRM a eșuat cu "error" "Addresses Invalid"} transformat verbatim în caseta de răspuns. Acest șir este propria formulare Jak...
Opriți clasificarea ca atașament a unei rădăcini HTML multipart/asociate
Fiecare e-mail tranzacţional pe care îl trimitem cu un logo org aliniat a sosit în propria noastră /mesaj vizual cu un subiect corect și un corp complet gol. i...
Scanează depozitele comune MAE
MfaEnrollmentService is a @Service in kamo-shared-library, so the wildcard @ComponentScan("com.kamo") în această aplicație construiește sau nu aceasta service a...
Combină cheia kamo duplicat care s-a prăbuşit prin e-mailService
Noul EmailService pod a fost în CrashLoopBackOff de la 16e8a05 22 reporniri, N-am început niciodată. snakeyaml ridică Duplicate KeyException la un nivel superio...
Harden download kubectl împotriva egress fulg [skip ci]
dL.k8s.io peste ieşirea alergătorului scade intermitent la mijlocul transferului: curl: (56) OpenSSL SSL read: decriptare eșuată sau înregistrare proastă mac ca...
Adăugați criteriile finale de evaluare a Campaniei de Control al REST lipsă pentru /api/email/campanii
Spațiu de lucru vrac-email/editor apel GET/POST /api/email/campaigne etc., dar numai CampaignService (The @Service) a fost creata vreodata. Deci fiecare apel 40...
Elimină cererea ambiguă de dezabonareMatcher care s-a prăbușit
EmailService mounts two servlets (MVC DispatcherServlet + Spring-WS MesajDispatcherServlet la /servicii/*), astfel încât o cerere de siruri de caractere goaleMa...
Nu mai serializa sistemul xoauth2 care a spart MailCredentials Redis cache
MailCredentials este cached in Redis (GenericJackson2Json). Adăugat Boolean Geter a fost serializat ca o proprietate "xoauth2," dar nu are nici un câmp de citi...
Domeniul de aplicare KamoMail mailbox / domeniul de listare la domeniile proprii ale org (scurgere încrucişat-tenant)
SECURITATE: ****************************************************************************************************************************************************...
Persist selectat furnizor OAuth la apel înapoi astfel încât să se oprească revenirea la KamoMail
Comutarea unei org pe Microsoft 365 (sau Google Workspace / Zoho) nu s-a blocat niciodată: jetoanele de apel stocate OAuth și numai statutul răsturnat pe un rân...
Rezolva logo-ul de bun venit-email de la gazda temă org, nu apex
Logo-uri antet/de jos în e-mailuri de sistem (bun venit/verificare) au fost construite ca **********************************************************************...
Comparație secretă în timp intern-aut constant (oracle Timing)
Înlocuiți String.equals cu MesajDigest.isEqual astfel încât latența de răspuns nu poate Scurgeri X-Normal-Auth comun secret byte-byte-byte. Maturarea în întreag...
Returnare 422 (nu 500) atunci când membrul nu are cutie poștală
dosare listă și alte criterii de evaluare citită aruncat stat ilegal Excepție de la MailContext.to MailCredentials() atunci când un membru nu a avut acreditări ...
Nu salva tranzacțiile NoReply trimite într-un dosar trimis
NoReply este o adresă numai-trimite fără căsuță poștală, dar fiecare tranzacție trimite încă încercat un apendice IMAP la dosarul trimis, producând o gălăgie Av...
Lista de căsuţe poştale API se întoarce în formă de UI ***********
GET /api/email/boxes returnat entitatea brută (prestatorStatus, lastSyncedAt, fără număr de membri). Setările UI citesc ******************* deci statutul a fost...
Autorizați accesul cutie poștală pe bază de privilegiu pentru citire + trimitere
remitForMailbox a acordat acces doar printr-o misiune directă MemberMailbox, Aşa că cutiile poştale au ieşit la suprafaţă. drepturi aruncat NoSuchElementExcepti...
Păstrați numele original și tipul de conținut la descărcarea atașamentului
Criteriile de evaluare (ambele personale) și controlorii de căsuță poștală comună) emiteau conținut-Dispoziție: atașament fără parametru de nume de fișier și ti...
Sincronizează membrii.email atunci când căsuţa poştală primară este atribuită, modificată sau eliminată
Atunci când o cutie poștală a fost atribuită unui membru într-un org KAMO MAIL, membrii.email nu a fost niciodată actualizat, provocând EmailCredentialService s...
Mark-as-read for shared and member mailboxes
EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...
Handle IMAPInputStream in getMessage pentru a preveni ClassCastException
JavaMail poate returna un IMAPInputStream în loc de un string decodat de la part.getContent() atunci când conținutul mesajului nu a fost pre-inventat. ă mulaje ...
Utilizați getAstachments () pentru a se potrivi cu tipul de ambalaj boolean
***************** este un ambalaj Boolean, deci Lombok generează getHasAttachments() not isHasAttachments(). Doar acesta din urmă există pentru boolean primitiv...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
Suport de la @ info: whatsthis
Adaugă FromAddressRequest to EmailSendRequest so the frontend can specification din care se poate trimite adresa de e-mail/împărtășit/cutie. SmtpOnlyProvider ac...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
Numele și tipul de câmp corecte în răspuns de la Adders
Platforma trimitea cheia 'e-mail' dar frontend se aştepta la 'adresă' şi a trimis tip "împărtășit mailbox" atunci când frontend se aștepta la "împărțit." De ase...
Retrageți-vă la org domenii atunci când niciun set implicit de e-mail prestator domenii
KamoMailDomainValidator a fost greu-failing cu 403 pentru orgi care au un DNS-verificat domeniu în org domenii dar niciodată adăugat la e-mail registrul de dome...
Filtru de stare sârmă și șabloane auto-semințe necesare pe listă
- EmailTemplateController.list() acceptă acum ?status= param și filtre folosind interogarea depozitului existent ByOrgIdAndStatus - Seminte auto necesare modele...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.