- Enviado
- 28 de septiembre de 2026 a las 2:47 UTC
- Autor
- Kamo
- Commit
- 877419c
Dos solicitudes superpuestas para marcar la misma AI en la misma reunión (una doble haga clic, dos organizadores, una persona y el barrido automático) podría cada uno pasar el cheque no en vivo y cada lugar una llamada KM2; la segunda marcaDialing superó el primera llamada id, dejando esa llamada sin seguimiento y nunca colgó. MeetParticipantWriter.claimDial ahora convierte un participante INVITED DIALING (no call id yet) en su propia transacción corta antes de que se llame KM2; sólo el ganador Marcas. Dos reclamaciones escriben la misma fila, así que las transacciones de una sola instantánea de YSQL abortan el segundo (40001) y su retryOnDbConflict retry ve DIALING. A claim also escribe las otras filas de la AI de la reunión, así que duplicar filas de superposición las primeras invitaciones collide también, y un duplicado de una AI en vivo nunca auto-dials. Una reclamación sin llamada id termina en markFailed (refusal, o el tiempo de ejecución de una persona outage) o liberaciónClaim (el barrido retries); uno dejado por una cápsula que murió el medio-dial cuenta como abandonado después de dos minutos y se toma el control (M1 re-invite, o el barrido para una invitación de auto-junción). El barrido reclama antes de que falle o marca una invitación, y sólo mientras sigue siendo auto-junto.
