Copia migliore per il browser è "troppo vecchio per funzionare su questo sito"

Accedendo a SDMB (e anche a try.discourse.org) oggi, sono stato accolto dal seguente messaggio:

\u003e Sfortunatamente, il tuo browser è troppo vecchio per funzionare su questo sito. Aggiorna il tuo browser per visualizzare contenuti ricchi, accedere e rispondere.

Tuttavia, sto usando la versione più recente del mio browser, SeaMonkey 2.53.13, che è stata rilasciata solo quattro giorni fa. Discourse potrebbe aver scelto di non supportarlo, ma è sbagliato dire che è “troppo vecchio” per funzionare con Discourse. Infatti, se sovrascrivo la stringa User-Agent del browser, scopro che tutto sembra funzionare bene.

Il problema sembra essere un’errata analisi della User-Agent da parte di Discourse. Per impostazione predefinita, la stringa User-Agent di SeaMonkey pubblicizza la compatibilità con Firefox:

\u003e Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13

Se modifico la stringa User-Agent come segue per nascondere la compatibilità con Firefox (tramite Modifica-\u003ePreferenze-\u003eAvanzate-\u003eNetworking HTTP-\u003eStringa User Agent-\u003eIdentificati come SeaMonkey), allora SeaMonkey può nuovamente visitare i siti Discourse senza problemi evidenti:

\u003e Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.13

Capisco che Discourse potrebbe non voler supportare browser come SeaMonkey che non sono più mainstream, ma sarebbe bello se questi browser non fossero proattivamente bloccati dall’accesso ai siti Discourse. E anche se questi browser fossero proattivamente bloccati, sarebbe bello se Discourse non riportasse una motivazione errata per farlo.

Si prega di migliorare l’analisi della User-Agent in modo che controlli fino alla fine della stringa prima di decidere se l’user agent è “troppo vecchio”. (Sospetto che attualmente cerchi solo i nomi e le versioni dei browser supportati, indipendentemente dalla loro posizione all’interno della stringa User-Agent.) Dopotutto, non blocchi i browser perché riportano una vecchia versione di Mozilla all’inizio della stringa, quindi perché dovresti bloccare i browser perché riportano una vecchia versione di Firefox nel mezzo della stringa?

Se per qualche motivo è indesiderabile o impraticabile modificare l’algoritmo di analisi, allora si prega di modificare il comportamento al rilevamento di un user-agent apparentemente incompatibile: invece di dire (forse falsamente) all’utente che il suo browser è “troppo vecchio” e bloccare l’ulteriore accesso, informa l’utente che il suo browser non è supportato e collega all’elenco dei browser supportati, ma dagli un’opzione per continuare comunque utilizzando il browser esistente.

Ha molto a che fare con il modo in cui Discourse controlla l’user agent, secondo me, seamonkey non dovrebbe avere un’opzione di intestazione Firefox se deve mostrare una vecchia versione di Firefox, che non è compatibile con Discourse, molto probabilmente una cattiva pianificazione da parte di Seamonkey, non con Discourse.

2 Mi Piace

Normalmente, Discourse tenta rilevare versioni non supportate tramite il controllo delle funzionalità anziché l’analisi dello user agent.

Un problema recente con il composer nelle vecchie versioni di Firefox ha richiesto loro di utilizzare l’analisi dello user agent perché se si chiedeva a certe versioni di Firefox, avrebbero felicemente (e tecnicamente accuratamente) detto che supportavano le funzioni necessarie quando in realtà erano difettose e non funzionavano correttamente.

Il problema qui è che Seamonkey sta dicendo ai siti per impostazione predefinita che è compatibile con una versione molto più vecchia di Firefox anziché con la versione con cui è effettivamente compatibile.

Discourse sta facendo la cosa giusta in questo caso.

4 Mi Piace

Non credo sia così semplice. Una data versione di SeaMonkey pubblicizza la compatibilità con una certa versione di Firefox perché quelle due versioni del browser condividono lo stesso codice di base. Si può generalmente presumere che quella versione di SeaMonkey possa fare, come minimo, tutto ciò che quella versione di Firefox può fare. Oltre a questa compatibilità di base, una data versione di SeaMonkey può anche supportare alcune funzionalità che le versioni successive di Firefox supportano, anche se non necessariamente tutte. Quindi non sarebbe veritiero (né generalmente utile) per SeaMonkey pubblicizzare esplicitamente la compatibilità con quelle versioni successive.

In breve, solo perché un nuovo browser pubblicizza la compatibilità con un vecchio browser non significa che il nuovo browser non supporti anche funzionalità più recenti. Ancora una volta, la maggior parte dei browser oggi pubblicizza la compatibilità con Mozilla/5.0, ma ciò non significa che siano strettamente limitati da ciò che quell’antico motore può fare.

Potresti provare ad aprire il composer e vedere se i pulsanti Grassetto/Corsivo funzionano correttamente? Questo è il problema che abbiamo avuto con le versioni precedenti di Firefox.

1 Mi Piace

Un’alternativa al rilevamento UA che corrisponde a una versione vicina (da 89 a 91) di Firefox è il rilevamento delle funzionalità di window.visualViewport. Forse possiamo passare a quello? Ma avremo ancora bisogno di aggiungere un bypass per Safari 12.5 fino a gennaio :weary:

Potresti provare ad aprire il compositore e vedere se i pulsanti Grassetto/Corsivo funzionano correttamente? Questo è il problema che abbiamo avuto con le versioni precedenti di Firefox.

Posso confermare che questi pulsanti attualmente non funzionano correttamente per me su SeaMonkey 2.53.13, ma funzionano su Firefox 100.0.2. Non avevo provato a usarli prima poiché scrivo sempre direttamente in Markdown.

Ora che lo menzioni, anche il pulsante Rispondi non funziona su SeaMonkey qui su meta, mentre funziona su boards.straightdope.com (in esecuzione su hosted-by-discourse.com).

1 Mi Piace

Quindi l’avviso che abbiamo in cima è valido allora?

2 Mi Piace

Non come è formulato, no, perché il mio browser non è “vecchio” e non ho bisogno di “aggiornarlo”. Il minimo che potresti fare sarebbe cambiare la formulazione in: “Sembra che tu stia utilizzando un browser non supportato. Passa a un browser supportato per visualizzare contenuti avanzati, accedere e rispondere.”

4 Mi Piace

Sì, sono d’accordo nell’aggiornare il testo, “old” esprime un giudizio e anche lynx è ancora attivamente sviluppato.

3 Mi Piace

@nbianca puoi aggiornare il testo?

2 Mi Piace

Ho aggiornato il testo in questa PR:

2 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 4 giorni. Non sono più ammessi nuovi messaggi.