Fermare l'entità del gruppo di paga seduto su una tabella legacy
BillingGroup e' stato mappato a Billing groups. Questa tavola esisteva già — una sottosistema a sette tabelle (billing group members, subscriptions, licenses,...
Non lasciare mai che il servizio di quote fermi un servizio dall'inizio
StorageQuotaService ha preso i suoi cinque repository come costruttore richiesto argomenti. Servizi in questo componente-scan com.kamo con una wildcard ma dichi...
Pin come la piscina si divide in limiti per-mailbox
Dovecot ha bisogno di una cifra byte per casella di posta, ma lo stoccaggio è un'organizzazione piscina attraverso diciotto domini. La divisione deve contenere ...
Fare un pagamento fallito significa qualcosa
PAST DUE ha contato come vivere pienamente in entrambi i risolutori di diritto, senza timestamp e nessun tappo, quindi un cliente la cui carta non è riuscita ha...
Pin la delegazione-mode semantica
Questi predicati sono quello su cui le superfici si nascondono, quindi ottenere uno sbagliato o offre un pulsante che non può funzionare o silenziosamente perme...
Lasciate che i membri e i gruppi paghino da soli, secondo le regole del proprietario
Mancavano tre cose e uno era attivamente dannoso. account members ha portato un unico globale su member id — un membro potrebbe amministrare esattamente UN con...
Mostra cosa spegnere fail-open costerebbe
kamo.entitlement.fail-open concede qualsiasi applicazione il piano matrix non menziona mai. È documentato come una valvola temporanea per il backfill del catalo...
Opt-in auto-espand con un soffitto
Due colonne sull'abbonamento che contiene i blocchi: se acquistare un'altra uno automaticamente quando l'organizzazione esce dalla stanza, e il massimo può mai ...
Registrare ciò che ogni prezzo Stripe è stato creato con
La mappatura memorizzata solo quale prezzo id da utilizzare, in modo che un cambiamento di prezzo di catalogo potrebbe nemmeno essere notato. garantirePlanPrice...
Dà un effetto all'indennità di deposito
Lo stoccaggio è stato misurato in diciannove domini, di notte, con un processo di costruzione prova di copertura — e nulla ovunque calcolato un'indennità o rifi...
Dare componenti aggiuntivi una dimensione dell'unità e una quantità acquistabile
Un'unità aggiuntiva esisteva solo come prosa all'interno della sua descrizione ("Ogni unità aggiunge 25 GB") e come costante codificata nel sito di marketing, i...
Registrazione durevole di una conversazione che il cliente ha sollevato da solo
MediaSessionMember guadagna AUTO OPENED AT, accanto a msgIdLastViewed perché è il lo stesso grano — un fatto circa il rapporto di un membro con una sessione. Qu...
Ripristinare le terminazioni CRLF sul repository dei partecipanti
Il commit precedente riscrive il file tramite uno script che normalizza il suo terminazioni di linea, così un'aggiunta di dodici linee è arrivato come una riscr...
Ricerca ospite pirata, e delete-by-event
La finestra di dialogo eventi mostra con chi è un evento, e l'elenco endpoint restituisce un mese di eventi alla volta. Chiedere per gli ospiti per evento è una...
AUTO ASSIGNMENT strategia e un record durevole di una consegna invisibile
AUTO ASSIGNMENT(3) è allegato a SupportAssignmentStrategyType — assegnare immediatamente a un agente che è autenticamente online, preferendo chi detiene il meno...
Registra quando è stato creato un account
Account non ha portato alcun timestamp di creazione affatto — non una colonna nulla, nessuna colonna. L'elenco dell'account ha una colonna Data Creata e gli ord...
L'indice della gamma Geolite deve essere ASC, non il HASH predefinito di YugabyteDB
La ricerca IP è una scansione dell'intervallo: DOVE rete start <=? ORDINI IN rete start DESC LIMIT 1 YugabyteDB partiziona la colonna indice LEADING di HASH se...
Impostare i calendari al membro e aggiungere il diritto di pubblicazione a livello org
UserCalendar e CalendarEvent ha appeso fuori USER ID da solo e non ha portato organizzazione. Un utente è globale e un membro è che l'utente all'interno di uno ...
PublicChatApiKey.scopes jsonb binding
Un campo con un inizializzatore è stato saltato dalla prima spazzata jsonb, quindi questo uno ancora legato come varchar: 'lo scopo della colonna è di tipo json...
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 :...
@Lob String deve pin LONGVARCHAR o PostgreSQL legge come un OID
Le mappe di dialetto PostgreSQL di Hibernate @Lob String a un OID (grande oggetto riferimento) e lo legge con getLong(). CockroachDialect ha mappato lo stesso a...
Contare ogni file una volta per organizzazione, non una volta per carica
Billing era per record, quindi un'organizzazione che ha caricato lo stesso file cinque i tempi sono stati caricati cinque volte. La regola del proprietario è un...
Abbina contenuto memorizzato su BLAKE3 da solo, quindi un browser può permettersi di chiedere
Prove possesso richiesto sia hashes, e un browser non ha veloce SHA3-256 — js-sha3 è puro JavaScript a ~25 MB/s. Misurato su un video di 358 MB che era ~20 seco...
Bill ha generato miniature all'organizzazione
Le miniature e le tracce per canale sono l'archiviazione di una causa di upload di un'organizzazione, così sulle istruzioni del proprietario ora contano verso i...
Conteggio di marca e stoccaggio documentale Docstive
Quasi tutto un'organizzazione memorizza le proprie dimensioni da qualche parte — un file imgs, una riga kb media, una misurazione della casella di posta. Due co...
Contare gli allegati dei messaggi di testo
Gli allegati MMS sono memorizzati e non sono stati contati. Non sono anche quelli che sono sembra: VoipMessageService codifica l'allegato come dati: URI e scriv...
Contare ogni tipo di file memorizzato come propria categoria
Registrazioni di chiamate, segreteria telefonica, allegati di chat, risorse HR, marketing materiali, registrazioni di riunione e ogni tipo di documento sono tut...
Misurare la posta Kamo realmente ospita, per mailbox
EMAIL è stato fonte di e-mail metadata.search index, che era sbagliato in entrambi indicazioni. Ha perso completamente KamoMail — un org su KAMO MAIL ha i suoi ...
Leggi l'ultima data di snapshot senza caricare la storia
Un riassunto ha bisogno di una data. Lo stava leggendo caricando una gamma di due anni snapshot e prendendo il massimo — cinque domini volte ogni giorno della s...
Per-organizzazione modello di utilizzo di storage
Nulla ha mai riassunto lo stoccaggio per organizzazione. Sei entità portano un byte conteggio per file, e nessun codice aggregato uno di loro, motivo per cui l'...
Un prodotto della piattaforma non è uno dei suoi inquilini
èOrgEntitledToApp esentato solo il livello superiore org, quindi un org marcato èPlatformProduct è stato fatturato come se fosse un cliente. sign.pink siede su ...
Smettere un carico di pagina da persistere la proiezione del diritto
computeEffectiveFeatures ha aggiunto le righe OrgFeature di Hibernate-managed del chiamante direttamente alla sua uscita e poi capovolto èAttivo su di loro. Il ...
Pin l'esclusione deprecata-alias
La chiave del catalogo è l'ID numerico di ServiceType, e diverse costanti in pensione condividere deliberatamente uno con l'app che li ha sostituiti — DOC MANAG...
Fermare i punti finali del mutuo che rafforzano un diritto personale-loan
LOS * - > Il nome MLOS * è stato applicato alla dichiarazione enum e nessun altro. Perché il libero i nomi sono stati immediatamente ridichiarati come i diritti...
Rispondi alla domanda plan-matrix per ogni app in un unico passaggio
La scheda Apps & Features chiede se ogni applicazione appare nella matrice del piano, e il modulo per-app esegue la scansione delle tabelle plan-feature e add-o...
Risolvere la deprecazione attraverso il catalogo app
Un'app che l'operatore si ritira deve sparire ovunque, non solo da app pagina — altrimenti continua a presentarsi nell'editor di modelli di sicurezza e in rispo...
Rendere la disponibilità delle app e la fase modificabile a runtime
Ogni attributo le impostazioni delle app rende la pagina — nome del display, descrizione, fase, deprecazione — era una costante di compilazione nel ServiceType ...
Risolvere il diritto di app da ServiceType; rinominare LOS a MLOS
L'iscrizione ha risolto ServiceType.name() contro Non e' vero. I codici del catalogo sono codici di marketing (USERS, VIDEO CONF, HR SYSTEM, ...) e mai abbinati...
Archiviazione dei contenuti in streaming in modo che un oggetto possa superare il mucchio
Gli allegati di chat si stanno spostando a un soffitto 3 GiB. storeContentAddressed ha preso un byte[], che non può esprimere questo affatto — un array Java si ...
Script la metà della scansione invariante questo repo non può vedere
CondividiLibBeanSafety Il test può solo controllare la biblioteca: sa che un fagiolo richiede un repository da qualche pacchetto, e niente se i ~40 servizi la s...
Rileva le dipendenze dei repository non sicure invece di elencarle
La guardia ha portato 29 contraffatti di base e un'esenzione posizione, e non ha catturato nessuno dei 4 outages esiste per prevenire. Entrambi erano ipotesi in...
Interrompere il puntatore casella di posta dal mancato avvio piattaforma a livello
DepartmentService è un @Service, e ogni servizio trasporta @ComponentScan("com.kamo"), quindi tutti i ~40 di loro lo costruiscono. Dare un MailboxRepository qui...
I cinque modelli di email del ciclo di buste che non sono mai stati scritti
Una busta e-signature aveva esattamente due modelli: l'invito e la codice step-up. Nulla esisteva per tutto ciò che accade dopo un firmatario segni — per questo...
Lasciate un reparto e un punto org in una delle loro caselle di posta
L'e-mail di contatto di un dipartimento era un testo gratuito, in modo da poter nominare un indirizzo che l'org fa non proprio -- due dei tre dipartimenti con u...
Un manager e una ricerca di directory che sopravvive a un grande org
TeamMember acquisisce un'autoriferenza facoltativa per chi riferisce. colonnaDefinizione è pinned a INT8 così Hibernate non può copiare Membro. ID DEFAULT Uniqu...
Lasciate che un dipartimento sieda sotto un dipartimento di genitori
I dipartimenti erano una lista piana, quindi un grafico org con le operazioni > Successo del cliente > L'imbarco non aveva modo di dirlo. Il Dipartimento acquis...
Stamp AccountAddress date in modo che un indirizzo possa effettivamente essere salvato
DATE CREATED NON è NULL con un DEFAULT ora(), ma nulla ha mai impostato il campo. Iberna ogni colonna inseribile nel suo INSERT, così ha inviato un esplicito NU...
Rendere le affermazioni atomiche in realtà atomico, e smettere di morire di fame il pagamento più antico
Una revisione avversaria del percorso del denaro ha trovato il design della convalutazione non era correre per niente. @Modificare senza @Transactional. Spring...
Trovare una commissione del membro divide per la propria vista commissioni
Org-scoped piuttosto che keyed sul membro da solo: ORG ID è duplicato su questo tavolo così una fila non può mai essere letto cross-tenant da id, e un ricercato...
Team-membro commissione registro e Stripe pagamento dominio
Aggiunge com.kamo.z.shared.commission: un master firmato solo per append, un per-member fila di equilibrio che esiste puramente per serializzare i prelievi corr...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.