Seguito: interruzione della modifica di un post su iOS e continuità della connessione HTTP/3
Ho ora incontrato un esempio pratico del problema di continuità della connessione di cui stavo parlando.
Il 21 ottobre 2026, mentre modificavo un post nella mia istanza privata di Discourse su un iPhone 16 Pro utilizzando la PWA di Safari, la barra blu Salvataggio si è bloccata. Avevo appena dettato alcune note aggiuntive sulla lezione.
Il compositore non era più accessibile, nemmeno toccando la barra blu di Salvataggio, quindi non sono riuscito a copiare il testo non salvato altrove.
Dopo aver atteso più del solito, ho disattivato manualmente il Wi-Fi per provare a utilizzare la connettività cellulare. La pagina non ha subito cambiamenti immediati, ma i tentativi successivi di navigazione sembravano anch’essi bloccarsi.
Successivamente ho esaminato i log di Caddy e nginx e lo storico delle revisioni del post.
Alle 12:20:08 BST:
-
Caddy ha registrato una richiesta
PUT /posts/70695HTTP/3 dalla connessione Wi-Fi dell’università, con tutti i 1.000 byte del corpo della richiesta ricevuti ma stato0. -
nginx ha registrato la corrispondente richiesta come HTTP
400, senza tempo di elaborazione della rotta Discourse o upstream. -
Altre due richieste da iPhone provenienti dalla connessione cellulare hanno ricevuto anche esse HTTP
400nello stesso secondo. -
Non è stata registrata alcuna revisione di post riuscita in quel momento.
Una modifica successiva è andata a buon fine alle 12:20:55 BST, ma il testo dettato mancava.
C’era anche un autosave riuscito della bozza Discourse alle 12:19:44 BST, sebbene non riesca a stabilire se contenesse il testo mancante.
Apprezzo che la disattivazione manuale del Wi-Fi possa aver interrotto le richieste pendenti. Tuttavia, l’operazione di Salvataggio originale era già bloccata prima che cambiassi la connessione di rete.
Ciò solleva due domande legate al mio post originale:
-
Migrazione della connessione QUIC: Esiste un modo raccomandato per determinare se il browser iOS ha tentato la migrazione della connessione HTTP/3 esistente, anziché stabilire una nuova connessione o abbandonare le richieste pendenti?
-
Recupero del compositore Discourse: Se una richiesta di modifica di un post si blocca o viene interrotta, ci si aspetta che il compositore rimanga inaccessibile dietro lo stato di Salvataggio? Esiste un meccanismo di timeout, retry o recupero che dovrebbe preservare il testo non salvato?
Sono particolarmente interessato alla seconda domanda perché non sono riuscito a tornare all’editor per copiare il mio lavoro prima di tentare di ripristinare la connettività.
Non ho apportato modifiche alle impostazioni di Caddy, nginx o HTTP/3 a seguito di questo incidente, poiché le prove disponibili non identificano ancora cosa abbia causato il blocco iniziale dell’operazione di Salvataggio.