Cierra el ciclo de vida de la firma, avisos, enrutación, guardias, caducidad

FixESigService
Se descapó
7 de agosto de 2026 a las 6:51 UTC
Autor
Kamo
Compromit
d8bc8c4

Todo después de que un firmante presione Terminar estaba incompleto. Avisos: la última firma de un sobre produjo un PDF aplanado en MinIO que sólo el firmante final vio un enlace a, durante las cuatro horas de su la sesión vivió. Los firmantes anteriores y el remitente no aprendieron nada, mientras que el La aplicación de señalización le dijo a cada uno de ellos que una copia firmada sería enviada por correo electrónico. Añade EsignNotificationService: la copia ejecutada de cada parte (exminándose a la suya el token de acceso y extendiéndolo a una ventana de 90 días establecido), el del remitente aviso de terminación, y el decodificador / avisos de nulidad / caducidad. Cada envío es aplazado a despuésCommit El correo no puede ser recordado si la firma transacción retrocede. Orden de lanzamiento: SigningSession reportó SEQUENTIAL cada vez que la lista llevar órdenes de enrutar distintas, y nada lo hizo cumplir El destinatario fue enviado por correo electrónico a la vez y cualquiera de ellos podía firmar en cualquier momento. EsignRouting ahora decide el nivel abierto; el envío inicial sólo invita a ese nivel, una firma que mueve invita al siguiente, y un fuera de tono presentar es un 409. Guardias: un destinatario DELEGATED todavía podía firmar la ranura que acababan de tener reasignada; decodificadora () no tenía ningún control de estado terminal, por lo que una fiesta que ya habían firmado que podrían voltearse a DEcoderD en un ejecutado sobre; delegado (() podría añadir un destinatario vivo a uno cerrado. A decodificador cierra ahora el sobre en lugar de dejar a los partidos restantes Firmar algo sobreComplete nunca puede llamar completo. Expiración: EsignEnvelopeStatus.EXPIRED existió, tenía un chip de IU, y nunca fue escrito por cualquier ruta de código. Añade EsignExpirySweeper (-EnableScheduling). También: el paso de la OTP fue de seis dígitos con intentos ilimitados contra un sesión de cuatro horas - ahora intento-capturado y comparado en tiempo constante; a fallí respondió 200 ("Invite resentimiento" por correo que nunca salió); El mensaje de cobertura del remitente nunca se persistió, así que un reenvío y cada uno de los La invitación de nivel-avance lo dejó caer y session.message siempre fue nulo; ******************* dentro de la propia BFF de la aplicación de señalización donde ningún consumidor del lado del remitente podría llamarlo; una plantilla sin campos en todo podría ser enviado y "firmado"; y las razones de ResponseStatusException nunca llegó al cliente, así que cada negativa cuidadosamente redactada llegó como una desnuda código de estado. 103 - 140 pruebas, 0 fallas.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios