- Shipped
- 26 de agosto de 2026 a las 2:54 UTC
- Author
- Kamo
- Commit
- 674fa0f
Revisión de la Ronda 2 (Ruling 17) encontrado "es esto un create?" es necesario, pero no es suficiente. La cuestión que importa: este tema puede legítimamente se crea más de una vez dentro de la ventana de las 24 horas de la tecla, por una razón que no sea un intento de red? Dos crea respuesta sí y fueron erróneamente llave en la ronda 1: - SetupIntent.create (AccountPaymentMethodService, expuesto a través de createSetupIntent en dos controladores, devuelve el secreto del cliente directamente al navegador): una tecla estable significaba un segundo "añadir una tarjeta" El mismo día volvió a jugar el ya consumado intento del PRIMERO el cliente secreto, fallando silenciosamente el añadido. - Session.create (ConsumerCheckoutService): una llave estable significaba que un abandonar-and-re-intratar, o una compra-entonces-agraduación el mismo día, replayed la sesión de pago original - posiblemente ya completa o caducado... entregando al cliente un eslabón muerto. Ambos son objetos efímeros, de un solo uso, por intento, no de pie unos. Un duplicado allí es inerte (el no utilizado acaba de expirar); a la repetición es el daño real, que es el comercio opuesto de cada creador duradero (Custormer, Suscripción, Precio, Producto, Metro), cuando un duplicado ES el daño que toda esta tarea existe para prevenir. Eliminó la llave de ambos; estado final es 8 teclado (todo duradero crea, sin cambios), 12 desenclavados (2 creas efímeras de 10 mutaciones a partir de la ronda 1). La clase javadoc de StripeIdempotency ahora establece las tres clases... las creas desactivadas, efímeras crea mutaciones desencálidas, sin clavarse... con un rastro de falla de hormigón para cada clase desencálida (la ************* uno de la ronda 1, y el segunda-tarjeta-sismo-metro-día descarado-cliente-secreto para SetupIntent, que es más sorprendente de los dos). La prueba de cobertura ahora tiene una la red delantera basada en el regex por clase (las creaciones duraderas deben llevar una clave; creaciones y mutaciones efímeras no deben) más un conteo exacto por archivo de StripeIdempotency.forKey( clavado a las 8 creaciones duraderas, que es lo que realmente atrapa una clave añadida a cualquiera de los de la variable local-. Manchas a ciegas receptoras. Verificado reintroduciendo temporalmente una clave en SetupIntent.crear, confirmando tanto el nuevo cheque de regex como el El cheque de cuenta exacto falla, luego revirtiendo la sonda.