Schermo vuoto per argomento su Web mobile: TypeError nella Console di amministrazione

iOS v13.3.1
Mobile Chrome v80.0.3987.95

Ho visitato un argomento sul nostro Forum ed è stato caricato solo l’intestazione (due volte in un caso, vedi gli screenshot dopo l’output dell’errore qui sotto) — di fatto era una pagina vuota. Ero disconnesso al momento. Aggiorna, nuova pagina e ricarica, nonché chiusura dell’app e ricarica non hanno risolto il problema. È molto difficile diagnosticarlo da mobile.

Non sono riuscito a riprodurre il problema sul mio desktop.

Dai miei Log Errori di Amministratore sono stato in grado di correlare due errori avvenuti nello stesso momento:


# PRIMO ERRORE 20:09

TypeError: undefined is not a function (near '...l.replace...') Url: https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js Line: 1 Col

https://community.redwoodjs.com/assets/pretty-text-bundle-b028b1d5eed228f191f4f25757a12c99d1209f6a9ce91f98c6d378dd3589df7d.js:1:88120
https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:1218167
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:112413
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:419530
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:409113
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:422544
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:422239
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:415154
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:449567
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:449160
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:449067
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:474873
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:142193
V@https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:187610
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:145561
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:145879
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:145269
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:144382
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:144109
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:490070
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:489056
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:491075
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:496504
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:493039
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:497040
e@https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:29468
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:29788

# SECONDO ERRORE 20:51

TypeError: undefined is not an object (evaluating 'e.position().top') Url: https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js Line:

l@https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:208270
t@https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:208295
scrolled@https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:1095126
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:490059
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:489056
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:491075
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:496504
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:493039
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:497862
[native code]

Fammi sapere se ci sono ulteriori informazioni che posso fornire o passaggi per aiutare nella valutazione.

Sposto questo argomento in Support per ora, finché non riusciremo a trovare i passaggi per riprodurlo su altri siti. Se è riproducibile qui o su try.discourse.org, può essere trattato come un bug. Ho provato a navigare nell’argomento in questione sul tuo sito da mobile, ma non sono riuscito a riprodurre la pagina vuota in alcun modo.

La prima domanda è sempre: funziona in modalità sicura? RedwoodJS Community

Se sì, è probabile che si tratti di una personalizzazione del sito, anche se in tal caso mi sarei aspettato di vederlo anche io.

Grazie @Stephen, ho provato a riprodurre l’errore sia in modalità sicura che fuori dalla modalità sicura, ma purtroppo non sono riuscito a farlo. Sospetto che si verifichi solo quando un utente non è collegato. Forse, quando mi sono collegato, ho resettato la cache e altro, “risolvendo” così l’errore.

Ho dimenticato di menzionare come si è verificato l’errore in primo luogo:

  1. Nell’app di Slack utilizziamo l’integrazione con Discourse. Ho cliccato su un link di un argomento inviato dal bot di integrazione, che si è aperto nel mio browser Chrome su mobile.
  2. Non ero collegato nel mio browser Chrome. Ho ricevuto la pagina vuota menzionata sopra.

Ho l’app Discourse Hub sul mio telefono. Di solito la apro direttamente per accedere al forum e agli argomenti.

Abbiamo ricevuto segnalazioni crescenti di questo problema da parte di utenti che visualizzano il sito come ospiti in vari argomenti. I log degli errori dell’amministratore che ritengo correlati sono tutti varianti di TypeError: X is not a function relativi o al bundle pretty-text o alla risorsa ember_jquery (identico all’errore del post originale).

→ Ho appena aggiornato alla versione 2.5.0.beta3 e farò rapporto se questo sembra risolvere il problema.

Riproduzione

Non sono riuscito a riprodurre questo errore utilizzando la Modalità Sicura. Se attivavo la Modalità Sicura, l’errore cessava. Ma poi, se la “disattivavo”, non riuscivo più a riprodurre l’errore.

Questo argomento ha riprodotto l’errore per un certo periodo tramite accesso come ospite su un browser web:
:rocket: RWJS v0.6.0 è ora disponibile

Un utente ha riportato l’output da https://community.redwoodjs.com/logs/report_js_error che mostrava:
Rate Limited

Sono riuscito a riprodurre questo errore e il corrispondente Rate Limited sul mio Mac come ospite su Safari. Ma lo stesso argomento si è caricato correttamente su Firefox (ancora come ospite).

Impostazioni del sito/Hosting

Il nostro sito utilizza due plugin:

È ospitato su DigitalOcean con una configurazione molto simile alle istruzioni di installazione fornite.

Probabilmente è qualcosa nel tuo tema, se il problema scompare in modalità provvisoria?

È possibile, ma piuttosto banale lì dentro…

Continuerò a provare. È che ogni volta che penso di avere un esempio riproducibile, si risolve.

Forse è un problema di cache? Come potrei verificare?

Se non riesci a riprodurlo qui, è al 100% qualcosa nella tua configurazione, in un modo o nell’altro.

Capito. E in realtà l’ho proprio sperimentato qui su meta.discourse.org quando ho configurato il nostro sito a marzo. Stavo cercando su Google informazioni sulle impostazioni dell’integrazione con Slack, ho cliccato su un link a un argomento e mi sono ritrovato con uno schermo per lo più vuoto e l’intestazione del titolo ripetuta più volte (vedi la seconda schermata nel mio post originale qui). All’epoca ho aggirato il problema usando la versione memorizzata nella cache di Google e da allora non l’ho più sperimentato. Inoltre, potevo visitare altri argomenti e la homepage senza problemi.

Che strano.

Continuerò a scavare e farò sicuramente rapporto. Con un po’ di fortuna, forse è stato risolto in qualche modo con l’aggiornamento beta3. :crossed_fingers:

Infine, siamo davvero, davvero contenti di Discourse e di quanto velocemente la nostra comunità abbia preso forma in sole 6 settimane. Ne sono ispirato e posso solo sognare che un giorno le persone dicano la stessa cosa di RedwoodJS, una volta che avrà avuto il tempo di crescere un po’.

Grazie.

Hai qualche proxy o un’altra configurazione insolita?

Aggiornamento
L’aggiornamento a Beta3 sembra aver risolto il problema per la maggior parte degli utenti che segnalavano difficoltà. Incrociamo le dita!

Riguardo: Proxy/Configurazione
Utilizzo Cloudflare 1.1.1.1 come DNS di rete, ma nulla di personalizzato in altri ambiti.

Mi chiedevo se potesse essere correlato a un ad-blocker: ad esempio, alcuni hanno riferito che funziona bene in modalità incognito di Chrome, ma non altrimenti.

Ancora a capo in dubbio…