Thema mit Japanisch in der URL wird nicht umgeleitet, wenn die URL nicht exakt übereinstimmt

Auf community.wanikani.com funktioniert das Öffnen von Links zu Themen mit japanischen Zeichen in der vollständig qualifizierten URL nicht mehr, wenn sie in einem neuen Tab geöffnet oder direkt kopiert und eingefügt werden. Das Anklicken des Links zur Navigation im selben Tab funktioniert jedoch weiterhin.

Zum Beispiel sollte das Öffnen dieses Links (キノの旅 Home Thread (Intermediate Book Club) - Book Clubs - WaniKani Community) in einem neuen Tab zu folgender URL navigieren:

キノの旅 Home Thread (Intermediate Book Club) - Book Clubs - WaniKani Community

Stattdessen versucht er jedoch, zu folgender URL zu navigieren:

キノの旅 Home Thread (Intermediate Book Club) - Book Clubs - WaniKani Community

was nicht lädt.

Wenn der Link (キノの旅 Home Thread (Intermediate Book Club) - Book Clubs - WaniKani Community) exakt übereinstimmt, funktioniert er einwandfrei. Bei Umbenennungen von Themen ist dies jedoch oft nicht der Fall.

Ich habe versucht, das Problem auch auf try.discourse.org nachzustellen, aber bei dieser Installation werden japanische Zeichen selbst dann nicht in die URL eingefügt, wenn sie im Titel des Themas enthalten sind. Ich bin mir nicht sicher, warum das so ist, aber ohne dieses Verhalten kann ich den Fehler dort nicht demonstrieren.

2 „Gefällt mir“

Beide sind Links zum Thema 34890. Bei mir laden beide in Firefox einwandfrei. Was ist das Problem?

3 „Gefällt mir“

Seufz Es sieht so aus, als wäre es wieder ein Chrome-Bug. Bei mir funktioniert es sowohl in Firefox als auch in Edge einwandfrei. Seltsamerweise klappt es beim ersten Mal in einem Inkognito-Fenster, scheitert aber beim zweiten Mal. Das Gleiche passiert auch nach dem Löschen des Site-Caches/Cookies und einem Neustart meines Computers.

Chrome meldet als Fehler zu viele Umleitungen.


Wären Sie so nett, das in Chrome zu prüfen, um zu bestätigen, ob es dort generell ein Problem ist und nicht nur bei mir? Bitte versuchen Sie unbedingt, die Seite mehrmals zu öffnen, da die erste Öffnung scheinbar problemlos funktioniert. Ich danke Ihnen für die Hilfe!

3 „Gefällt mir“

Ich kann es auf Chrome Mobile nachstellen. :bug:

5 „Gefällt mir“

Danke. Ich werde es wohl bei Google melden.

1 „Gefällt mir“

Auf meinem Android-Handy im Chrome-Browser wird der zweite Link unendlich weitergeleitet.

1 „Gefällt mir“

Immer noch mit Chrome? Ich möchte nur sichergehen, bevor ich es ihnen melde. Ich gehe davon aus, dass sich kürzlich nichts in Bezug auf dieses Problem auf Discourse geändert hat? (Unabhängig davon wäre dies wahrscheinlich immer noch ein Chrome-Problem, da es nur dort auftritt, selbst wenn sich etwas auf Discourse geändert hätte.)

3 „Gefällt mir“

Warte noch kurz, das könnte an Discourse liegen. Vielleicht ist es sogar ein Fehler im Service Worker.

5 „Gefällt mir“

Alles klar, danke für das Update.

1 „Gefällt mir“

Gibt es dazu ein Update?

Das wird eine Weile dauern, bis es geklärt ist. Es ist bereits zugewiesen, sodass es nicht unter den Tisch fällt.

7 „Gefällt mir“

Ich erwarte nicht, irgendeine Art von Lösung oder Workaround zu finden. Wir müssen einfach darauf warten, dass es behoben wird.

Siehst du dieses Problem immer noch? Es sieht so aus, als wäre es vielleicht behoben, es sei denn, ich mache diesmal etwas anders.

1 „Gefällt mir“

Nun, das war’s dann wohl. Es ist heute wieder aufgetreten. Ich habe keine Ahnung, wie es für eine Weile behoben werden konnte.


Da das möglicherweise eine Weile in Anspruch nimmt, wäre ich vorerst für Workarounds offen. Ich habe im ursprünglichen Beitrag erwähnt, dass auf try (und ich habe das hier im Meta-Bereich ebenfalls überprüft) japanische Zeichen nie zur URL hinzugefügt werden, was dieses Problem effektiv umgeht. Ist das eine Site- oder Kategorieeinstellung, über die ich mit meinem Site-Administrator sprechen kann? Gibt es noch andere Vorschläge für einen Workaround außer diesem?

Wenn ich eine URL mit einem arabischen Titel in den Browser eingebe, wie zum Beispiel:

https://forums.coretabs.net/t/2456

gerate ich in eine Endlosschleife von Weiterleitungen (und der generierte Link ist meiner Meinung nach falsch; das liegt wahrscheinlich an der Kodierung).

Stattdessen sollte die Weiterleitung zu folgender URL erfolgen:

https://forums.coretabs.net/t/ماذا-يجب-ان-نتعلم-في-javascript-؟/2456

Warum teile ich keine Links mit ihren Titeln?

Wegen der schlechten Unterstützung für Arabisch auf Twitter und Facebook:

  • Dieser Fehler existierte vor den letzten Updates noch nicht (das letzte Mal, dass ich versucht habe, einen Link zu teilen, war vor etwa zwei Wochen, und damals hat alles einwandfrei funktioniert).
3 „Gefällt mir“

Ich habe mich in unseren Codebase eingearbeitet und es sieht so aus, als wäre der Fehler relativ einfach, aber ich möchte meine Annahmen gerne verifizieren.

Wir haben eine Site-Einstellung namens slug_generation_method, die von dem Standardwert ascii auf encoded geändert werden muss, um diesen Fehler auszulösen. Wenn Sie diese Site-Einstellung ändern, löschen wir alle Slugs und generieren sie neu.

Was ich nicht verstehe, ist, warum wir, wenn die Site-Einstellung auf “encoded” gesetzt ist, einen Slug wie diesen generieren:

[3] pry(main)> SiteSetting.slug_generation_method
=> "encoded"
[4] pry(main)> Slug.for(t.slug)
=> "キノの旅-home-thread-intermediate-book-club"

wobei ich erwartet hätte, dass “encoded” so etwas bedeutet wie:

[5] pry(main)> CGI.escape(Slug.for(t.slug))
=> "%E3%82%AD%E3%83%8E%E3%81%AE%E6%97%85-home-thread-intermediate-book-club"

Dies scheint aus folgendem zu stammen:

Der Roh-Slug aus der Tabelle wird im Location-Header der 301-Antwort zurückgegeben, wenn ein Topic-Slug nicht übereinstimmt, und meiner Meinung nach sollten wir dort eine gültige URL zurückgeben.

9 „Gefällt mir“

Ja, wir sollten die Methode zur Generierung von Slugs für Encoded aufräumen, damit sie weniger auf Browser-Magie angewiesen ist.

8 „Gefällt mir“

Meinst du also, dass die URL selbst die codierte Version anzeigt? Oder nur, dass die Weiterleitung dies intern durch Verwendung der codierten Version handhabt? Auf jeden Fall wäre es toll, wenn dies „einfach funktioniert

1 „Gefällt mir“

Hallo,

ist dieser Fall bereits geklärt?
Denn ich habe immer noch das Problem, das ich im von mir erstellten Thema dazu erwähnt habe.

1 „Gefällt mir“

Nein, wie durch das offene Thema in der Kategorie bug hier angedeutet wird :sweat_smile:

@sam Ich habe mir das heute noch einmal angesehen, und es gibt zwei Möglichkeiten:

  1. Speichere einen tatsächlichen kodierten Slug in der Slug-Spalte, wenn die Einstellung zur Slug-Generierung auf kodiert gesetzt ist. Führe eine Migration durch, um alle aktuellen Slugs zu löschen, wenn kodierte Slugs verwendet werden, damit sie im Laufe der Zeit ordnungsgemäß neu generiert werden.

  2. Behalte den aktuellen UTF-8-Slug bei und korrigiere ihn on-the-fly, wenn er in einem Header für eine 301-Weiterleitung gesendet wird.

Meiner Meinung nach ist Option 1 „korrekter

6 „Gefällt mir“