iOS a volte non carica il CSS durante la navigazione tra sottodomini

Sembra accadere solo sui dispositivi iOS: a volte i link esterni si aprono nella stessa finestra ma il CSS non viene caricato. Strano e non riesco nemmeno a riprodurlo!

Sembra così:

Ho anche trovato segnalazioni su altri forum pubblici di discourse:

Dato che è stato segnalato e corretto in precedenza, mi chiedo se possa essere correlato a un tema o a un componente del tema, forse? Apprezzerei qualsiasi aiuto.

3 Mi Piace

Quali errori vengono visualizzati nei log di rete quando il CSS non viene caricato?

Per quanto riguarda la possibilità teorica che si tratti di un problema di tema/componente, hai provato la modalità provvisoria?

1 Mi Piace

no semplicemente perché ho visto questo comportamento alcune volte nelle ultime due settimane, solo sul mio iPhone e ho sentito lo stesso da parte degli utenti ma non riesco a riprodurlo, sembra casuale.

1 Mi Piace

Sembra un vecchio bug. Al momento non riesco a riprodurlo e tutti gli argomenti collegati hanno almeno un anno. Sembra un forum non aggiornato.

2 Mi Piace

Grazie, ma sta eseguendo l’ultimo aggiornamento beta :frowning:

Cosa è stato risolto in quel bug? Mi chiedo se forse c’è un componente o un tema che ha rigenerato questo bug?

1 Mi Piace

Sto provando a riprenderlo, sembra succedere occasionalmente - non sono sicuro di come riprodurlo. Succede però, solo su iOS per quanto ne so.

1 Mi Piace

Utilizzo più dispositivi iOS, iPhone 15 Pro Max, iPad Air 5a gen, MacBook Air M2 e non riesco a riprodurlo :thinking:

Che modello di dispositivo e versione di iOS stai utilizzando?

1 Mi Piace

personalmente iPhone 12 con iOS 17.4 più recente

Succede solo per i link esterni che utilizzano <a> HTML, ma anche in quel caso succede solo occasionalmente?

Mi piacerebbe sapere quale bug è stato corretto, così forse potrei provare a innescare qualcosa per riprodurlo :confused:

1 Mi Piace

In che modo tali segnalazioni si riferiscono a problemi con il CSS di Discourse Forums? Il primo afferma esplicitamente:

il forum non è interessato da questo problema

1 Mi Piace

Sembra essere lo stesso comportamento: si verifica quando si apre un sito web esterno da discourse. Ad esempio, aprendo https://discourse.org/ da meta.discourse.org.

Allora non sembra un problema causato dal forum, se anche siti esterni hanno problemi.

L’ho pensato anch’io, tuttavia sembra accadere solo quando si fa clic dal forum e poiché ho trovato altri post ho pensato che forse qualcuno potrebbe fare luce su questo - potrebbe essere un problema di iOS. Sarebbe stato più facile se non caricasse il CSS ogni volta e solo a volte :sweat_smile:

1 Mi Piace

@Lilly Mi chiedo se potresti condividere come discourse gestisce href e se c’è un modo particolare per iOS? Questo sembra essere un problema relativo a Safari, ma si verifica solo dall’interno di discourse verso un altro dominio. Quel dominio non viene caricato come se discourse stesse cercando di caricare localmente l’html della pagina richiesta.

Abbiamo già provato a forzare la policy no-cache e a giocare con il prefisso www. Nulla sembra funzionare. È esattamente il problema menzionato qui:

Lì il sito principale veniva caricato dal loro community.URL.com, causando lo stesso caricamento parziale della pagina.

Grazie in anticipo!

Il nostro discourse è un sottodominio (here.domain.com) per il nostro sito principale (domain.com).

Da mesi gli utenti iPhone segnalano che, quando cliccano sui link dal sottodominio (discourse) al sito principale, la pagina potrebbe non caricare CSS o JS ma solo HTML, rendendola inutilizzabile.

Questo non accade ogni singola volta, ma abbastanza frequentemente da richiedere agli utenti di ricaricare la pagina per risolvere il problema. Ricaricando, in realtà rimangono su discourse, quindi devono cliccare di nuovo.

Guardando il file access.log di nginx, possiamo vedere che per qualche motivo discourse tenta di recuperare i file del dominio principale invece dell’indice del dominio principale.
Inutile dire che discourse non ha questi file, quindi la pagina risulta corrotta.

Questo è da “access.log” di 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 "-" "-" "-" "-" "-" "-" "-"

Abbiamo provato a usare sia link href che window.reload(), ma il problema rimane lo stesso. Ancora una volta, accade solo occasionalmente e solo per gli utenti iPhone.

Avete idee sul perché succede e come si può risolvere?

1 Mi Piace

È lo stesso problema che hai descritto qui?

1 Mi Piace

Sì! deve essere unito :sweat_smile:

Penso che ora capiamo meglio cosa c’è che non va.

2 Mi Piace

Qualche membro del team ha qualche idea? @Lilly so che ne abbiamo discusso un paio di mesi fa, forse hai qualche spunto aggiuntivo da condividere?

Penso sia lo stesso problema del sito web di discourse che ho condiviso nel mio primo post.

Abbiamo osservato alcuni strani problemi come questo. Per quanto ne sappiamo, deve essere un bug in Safari/WebKit. Non dovrebbe essere possibile che si verifichi questo tipo di rendering di “sito misto”. Abbiamo segnalato un problema a WebKit. (cc @pmusaraj)

Se qualcuno riesce a trovare un modo coerente per riprodurre il problema, ciò aiuterebbe quasi certamente a dare priorità al bug.

6 Mi Piace

Qualche idea per una soluzione alternativa per i link esterni?
Sia HREF HTML che window.replace JS si comportano allo stesso modo :frowning:
(Sono sicuro che Avanti/Indietro siano quasi impossibili da sovrascrivere)

1 Mi Piace

Purtroppo, non ho idee per una soluzione alternativa. Ho provato a de-registrare i service worker nel caso fosse quello il motivo del conflitto, ma non ha avuto alcun effetto.

Attualmente sono passato a Safari Technology Preview localmente. Sembra non avere il problema, il che potrebbe indicare che è stato risolto nelle versioni più recenti di Webkit. Oppure, significa che un browser pulito con una cache pulita non presenta i problemi… difficile da dire.

Monitoreremo questo aspetto e continueremo a cercare soluzioni, il problema colpisce diverse persone nel team di Discourse e su diverse piattaforme (macOS, iOS, app DiscourseHub). A parte trovare una soluzione magica, però, il meglio che possiamo fare qui è seguire il bug report di Webkit e aggiungere ulteriori informazioni lì, se pertinenti/utili.

2 Mi Piace