iOS no carga CSS a veces al navegar entre subdominios

Solo parece ocurrir en dispositivos iOS; a veces los enlaces externos se abren en la misma ventana pero la CSS no se carga. Es extraño y ni siquiera puedo reproducirlo.

Se ve así:

También encontré informes en otros foros públicos de Discourse:

Dado que se informó y se corrigió antes, me pregunto si podría estar relacionado con un tema o un componente temático, ¿quizás? Agradecería cualquier ayuda.

3 Me gusta

¿Qué errores se muestran en los registros de red cuando la CSS no se carga?

En cuanto a que teóricamente sea un problema del tema/componente, ¿has probado el modo seguro?

1 me gusta

no, simplemente porque he visto este comportamiento varias veces en las últimas dos semanas, solo en mi iPhone y he escuchado lo mismo de otros usuarios, pero no puedo reproducirlo, parece aleatorio.

1 me gusta

Parece un error antiguo. No puedo reproducirlo en este momento y todos los temas vinculados tienen al menos un año. Parece un foro que no está actualizado.

2 Me gusta

Gracias, pero se está ejecutando la última actualización beta :frowning:

¿Qué se corrigió en ese error? Me pregunto si quizás hay un componente o tema que regeneró este error.

1 me gusta

Intento volver a capturarlo, parece que sucede ocasionalmente, no estoy seguro de cómo reproducirlo. Sin embargo, sucede, solo en iOS, hasta donde sé.

1 me gusta

Estoy usando varios dispositivos iOS, iPhone 15 Pro Max, iPad Air 5.ª generación, MacBook Air M2 y no puedo reproducir esto :thinking:

¿Qué modelo de dispositivo y versión de iOS estás usando?

1 me gusta

personalmente iPhone 12 con el último iOS 17.4

¿Solo ocurre con enlaces externos que usan <a> HTML, pero incluso entonces, ocurre ocasionalmente?

Me encantaría saber qué error se corrigió, para poder intentar activar algo y reproducirlo :confused:

1 me gusta

¿Cómo se relacionan esos informes con los problemas del CSS de Discourse Forums? El primero afirma explícitamente:

el foro no se ve afectado por este problema

1 me gusta

Parece ser el mismo comportamiento: ocurre al abrir un sitio web externo desde Discourse. Por ejemplo, al abrir https://discourse.org/ desde meta.discourse.org.

Entonces, eso no suena como un problema que esté causando el foro, si los sitios externos tienen problemas.

Yo también lo pensé, sin embargo, parece que solo sucede al hacer clic desde el foro y, como encontré otras publicaciones, pensé que tal vez alguien podría arrojar luz sobre esto: podría ser un problema de iOS. Sería más fácil si no cargara CSS cada vez y solo a veces :sweat_smile:

1 me gusta

@Lilly Me pregunto si podrías compartir cómo maneja Discourse los href y si hay alguna forma particular para iOS. Esto parece ser un problema relacionado con Safari, pero solo ocurre desde dentro de Discourse al salir a otro dominio. Ese otro dominio no se está cargando como si Discourse intentara cargar localmente el HTML de la página solicitada.

Ya hemos intentado forzar la política de no caché y jugar con el prefijo www. Nada parece funcionar. Es exactamente el problema mencionado aquí:

Tenían el sitio web principal cargado desde su community.URL.com, lo que causó la misma carga parcial de la página.

¡Gracias de antemano!

Nuestro discourse es un subdominio (here.domain.com) para nuestro sitio principal (domain.com).

Durante meses, los usuarios de iPhone han informado que al hacer clic en enlaces desde el subdominio (discourse) de regreso al sitio principal, la página puede no cargar CSS o JS, sino solo HTML, y por lo tanto, queda inutilizable.

Esto no sucede siempre, pero con la frecuencia suficiente como para que tengan que recargar la página para solucionarlo. Al recargar, en realidad permanecen en discourse, por lo que tienen que hacer clic de nuevo.

Al observar el archivo access.log de nginx, podemos ver que por alguna razón discourse intenta obtener los archivos del dominio principal en lugar del índice del dominio principal.
No hace falta decir que discourse no tiene estos archivos, por lo que la página queda rota.

Esto es de “access.log” de nginx:

[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/cart/cart.js?v=0.32 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 429 230 "https://here.domain.com/c/testing/17" - 0.000 "-" "-" "-" "-" "-" "-" "-"

[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /css/footer_and_header.css?v=1.13 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7963 "https://here.domain.com/c/testing/17" 0.019 0.019 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /css/common/jssocials.css?v=0.03 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7968 "https://here.domain.com/c/testing/17" 0.020 0.020 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/common/lightslider.js?v=0.14 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7980 "https://here.domain.com/c/testing/17" 0.020 0.020 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/common/jssocials.js HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7978 "https://here.domain.com/c/testing/17" 0.034 0.034 "-" "-" "-" "-" "-" "-" "-"

Intentamos usar enlaces href y window.reload(), pero el problema sigue siendo el mismo. Una vez más, solo ocurre ocasionalmente y solo para usuarios de iPhone.

¿Alguna idea de por qué sucede esto y cómo se puede solucionar?

1 me gusta

¿Es este el mismo problema que describiste aquí?

1 me gusta

¡Sí! Necesita ser fusionado :sweat_smile:

Creo que ahora entendemos mejor qué está mal.

2 Me gusta

¿Alguno de los miembros del equipo tiene alguna opinión? @Lilly Sé que hablamos de esto hace un par de meses, ¿quizás tengas alguna información adicional que compartir?

Creo que es el mismo problema que el sitio web de Discourse que compartí en mi primera publicación.

Hemos observado algunos problemas extraños como este. Por lo que podemos determinar, debe ser un error en Safari/WebKit. Debería ser imposible que ocurra este tipo de renderizado de ‘sitio mixto’. Hemos presentado un informe a WebKit. (cc @pmusaraj)

Si alguien puede encontrar una forma consistente de reproducir el problema, eso casi con seguridad ayudaría a priorizar el error.

6 Me gusta

¿Alguna idea para una solución alternativa de enlaces externos?
Ambos, HREF de HTML y window.replace de JS, se comportan igual :frowning:
(Estoy seguro de que los botones de Adelante/Atrás son casi imposibles de anular)

1 me gusta

Lamentablemente, no tengo ideas para una solución alternativa. Intenté anular el registro de los service workers en caso de que esa fuera la razón del conflicto, pero no tuvo ningún efecto.

Actualmente he cambiado a Safari Technology Preview localmente. Parece que no tiene el problema, lo que puede ser un indicador de que esto está solucionado en versiones más nuevas de Webkit. O significa que un navegador nuevo con una caché nueva no tiene los problemas… es difícil decirlo.

Monitorizaremos esto y seguiremos buscando soluciones, el problema afecta a varias personas en el equipo de Discourse y en diferentes plataformas (macOS, iOS, aplicación DiscourseHub). Aparte de encontrar una solución mágica, lo mejor que podemos hacer aquí es seguir el informe de errores de Webkit y añadir información adicional allí, si es relevante/útil.

2 Me gusta