Berichte brechen, wenn sie als Link mit Text in einen Beitrag eingefügt werden

Dies ist eine etwas seltsame Sache, aber sie hebt ein Problem mit Links in Beiträgen hervor, die mit Text verknüpft sind.

Wenn ich:

  1. eine Data Explorer-Abfrage mit einer Variablen erstelle
  2. und sie einer Gruppe zuweise
  3. die URL über den Berichte-Tab der Gruppe aufrufe
  4. die Variable hinzufüge und die Abfrage ausführe
  5. die URL kopiere und sie zu etwas Text in einem Beitrag hinzufüge

dann wird die URL beschädigt / fehlerhaft.

Was ich beobachte ist:

  1. Dies ist ein Beispiel-Link, der so erstellt wurde (privat, sorry):
    https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%7B%22topic_id%22%3A%2234521%22%7D
  2. Wenn ich diesen Link zu etwas Text hier hinzufüge, geht bei der URL-Kodierung etwas schief und wir erhalten dies:
    https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%257B%2522topic_id%2522%253A%252234521%2522%257D

Und das zerstört die Seite!

Wenn ich den Link einfach in den Beitrag einfüge, passiert das nicht - es passiert nur, wenn ich ihn zu Text hinzufüge. Etwas geht also schief, wenn es auf eine bereits vorhandene Kodierung trifft, denke ich.

@nathank’s Bericht konzentrierte sich auf die spezifische Nische, die sie zufällig gerade machten, als sie den Fehler entdeckten. Der Fehler ist jedoch in keiner Weise spezifisch für den Data Explorer. Ich befürchte, dass der übermäßig enge Fokus des Berichts und die Verwendung des irrelevanten Tags data-explorer (der geeignete Tag wäre composer) dazu führen könnten, dass das Discourse-Team ihn nur schwer interpretieren kann oder ihm nicht die entsprechende Aufmerksamkeit geschenkt wird.

Der Fehler tritt unter den folgenden Bedingungen universell auf:

  • Die URL enthält prozentkodierte Inhalte (Percent-Encoding)
  • Der Link wird über den Dialog „Link einfügen“ zum Beitrag hinzugefügt.

Die URL wird unter diesen Bedingungen immer beschädigt.

Reproduzierbare Schritte:

  1. Öffnen Sie die folgende URL in Ihrem Webbrowser:
    https://en.wikipedia.org/wiki/Horncastle_boar%27s_head
    (beachten Sie, dass die URL die Prozentkodierung des Zeichens ' als %27 enthält)
    :slightly_smiling_face: Die erwartete Seite wird geöffnet.
  2. Klicken Sie im Beitragseditor auf das Symbol „Link“.
    Der Dialog „Link einfügen“ wird geöffnet.
  3. Geben Sie die obige URL in das Feld „Link oder Thema“ des Dialogs ein.
  4. Klicken Sie auf die Schaltfläche „Einfügen“.

:bug: Das Ziel des über das obige Verfahren hinzugefügten Links ist falsch:
https://en.wikipedia.org/wiki/Horncastle_boar%2527s_head

anstelle der korrekten URL:
https://en.wikipedia.org/wiki/Horncastle_boar%27s_head

Der Link führt nicht zur beabsichtigten Seite.

Dies geschah, weil das %-Zeichen der Prozentkodierung %27 redundant kodiert wurde, wodurch das % durch seine eigene Prozentkodierung %25 ersetzt wurde, was dazu führte, dass der korrekte URL-Inhalt %27 zu %2527 beschädigt wurde.

Plattform:

Betriebssystem

  • Windows 11

Browser

  • Google Chrome 139.0.7258.128

Discourse

12c80d43adeb87cc18604ace0430a75d277d7662

Zusätzlicher Kontext:

Ich kann den Fehler auf try.discourse.org im „Sicherheitsmodus“ reproduzieren.


Der Fehler tritt in beiden Composer-Modi auf.

2 „Gefällt mir“

OK, ich kann es reproduzieren, aber ausschließlich bei Verwendung des Link-Modals, richtig? (Nur um den Umfang des Problems zu bestätigen)

Wenn ich es direkt einfüge: https://en.wikipedia.org/wiki/Horncastle_boar’s_head; oder die URL über eine Auswahl einfüge, funktioniert es wie erwartet.

EDIT: Oder… fast. Die direkte URL wird dekodiert: https://en.wikipedia.org/wiki/Horncastle_boar’s_head, was ebenfalls unerwartet ist und Inline-Oneboxing vermeidet.

Vielen Dank für den Bericht!

3 „Gefällt mir“

Ja, das ist richtig.

1 „Gefällt mir“

Ja, das tat er – ich hatte nicht erkannt, dass es sich um ein breiteres Problem mit der Linkkodierung im Komponisten-Link-Modal handelte.

Ich habe den Titel und das Tag bearbeitet, um Ihre guten Punkte und Ihre Recherche widerzuspiegeln!

2 „Gefällt mir“

Ich glaube, das wurde in

behoben.

Das Ergebnis ist
[Horncastle boar's head](https://en.wikipedia.org/wiki/Horncastle_boar's_head)
:white_check_mark:

3 „Gefällt mir“

Ja, ich erinnere mich, daran herumgespielt zu haben. Ich denke, das kann geschlossen werden!

3 „Gefällt mir“

Dieses Thema wurde nach 4 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.