Seguimiento: edición interrumpida en iOS y continuidad de la conexión HTTP/3
Ahora he encontrado un ejemplo práctico del problema de continuidad de la conexión sobre el que estaba preguntando.
El 21 de octubre de 2026, mientras editaba una publicación en mi instancia privada de Discourse en un iPhone 16 Pro utilizando la PWA de Safari, la barra azul Guardando se quedó atascada. Acababa de dictar algunas notas adicionales de la clase.
La composición ya no era accesible, incluso al tocar la barra azul Guardando, por lo que no pude copiar el texto sin guardar en otro lugar.
Tras esperar más tiempo de lo habitual, desactivé manualmente el Wi-Fi para intentar usar la conectividad celular. La página no cambió inmediatamente, pero los intentos posteriores de navegar también parecían colgarse.
Posteriormente, examiné los registros de Caddy y nginx, así como el historial de revisiones de la publicación.
A las 12:20:08 BST:
-
Caddy registró una solicitud
PUT /posts/70695de HTTP/3 desde la conexión Wi-Fi de la universidad, con todos los 1.000 bytes del cuerpo de la solicitud recibidos, pero con estado0. -
nginx registró la solicitud correspondiente como HTTP
400, sin tiempo de procesamiento de ruta de Discourse ni de servidor upstream. -
Dos otras solicitudes de iPhone originadas desde la conexión celular también recibieron HTTP
400en el mismo segundo. -
No se registró ninguna revisión exitosa de la publicación en ese momento.
Una edición posterior tuvo éxito a las 12:20:55 BST, pero faltaba el texto dictado.
También hubo un autoguardado exitoso de borrador de Discourse a las 12:19:44 BST, aunque no puedo establecer si contenía el texto perdido.
Aprecio que desactivar manualmente el Wi-Fi pudo haber interrumpido las solicitudes pendientes. Sin embargo, la operación original de Guardar ya estaba atascada antes de que cambiara la conexión de red.
Esto plantea dos preguntas relacionadas con mi publicación original:
-
Migración de conexiones QUIC: ¿Existe una forma recomendada de determinar si el navegador de iOS intentó migrar la conexión HTTP/3 existente, en lugar de establecer una nueva conexión o abandonar las solicitudes pendientes?
-
Recuperación del compositor de Discourse: Si una solicitud de edición de publicación se atasca o se interrumpe, ¿se espera que el compositor permanezca inaccesible detrás del estado de Guardando? ¿Existe algún mecanismo de tiempo de espera, reintentos o recuperación que debería preservar el texto sin guardar?
Me interesa particularmente la segunda pregunta porque no pude volver al editor para copiar mi trabajo antes de intentar restablecer la conectividad.
No he cambiado ninguna configuración de Caddy, nginx o HTTP/3 como resultado de este incidente, ya que las pruebas disponibles aún no identifican qué causó que la operación inicial de Guardar se detuviera.