Gestire la lista degli ospiti di un evento
La finestra di dialogo potrebbe mostrare chi era già su un evento ma mai aggiungere o rimuovere chiunque; l'unica operazione ospite è stata rinotificare le pers...
Lasciate che i conflitti escludano l'evento che viene modificato
ConflictDetectionService ha sempre preso un escludereEventId; questo endpoint passato nullo. Senza di esso un evento si sovrappone, quindi il momento dell'event...
Sincronizzare il calendario dell'organizzazione ai telefoni, senza aprire un buco
Il calendario condiviso non ha alcun proprietario, quindi l'elenco DAV schedato potrebbe mai restituirlo: gli eventi aziendali erano chiaramente sul web e invis...
Prendere il chiamante dalla sessione, non dalla stringa di query
GET /api/calendar/calendars ha preso userId come parametro di richiesta, quindi cambiando un numero nell'URL legge i calendari di chiunque — e perché i calendar...
Rendere MKCOL creare un libro che può effettivamente essere memorizzato
mkCol ha costruito un ContactBook che non porta né un'organizzazione né un proprietario e restituito 201 indipendentemente, in modo da creare una rubrica da un ...
CockroachDB-solo SQL che PostgreSQL rifiuta
CockroachDB scrive il tipo di testo STRING; PostgreSQL e YugabyteDB usano TEXT. 25 getti attraverso query native stavano ancora emettendo CAST (x AS STRING) e :...
Libri di indirizzo Scope al membro che li possiede
I contatti sono stati oggetto di una sola organizzazione. listBooks(orgId) was findByOrganizationId(orgId), e la query della lista di contatto aperta DOVE c.con...
Ricostruisci contro la correzione condivisa @Lob LONGVARCHAR
Il dialetto PostgreSQL di Hibernate legge le colonne di stringa @Lob come OID via getLong(). Affetti note, contatti, calendario, OAuth tokens, password IMAP, ca...
Punta a YugabyteDB e usa PostgreSQLDialect
CockroachDB è stato sostituito da YugabyteDB. Le stringhe di connessione si muovono da scarroachdb-public:26257 a yb-tserver-service:5433, e il dialetto Hiberna...
Pubblica ids riga come stringhe — un nuovo libro 404'd il momento in cui l'hai selezionato
CockroachDB Unique rowid() produce id a 64 bit. Un vero da contact books è 1200081912680906758; JSON.parse di JavaScript gira qualcosa oltre Numero. MAX SAFE IN...
Persistere e servire l'intero contatto, non solo il suo nome
Lo strato REST ha serializzato direttamente le entità JPA. Un contatto non ha mappatura a le sue email, telefoni, indirizzi, organizzazioni, URL, IM o relazioni...
Misurare le caselle di posta KamoMail di ogni org
Cammina ogni mailbox Kamo ospita e registra, al giorno di arrivo, la RFC822 lo byte tiene — intestazioni, corpo e allegati codificati, in ogni cartella compreso...
Registra le dimensioni dei messaggi invece di scrivere zero
SearchIndexService ha scritto dimensioneBytes = 0 per ogni messaggio che ha mai indicizzato, sotto il commento "Non disponibile da busta". Era disponibile — il ...
Ripristina la costruzione di librerie condivise, che il uplink LAN continua a corrompere
Tre edifici sono morti oggi su "Tag mismatch" tirando un vaso — e lo specchio aggiunto un'ora fa non ha fatto aiuto, perché kbservice, mcpgatewayservice e ragse...
Mirror Maven Central tramite la copia GCS di Google
Ogni stadio di Docker parte da un freddo ~/.m2 e refetches l'intero albero di dipendenza, quindi Central vede il peso pieno di ogni servizio concomitante costru...
Lasciare /sendable lasciare il gruppo alias per i chiamanti che aprire caselle di posta
L'interruttore /messages mailbox offre lo stesso set del compositore From campo, meno una cosa: un alias non può essere aperto. Mail indirizzata ad esso atterra...
Variabili di anteprima per i modelli di e-signature
L'editor del modello di amministratore rende ogni segnaposto vuoto per una chiave con nessun campioneVariables braccio, così i sette modelli di esign previsti c...
Ricercabile, endpoint a pagina per gli indirizzi che un membro può inviare da
GET /api/email/mailboxs/sendable risponde alla stessa domanda di /accessibile — ogni indirizzo il membro può inviare come — ma come un flusso fuso che è ha cerc...
Nomina una casella di posta primaria dopo il membro che lo detiene
Una cassetta postale che qualcuno tiene come primarie è l'indirizzo di quella persona, quindi presentarlo sotto qualunque sia la casella di posta è stata etiche...
Agisci su un'intera cartella, non solo la pagina che hai pergamenato
Segnare tutte le cartelle di lettura e svuotamento sono le operazioni a livello di cartella il client non può esprimere da uids batching: contiene solo la pagin...
Ripristinare i file 2b23346 caduto, e rispondere a un'invio oversize con 413
2b23346 è stato commesso attraverso un indice privato che non è mai stato seminato da HEAD, così il suo albero ha tenuto solo i tre file in scena in esso e il c...
Smettere di tappare ogni invio a 1MB, quindi un'immagine incollata può effettivamente uscire
Comporre con un'immagine incollata non è riuscito con un nudo "Failed to send email". The compositore inlinea la pasta nel corpo HTML come URI dati base64, che ...
Pubblica gli eventi di mailbox-change in modo che le opinioni della posta smettano di inquinare
L'albero della cartella, la lista di conversazione e la lista dei messaggi hanno eseguito il proprio 30-secondo timer, ricaricando la possibilità che qualcosa s...
Push INBOX unread counts over NATS/WebSocket instead of polling
The nav-top mail badge in kamo-internal refreshed itself by calling /api/email/folders every 30 seconds, per browser tab. That endpoint walks the entire folder ...
Stop Hibernate mangling the ":" casts nel nativo SQL
Il parser nativo di Hibernate tratta "::" come colon evaso e inoltra un singolo ":". CockroachDB ricevuto *****************************************************...
Continuare a riprovare il consumatore NATS durevole dell'indicizzatore dopo una distribuzione
Un rotolamento distribuisce pod sovrapposti e quello in uscita mantiene ancora il durevole consumatore, così il pod in arrivo lega a "email-metadata-indexer" fa...
Adapt gli indicizzatori dei metadati alle colonne di tipo array
Segui il cambiamento di libreria kamo-shared che mappa conversazioni/search index colonne di array come String[]/UUUID[] piuttosto che List ogni messaggio indic...
Cuocere l'indice della cartella di massa e fermarlo su guasto strutturale
Lavoro non accettato da una sessione concomitante, spazzato in modo che l'albero è pulito. L'indice di massa ha camminato pagine con il totalePages impostato a...
Risolvere le persone dietro gli indirizzi su un messaggio
Un intestazione del messaggio conosce un indirizzo e qualsiasi nome del display il mittente ha scelto di accanto. L'organizzazione sa già molto di più — collegh...
Non corrispondere mai ad una pista contro gli indirizzi dell'azienda
Una guida la cui e-mail è stata impostata a noreply@kamocrm.com ha abbinato ogni messaggio che l'indirizzo aveva mai inviato — un record di piombo ha superato l...
Page the lead spazza fino a quando la finestra è coperta
Una singola pagina fissa silenziosamente persa posta quando una casella di posta ha preso più di pageSize messaggi tra zecche — un'esplosione di newsletter, una...
Corrispondenza di piombo associato e fissare l'indice di spinta morto
Aggiunge la metà posta del piombo Comunicazione scheda, più l'ingestione di cui aveva bisogno esistere affatto. La piattaforma non ha nessuna spinta di posta d...
Risponde l'indirizzo a Reply-To, e smettere di perdere le eccezioni SMTP all'interfaccia utente
Una risposta rapida a una notifica KamoCRM non è riuscita con `{"error":"Indirizzi non validi"} reso verbatim nella casella di risposta. Quella stringa è la scr...
Smettere di classificare una radice HTML multipart/collegata come allegato
Ogni email transazionale che inviamo con un logo org in linea è arrivato nel nostro /messages spettatore con un soggetto corretto e un corpo completamente vuoto...
Anteprima campioni per le nove notifiche opportunità
Senza un braccio qui l'editor di modelli di posta elettronica di admin rende ogni segnaposto vuoto, così chiunque personalizzazione questi nove sarebbe la modif...
Variabili di anteprima per PHI ACCESS ALERT
Senza un campioneVariables braccio l'anteprima dei modelli di posta elettronica di amministrazione rende ogni segnaposto vuoto, così chiunque è chiesto di appro...
Scansione dei repository MFA condivisi
MfaEnrollmentService è un @Service in kamo-shared-library, quindi la wildcard @ComponentScan("com.kamo") in questa applicazione lo costruisce se questo servizio...
Unisci duplicato chiave kamo che crashlooped EmailService
Il nuovo pod EmailService è stato in CrashLoopBackOff dal 16e8a05 — 22 riparte, mai una volta iniziato. serpentyaml solleva DuplicateKeyException su un livello ...
Impegnare lavori eccezionali in corso
Fatta e impegnata come-è così nulla è lasciato noncommesso nell'albero di lavoro. 1 file modificato, 12 inserzioni(+)
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Avatar endpoints; fix unauthenticated reachability and contact tenancy
Adds the mailbox side of sender avatars, and fixes three pre-existing holes this work would otherwise have built on top of. AUTHENTICATION. OTKPreAuthFilter us...
Aggiungi gli endpoint mancanti di CampaignController REST per /api/email/campaigns
Lo spazio di lavoro di posta elettronica di massa/editore chiama GET/POST /api/email/campagni ecc, ma solo Servizio di campagna (il @Service) è stato mai creato...
Rimuovere ambiguo richiesta di cancellazioneMatcher che crash di avvio
EmailService monta due servlets (MVC DispatcherServlet + Spring-WS MessageDispatcherServlet a /services/*), quindi una richiesta di stringa nudaMatchers( "/api/...
Bulk e-mail campagna backend — fornitore, speditore, conformità, in tempo reale
Backend per org-level bulk e-mail campagne, completamente separato dal quotidiano e-mail provider in modo che non può essere throttled/blocklist al fianco di bu...
Ricostruisci di prendere il culo. chiavi canoniche
Nessun cambiamento sorgente. EmailService fasci kamo-shared-library a tempo di costruzione, così il CANONICAL KEYS fix (shared-lib c028131) raggiunge solo il su...
Variabili del campione per il modello LEADS ASSIGNED
Senza un caso qui l'Anteprima dell'editor del modello di amministratore rende il nuovo modello con ogni segnaposto vuoto, che legge come modello rotto piuttosto...
Accetta X-***-Token per i clienti mobili in OTKPreAuthFilter
per-tab session id as X-**-Token (mattina) Quando presente (e non X-OTK), risolvere la sessione non richiedendo e impostare la stesso attributi di richiesta; un...
Supporto "sblocco per sempre" consenso di immagine remota
Aggiunge un consenso jolly (permettere Tutto / èAlwaysAllowed) in modo che un membro può optare per visualizza immagini esterne in ogni messaggio. Riutilizza la...
Inline-CID org logo (SVG->PNG) in modo da rendering in Gmail; rimuovere il contenuto del messaggio; preservare il caso From-domain
- FIX (sicurezza): le e-mail di notifica non portano corpo del messaggio — rimuovere messaggioAnteprima da vars modello, registro, campioni e le impostazioni da...
Variabili del campione dell'editor per i modelli di notifica mancati
Campioni di anteprima per MISSED CHAT MESSAGE e SUPPORT TICKET REPLY incl. raw vs. html-escaped sender/title varianti utilizzate dai corpi canonici.
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.