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.