- Expédié
- 26 août 2026 à 02:40 UTC
- Auteur
- Kamo
- Commite
- d54a9fe
Le premier examen (Ruling 15) a trouvé le Critical: a stable idempotency une clé sur une mise à jour/annicis/attach/détacher n'est pas une protection, c'est un bug. Ces appels fixent déjà un état cible explicite, donc ils sont idempotent en effet sans aucune clé; une clé stable permet à la place de laisser Stripe, 24h, la réponse mise en cache-rejeu, arbo-réveillez un changement vraiment plus tard. Concrètement: annuler() - et réactiver() - annuler() - annuler() clé sur les deux appels cancel(), donc le second a récupéré le PREMIER La réponse mise en cache de l'appel et n'a jamais touché l'abonnement en direct. le code DB et l'UI ont dit "ne pas renouveler" tandis que Stripe a continué à facturer, avec pas de ne faire exception nulle part. La même forme a frappé le procédé de paiement par défaut basculer et synchroniser la mise à jour de la procuration de StripeItems (5 sièges - 10 5 aurait supprimé une véritable proration). Ni Account Subscription ni Compte comporte un champ per-invocation (pas de mise à jour à ce point, pas de colonne de version) à plier en une clé à la place, ce qui est la raison pour laquelle la solution n'est pas du tout la clé de ces dix mutations, pas plus intelligente. Garde la clé sur les dix véritables créations (SetupIntent, Customer, Séance, quatre prix.créate, produit, compteur, abonnement.create), qui restent non-idémpotents par nature et en ont encore besoin. StripeIdempotency's class javadoc déclare maintenant cette idée, y compris le mode spécifique annuler/réactiver/l'annulation de défaillance, donc les dix les sites d'appels de mutation ne sont pas "retordés" plus tard. Le critère de couverture maintenant affirme les deux directions: chaque création porte une clé - un aspect tourné vers l'avenir regex net) et aucune mutation ne le fait - pour les regex-visibles, plus - épingler le vrai par fichier, donc une clé ajoutée à l'une des variables locales- mutations du récepteur que le regex ne peut pas voir -- la plupart des Account Subscription's et AccountPaymentMethodService's -- continue de faire défaut la construction). Vérifié les deux nouvelles affirmations attrapera en fait un la clé réintroduite avant d'inverser la sonde.