Beim Einloggen auf SDMB (und auch auf try.discourse.org) werde ich heute mit folgender Nachricht begrüßt:
\u003e Leider ist Ihr Browser zu alt, um auf dieser Website zu funktionieren. Bitte aktualisieren Sie Ihren Browser, um Rich Content anzuzeigen, sich anzumelden und zu antworten.
Ich verwende jedoch die neueste Version meines Browsers, SeaMonkey 2.53.13, die erst vor vier Tagen veröffentlicht wurde. Discourse hat sich vielleicht entschieden, ihn nicht zu unterstützen, aber es ist falsch zu sagen, dass er “zu alt” ist, um mit Discourse zu funktionieren. Tatsächlich scheint alles einwandfrei zu funktionieren, wenn ich die User-Agent-Zeichenkette des Browsers überschreibe.
Das Problem scheint eine ungenaue User-Agent-Erkennung seitens Discourse zu sein. Standardmäßig gibt die User-Agent-Zeichenkette von SeaMonkey Firefox-Kompatibilität an:
\u003e Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13
Wenn ich die User-Agent-Zeichenkette wie folgt ändere, um die Firefox-Kompatibilität zu verbergen (über Bearbeiten->Einstellungen->Erweitert->HTTP-Netzwerk->User Agent String->Als SeaMonkey identifizieren), kann SeaMonkey Discourse-Websites wieder ohne offensichtliche Probleme besuchen:
\u003e Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.13
Ich verstehe, dass Discourse möglicherweise keine Browser wie SeaMonkey unterstützen möchte, die nicht mehr im Mainstream sind, aber es wäre schön, wenn diese Browser nicht proaktiv vom Zugriff auf Discourse-Websites ausgeschlossen würden. Und selbst wenn diese Browser proaktiv blockiert werden, wäre es schön, wenn Discourse keinen falschen Grund dafür angeben würde.
Bitte verbessern Sie die User-Agent-Erkennung, sodass sie die gesamte Zeichenkette prüft, bevor sie entscheidet, ob der User-Agent “zu alt” ist. (Ich vermute, dass sie derzeit nur nach den Namen und Versionen unterstützter Browser sucht, unabhängig von ihrer Position in der User-Agent-Zeichenkette.) Schließlich blockieren Sie Browser nicht, weil sie eine alte Version von Mozilla am Anfang der Zeichenkette angeben, warum sollten Sie dann Browser blockieren, weil sie eine alte Version von Firefox in der Mitte der Zeichenkette angeben?
Wenn es aus irgendeinem Grund unerwünscht oder unpraktisch ist, den Erkennungsalgorithmus zu ändern, dann ändern Sie bitte das Verhalten bei der Erkennung eines angeblich inkompatiblen User-Agents: Anstatt dem Benutzer (vielleicht fälschlicherweise) mitzuteilen, dass sein Browser “zu alt” ist und den weiteren Zugriff zu blockieren, teilen Sie dem Benutzer mit, dass sein Browser nicht unterstützt wird, und verlinken Sie zur Liste der unterstützten Browser, geben Sie ihm aber die Option, mit seinem vorhandenen Browser fortzufahren.