iOS no carga CSS a veces al navegar entre subdominios

Acabo de reportar un problema relacionado antes de que me señalaran este, que parece estar relacionado.

Acabamos de actualizar a Discourse 3.2 hace dos días y desde entonces estamos recibiendo informes de un problema similar. Aunque en nuestro caso no está relacionado con CSS, creo que el problema es esencialmente el mismo.

Después de seguir un enlace en Discourse a nuestro sitio web principal, el navegador todavía piensa que está en el foro: la URL en el navegador así lo indica (!), y a veces los enlaces (¿algunos? probablemente relativos) se abren en el dominio del foro en su lugar, con un error que dice que la página del foro no existe. Los informes que tenemos hasta ahora son todos en iPhone/iPad. No puedo reproducirlo en absoluto, pero los afectados parecen experimentarlo varias veces al día. Mirando los registros de Discourse, puedo confirmar que hay varias solicitudes 404 a páginas que solo existen en nuestro sitio web principal.

Me desconcierta bastante que el navegador abra un sitio web y muestre la URL de otro (sin iframes). Al ser un error de Safari, espero que esto solo esté confinado dentro de un dominio superior, ya que las implicaciones de seguridad de lo contrario son bastante desagradables.

En cualquier caso, creo que algo a tener en cuenta es que esto solo comenzó a suceder después de que actualizamos a Discourse 3.2, por lo que algo cambió desde la 3.1 que está provocando esto.

Quizás una suposición completamente al azar, pero me pregunto si esto podría estar relacionado de alguna manera con las aplicaciones PWA y cómo son manejadas por Safari. Nuestro sitio web principal declara una aplicación PWA, y nuestro foro de Discourse también. Ambos son standalone y con start_url: "/". (el nuestro establece un id único, pero Discourse no). Por lo que sé, los archivos manifest de PWA no especifican un nombre de host particular en el que operan, por lo que supongo que se adhiere al específico en el que están alojados. En nuestro caso, las dos PWA están en subdominios separados pero en el mismo dominio; en cómo los navegadores procesan eso, podría haber margen para equivocarse y confundir al navegador. Pero de nuevo, esto es solo una suposición total.

2 Me gusta