- 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.