- Se descapó
- 11 de agosto de 2026 a las 1:16 UTC
- Autor
- Kamo
- Compromit
- 69116e8
Promover a un miembro para pagarse a sí mismo fue incondicional, de ida e insegura para repetir. Ahora se niega cuando la política de la organización dice que la organización paga todo el mundo - anteriormente el único control sobre el autopago era la irreversibilidad del gesto en sí. Es idempotente. Promover al mismo miembro insertó dos veces una segunda cuenta y una segunda fila de contadores, tropezando con lo único en el miembro-id y respondiendo a 500; un doble clic, un nuevo trabajo después de un blip de red, o un propietario re-corriendo el flujo a mover más licenciatarios todos lo golpearon. Ahora reutiliza la cuenta y suscripción la el socio ya tiene y continúa a la transferencia. demoteBillingOwner es el inverso que nunca existió. Un propietario que ascendió alguien no podría deshacerlo, y si ese miembro se fuera, su propiedad personal Cuenta se mantiene en el cargo frente a la organización sin forma de reclamar ellos. Licencias regresan a la suscripción de la organización y a la El de los contribuyentes se retira; su cuenta y los métodos de pago se dejan solos, porque recuperar asientos de la organización depende es asunto del propietario y Eliminar la historia de facturación de alguien no lo es. Coincidir está en el usuario compartido más bien que el miembro id, ya que la promoción refleja al miembro en el org de nivel superior. También corrige el endpoint ratchet, que estaba ALREADY FAILING en el principio antes de esto Así que la construcción de SecurityService era roja y no se desplegaba nada. El escaneo No se podían ver dos guardias reales: ExtractUserId lee usuario de la *** sesión, y requireTopLevelOwner pasa por CallerSessionResolver y más requiere que el que llama sea dueño del org de primer nivel. Enseñarlo ambos dejó rancio a 25 las entradas de referencia se eliminen, que es exactamente lo que el archivo pide para la fijación de un endpoint significa eliminar su línea, y eso es lo que hace que el número caiga. runSweep se basa en su verdadera razón: afutua interna custodiada a través de un parámetro de encabezado que el cuerpo-escaneo no puede alcanzar.