Non chiave effimera per-attempt Stripe crea
Round 2 recensione (Ruling 17) trovato "è questo un creare?" è necessario ma non sufficiente. La domanda che conta: può questo argomento legittimamente essere c...
Le chiavi appartengono a Stripe crea solo, non su mutazioni
La prima recensione (Ruling 15) ha trovato il Critical: una idempotency stabile chiave su un aggiornamento/cancel/attach/detach non è una salvaguardia, è un bug...
Fare ogni Stripe scrivere idempotent, e fallire la costruzione su uno nuovo senza una chiave
Un timeout di presa su una scrittura Stripe che realmente successo è indistinguibile, dal nostro lato, da uno che non ha fatto; senza un chiave idempotency il r...
Impedire la bandiera elaborata con il denaro scrivere, non davanti a esso
markProcessed era REQUIRES NEW, quindi ha commesso elaborato=vero mentre il Le scritture di denaro del gestore erano ancora non commesse nel sospeso esterno tra...
Prove library HQL parses on the Hibernate questo servizio funziona davvero
kamo-shared-library costruisce su Boot 3.3.4 / Hibernate 6.5; BillingService corre Boot 3.1.5 / Hibernate 6.2.13. I test HQL propri della biblioteca quindi pass...
Fare un evento Stripe riprodotto un no-op
Aggiunge BillingWebhookEventClaimService sul proprio fagiolo, con REQUIRES NEW su ogni metodo, e lo collega in processoEvent davanti all'interruttore di spedizi...
Pin l'intestazione di firma opzionale e coprire tutti e tre i rami di guasto per perdite di corpo
Pin kamo-shared-library 1.6.0
La biblioteca si trasferì a 1.6.0 mentre ogni consumatore rimase a 1.5.0. Consumatore CI costruisce la biblioteca da un clone fresco in un freddo ~/.m2 e ci-set...
Smettere di vendere add-on il piano scelto già include
Il catalogo ha sempre registrato quali componenti aggiuntivi di un piano fasci, in E' il momento giusto. — Business e Enterprise videoconferenze, l'assistente A...
Pubblicare la conversione a pagamento per le organizzazioni tracciate
Entrambi i percorsi che timbro BillingSourceType.PAID ora pubblicare marketing.visitor.paid, perché agganciare solo uno silenziosamente manca metà del traffico ...
Tagliare il coperchio sopra il suo proprio JVM soffitto di salto [skip ci]
L'immagine inizia il JVM con -XX:MaxRAMPercentage=70 -XX:+ SemprePreTouch, così il heap da solo può prendere il 70% del limite del contenitore e pre-touch manti...
Decide l'accesso alla piattaforma con il risolutore condiviso
@PlatformAdminSolo ora nomina la piattaforma giusta che richiede (di default a MANAGE ORGANIZZAZIONI, che è ciò che la superficie della piattaforma di questo se...
Portare la data di rinnovo sulla copertura e i carichi di pagamento di gruppo
Entrambe le superfici ora riportano correntePeriodEnd e annullanoAtPeriodEnd. La data è ciò una conferma di cancellazione in realtà ha bisogno di dire — "manten...
Cancelling smette di fatturare il futuro e nient'altro
Annullare non prende più una bandiera "immediata" e nessun percorso di cliente può chiedere per uno. Passarlo vero ha concluso l'abbonamento lo stesso giorno ch...
Un piano per organizzazione, un soffitto Enterprise 25 posti, e un modo per smettere di pagare
Il piano è ora una decisione a livello organizzativo e nient'altro può superarlo. Lasciare un self-payer o un manager di gruppo scegliere le proprie letture com...
Lasciate che il piano di un gruppo sia annullato e fermate il doppio pagamento per una persona
Tre lacune in quello che ha spedito ultimo: Un gruppo con un piano non potrebbe mai essere rimosso. delete() rifiuta mentre un live l'abbonamento esiste — corr...
Rendere i gruppi di fatturazione lavorare fine a fine, e smettere di pagare per nulla
Un gruppo può ora riunire le persone, comprare un piano sulla carta del suo manager, e la mano i suoi posti fuori. Nessuna di queste esisteva: le uniche operazi...
Ricostruire contro il rinominato tavolo pay-group
L'entità si è spostata da billing groups a billing pay groups dopo che si è scoperto il primo è un tavolo ereditario dal vivo con una forma diversa. Questo serv...
Smettere di spedire una credenziali condivisa come predefinito config
La password condivisa della piattaforma è stata cotta come il fallback per DB PASSWORD e MINIO ROOT PASSWORD, così ha vissuto in questo repo e nell'immagine cos...
Dite alle persone che il loro pagamento è fallito e ritirate l'abbonamento
L'abbraccio che non esisteva. fattura.payment failed ha scritto una riga e ha restituito: nessuna e-mail, nessuna bandiera, nessun cambiamento di stato e fattur...
Lascia che un membro acquisti il proprio posto, e chiuda un foro di parametri del corpo
Il self-pay non aveva traccia all'interno della console. Tutto sulla superficie di fatturazione è a forma di account — è già necessario tenere una riga AccountM...
Org policy e fatturazione gruppo API
Chi all'interno di un'organizzazione può pagare Kamo ora è responsabile e impostabile. Entrambi i percorsi sono org-scoped e quindi deliberatamente fuori /api/b...
Predefinire l'obiettivo di un nuovo abbonamento
Un primo acquisto non ha abbonamento esistente per copiare targetOrganizationId da, e richiederlo incondizionatamente è quello che ha creato uno dalla console i...
Smettere di richiamare l'accesso di fatturazione di un membro quando li aggiunge altrove
add() cancellato la riga del membro su qualsiasi altro account per soddisfare un unico globale che non esiste più. Aggiungere qualcuno a un secondo conto di fat...
Acquistare un blocco quando un org opted-in esaurisce la stanza
Corre poco dopo lo spazzamento istantanee notturno, perché questo è ciò che produce figura di utilizzo su cui decide — l'espansione contro il numero di ieri com...
Lascia un cambio di prezzo di catalogo in realtà raggiungere Stripe
Stripe I prezzi sono immutabili e la mappatura contiene una riga per (org, tipo, codice, ciclo) dietro una chiave unica, quindi una volta che un prezzo esisteva...
Capacità di report accanto all'utilizzo
Il pannello di stoccaggio riportato dates immagazzinato contro nulla — nessuna indennità, nessuna percentuale, nessun denaro — quindi un proprietario che guarda...
Fai un primo piano acquistabile, e restituire i prezzi reali del piano
Due cose hanno fermato un'organizzazione a comprare un primo abbonamento. Le liste dei piani sono raggiungibili solo tramite il submarketId su un abbonamento g...
Lascia che un sub-org raggiunga l'account che lo paga
AccountSubscription separa deliberatamente il pagatore dall'organizzazione il cui i membri consumano i sedili, e i conti auto-provisionati siedono sul livello s...
Bill per-unit add-ons da unità acquistate, non da headcount
Filetta la nuova quantità di add-on tramite creare e aggiornare: un componente aggiuntivo FLAT prende la sua quantità Stripe da quello che l'abbonamento effetti...
Carica quello che il catalogo dice, una volta, per la giusta quantità
Cinque difetti che hanno spostato tutti i soldi reali, più l'IDOR sub-resource sotto di loro. Cicli di fatturazione. I prezzi ANNUAL sono stati spediti a Strip...
Verificare la modalità dio contro il database, non un intestazione forgiata
AccountOrgScopeInterceptor cortocircuitato ogni org e controllo membro sul grezzo X-God-Mode-Active intestazione, e le copie del proxy di fatturazione di kamo-i...
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 :...
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...
Leggi l'utilizzo di immagini da un pass deduplicato
Segue la modifica della biblioteca condivisa a una carica per file distinti per organizzazione. Sia il riassunto che lo scrittore di snapshot giornaliero prendo...
Ricostruire per il dominio delle anteprime generate
Raccoglie il cambiamento condiviso-librario che fattura miniature e tracce per il organizzazione e legge byte derivate da img dat derivatives.
Ricostruire per i domini di marca e docs-workspace
Raccoglie il cambiamento condiviso-librario che legge sia da object storage days.
Ricostruire per il dominio dell'allegato del messaggio di testo
Raccoglie il cambiamento condiviso-librario che misura allegati MMS dai dati: URI memorizzati in linea in VOIP MESSAGES.
Ricostruire contro i domini di storage per-categoria
Raccoglie il cambiamento condiviso-librario che si divide in un dominio per ImageAssocType, così le registrazioni delle chiamate, i messaggi vocali, gli allegat...
Registra la casella di posta corretta semantica
EMAIL ora misura la posta Kamo realmente ospita, attribuita per casella di posta alla organizzazione che lo possiede, piuttosto che sommare un indice di ricerca...
Lasciare che un amministratore di piattaforma eseguire la scansione istantanea su richiesta
La spazzata è ciò che rende le rimozioni di periodo e i totali di vita per il domini discontinui rispondono a tutti, quindi i giorni persi a un outage sono pers...
Dare ad ogni organizzazione un limite reale di transazione
StorageSnapshotSweep.catchUp ha portato @Transactional(REQUIRES NEW) ed è stato chiamato da spazzare() sullo stesso fagiolo. La primavera applica @Transactional...
Segnala cosa sta memorizzando un'organizzazione
La scheda statistiche dell'account ha sempre detto "Nessun dato di utilizzo disponibile per questo periodo", per ogni organizzazione, perché ottenereCurrentUsag...
Fornire auto-o-proprietario su un conto, non solo il limite org
Seguire il cancello cross-org, ora che la regola è decisa: all'interno di un'organizzazione si può gestire il proprio account di fatturazione, e un proprietario...
Smettere una organizzazione raggiungere un'altra organizzazione fatturazione
/api/billing/accounts presenta il suo elenco dall'intestazione X-Org-Id, ma ogni percorso sottostante /{accountUid} ha preso il id direttamente dal percorso e n...
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...
Risposta "è questo vendibile" dal catalogo app, non l'enum
La disponibilità è diventata operatore-editable a runtime, quindi derivante da ServiceType.getStage() significa L'editoria di MLOS in Apps and Features l'ha las...
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
