Le chiavi appartengono a Stripe crea solo, non su mutazioni

FixBillingService
Spegnimento
26 agosto 2026 alle ore 02:40 UTC
Autore
Kamo
Impegno
d54a9fe

La prima recensione (Ruling 15) ha trovato il Critical: una idempotency stabile chiave su un aggiornamento/cancel/attach/detach non è una salvaguardia, è un bug. Quelle chiamate hanno già stabilito uno stato obiettivo esplicito, quindi sono idempotent in effetti senza alcuna chiave; una chiave stabile invece permette Stripe's 24h di risposta cached-response replay ingoiare un cambiamento sinceramente successivo. Concretamente: annullare() -> riattivare() -> annullare() ha presentato il SAME chiave su entrambe le chiamate di cancellazione(), quindi il secondo è tornato il PRIMO La risposta cache della chiamata e non ha mai toccato l'abbonamento dal vivo... il DB e l'UI hanno detto "non si rinnova" mentre Stripe continuava a fatturare, con nessuna eccezione. La stessa forma ha colpito il metodo di pagamento predefinito toggle and syncStripeItems' proration-bearing update (5 posti -> 10 -> 5 sarebbe caduto una vera prorazione). Né AccountSubscription né Account porta un campo di per-invocazione (non aggiornato-a che si muove, nessuna colonna di versione) per piegare in una chiave invece, motivo per cui la correzione non è affatto una chiave su queste dieci mutazioni, non una più intelligente. Mantiene la chiave su tutti i dieci genuini crea (SetupIntent, cliente, Sessione, quattro Price.create, Prodotto, Meter, Subscription.create), che rimangono non ipotetici per natura e ancora ne hanno bisogno. La classe javadoc di StripeIdempotency ora afferma questo chiaramente, compreso la modalità di annullamento/riattiva/cancellare specifica in caso di guasto, quindi la dieci i siti delle chiamate di mutazione non sono "ristorati" più tardi. Il test di copertura ora afferma entrambe le direzioni: ogni creazione porta una chiave E' una cosa da non perdere. regex net) e nessuna mutazione fa # Per i regex-visible # # piu' # E' il momento giusto. la verità per-file conteggio in modo da una chiave aggiunta a uno qualsiasi del locale-variabile- mutazioni del ricevitore il regex non può vedere -- la maggior parte AccountSubscriptionService e AccountPaymentMethodService's -- ancora fallisce la costruzione). Verificato entrambe le nuove asserzioni effettivamente catturare chiave reintrodotta prima di ripristinare la sonda.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo