Zitat kaputt, wenn Name mit Benutzername übereinstimmt

Fortsetzung von Configuring Twitter login and rich embeds for Discourse - #114 by Hifihedgehog

Ich habe eine E-Mail über diese Sache erhalten und war sehr verwirrt, da ich mich nicht erinnern konnte, einen solchen Beitrag verfasst zu haben.

Ich bin neugierig, wie „taylor“ hier in der Zitatantwort vertauscht wurde? Ist das ein manueller Bearbeitungsfehler (ich bin mir nicht sicher, wie man einen Zitatblock mit einer Quelle manuell erstellt oder ob das überhaupt möglich ist)? Oder gibt es irgendwo einen Fehler in der Antwortlogik? @tshenry

1 „Gefällt mir“

Ich habe gerade versucht, ein paar Beiträge zu zitieren, und ich glaube, es gibt ein Problem mit dem Benutzernamen im Vergleich zum vollständigen Namen. Wahrscheinlich dieser kürzliche Commit:

1 „Gefällt mir“

Hallo @JammyDodger,

können Sie mir mehr Informationen zu

geben?

Mit den Website-Einstellungen prioritize username in ux aktiviert und display name on posts deaktiviert sollten Sie den Benutzernamen im Zitat sehen, und umgekehrt für die Anzeige des vollständigen Namens.

1 „Gefällt mir“

Entschuldigung, ich hätte dort viel hilfreicher sein können. :slightly_smiling_face: Ich habe gerade versucht, mehrere der Beiträge in diesem Thema zu zitieren, und es gab einige seltsame Ergebnisse in meinem Composer:

@Hifihedgehogs Beitrag:

[quote=", post:114, topic:13395"]du hast recht! Das dauerte nur ein paar Minuten und ich wurde sofort genehmigt. Einfache Lösungen sind immer schön! :smile:
[/quote]

@tshenrys Beitrag:

[quote="Taylor, post:113, topic:13395"]
Sie können kostenlos auf die v1.1 API im Rahmen des Elevated-Plans zugreifen. Sie müssen sich einfach von Ihrem Entwickler-Dashboard aus bewerben. Ich fand es sehr schnell und einfach. Discourse Twitter-Logins funktionierten danach einwandfrei :tada:
[/quote]

(das ist der Stil, für den @taylor eine Benachrichtigung erhalten hat)

4 „Gefällt mir“

Ah, danke, dass Sie darauf hinweisen… ja, das ist nicht wünschenswert / beabsichtigt. Ich werde mich darum kümmern!

3 „Gefällt mir“

Der Grund, warum @taylor in diesem Zitat markiert wurde (und eine E-Mail erhalten hat), ist, dass sein Benutzername – Taylor – derselbe ist wie @tshenry’s vollständiger Name – Taylor :open_mouth:, der (der vollständige Name) aufgrund der Änderungen in DEV: Prioritize full name when setting active (#15820) · discourse/discourse@5a93ce4 · GitHub korrekt priorisiert wird.

Auf jeden Fall danke für den Tipp, ich werde das beheben!

9 „Gefällt mir“

FWIW, es lässt auch Zitate ohne vollständige Namen leer:

[quote=", post:114, topic:13395"]du hast recht! Das hat nur ein paar Minuten gedauert und ich wurde sofort genehmigt. Einfache Lösungen sind immer schön! :smile:
[/quote]

4 „Gefällt mir“

Sind wir jetzt gut damit, @isaac?

Ja, wir haben die Änderung rückgängig gemacht, und ich arbeite daran, die Logik zu korrigieren, bevor wir sie wieder zusammenführen.

3 „Gefällt mir“

Bei der Aktualisierung der Zitatlogik, um das Benutzernamen oder den vollständigen Namen über eine Website-Einstellung umschalten zu können, bin ich auf ein Problem gestoßen (ein Teil des Problems wurde oben erwähnt). Lassen Sie mich ein hypothetisches Szenario erstellen…

  • Tim erstellt einen Beitrag
  • Eine Website-Einstellung wird hinzugefügt und aktiviert, um den Anzeigenamen des OP von Benutzername (war aktiv) auf vollständiger Name (jetzt aktiv) umzuschalten
  • Ein Benutzer zitiert Tim in einem neuen Beitrag, aber da wir jetzt den vollständigen Namen für Zitate verwenden, erhält unser anderer Benutzer TimTam, vollständiger Name: Tim, eine Benachrichtigung, dass jemand ihn in einem Beitrag zitiert hat, den er nie erstellt hat.

Das erneute Backen aller Zitate ist ebenfalls keine Option. Wenn diese Website-Einstellung mehrmals umgeschaltet wurde und wir mehrmals neu backen, ist ein Zitat, das von einem vollständigen Namen zu einem Benutzernamen konvertiert wird, nicht eindeutig und könnte mehrere Benutzer finden.

Der Weg, den ich sehe, ist das Hinzufügen eines zusätzlichen Datenattributs zum Zitat von data-full-name="true" (oder etwas Ähnlichem), um zu prüfen, ob wir den Benutzernamen im UX durch den vollständigen Namen ersetzen sollen, anstatt data-username zu manipulieren.

z.B.

data-username="always.users.username" data-post="1" data-topic="1" data-full-name="true"

und uns die Mühe ersparen, uns darum zu kümmern, ob wir nach Benutzername oder vollständigem Namen abfragen oder Benachrichtigungen senden. Gedanken? Lohnt sich der Aufwand, PrettyText und unseren Zitat-Builder für diese Änderung zu aktualisieren?

5 „Gefällt mir“

Ich ziehe es vor, keine Unterstützung für eine Umschaltung hinzuzufügen. Dies ist eine Entscheidung, die Sie frühzeitig bei der Einrichtung Ihrer Community treffen. Die Unterstützung einer reibungslosen Umschaltung ist extrem teuer und bringt eine Reihe von Kompromissen mit sich.

Wenn ich Sie mit priorisiertem Benutzernamen zitiere, rendern wir diesen Markdown

[quote="isaacjanzen, post:12, topic:217633"]
Gedanken?
[/quote]

Wenn ich Sie mit priorisiertem Namen zitiere, rendern wir diesen Markdown

[quote="Isaac Janzen, post:12, topic:217633"]
Gedanken?
[/quote]

Man muss vorsichtig sein mit , in vollen Namen - aber ich unterstütze das Entfernen davon für diesen Anwendungsfall oder ich schätze, Sie können einen Escaping-Trick einführen.

4 „Gefällt mir“

Sagen Sie damit, dass Sie uns empfehlen würden, den Versuch aufzugeben, die Möglichkeit hinzuzufügen, Zitate mit vollständigen Namen anzuzeigen? Wir werden unweigerlich auf diese Wechsel-Fälle stoßen … z. B. jede bestehende Community mit einem Zitat

1 „Gefällt mir“

Nein, nicht ganz streichen… meta hat prioritize username in ux deaktiviert. Das Zitat, das ich gerade gemacht habe, sollte sein: (dem ein Avatar fehlt, der behoben werden muss)

Das Markup hier sollte sein:

[quote="Isaac Janzen, post:14, topic:217633"]
Sagen Sie, dass Sie empfehlen würden, zu versuchen, die Möglichkeit, Zitate mit vollständigen Namen anzuzeigen, zu streichen?
[/quote]

Die einzige Änderung, die vorgenommen werden muss, ist, dass das Zitat-Widget die Einstellung kennt, damit es den vollständigen Namen anstelle des Benutzernamens ausfüllt. Machen Sie sich keine Sorgen um Migration und Verlauf.

1 „Gefällt mir“

Ich bin mir nicht sicher, ob wir hier auf dem gleichen Stand sind … als wir den folgenden Commit zusammengeführt haben: DEV: Prioritize full name when setting active (#15820) · discourse/discourse@5a93ce4 · GitHub, haben wir Folgendes erreicht:

  # quote.js
  # opts.displayName = true if site settings prioritize full name
  const name = opts.displayName
    ? opts.name || post.name
    : opts.username || post.username;

  # build quote markdown
  const params = [
    name,
    `post:${opts.post || post.post_number}`,
    `topic:${opts.topic || post.topic_id}`,
  ];

um die Ausgabe von

zu erhalten, aber das Problem war, dass die Benutzersuche basierend auf dem vollständigen Namen bestehende Zitate beschädigte, die mit Benutzernamen erstellt wurden.

Daher scheint es unmöglich zu sein, Folgendes zu ignorieren:

1 „Gefällt mir“

Ich bin super verwirrt, weil Meta Folgendes hat:

Warum fehlt der Name im obigen Zitat? Wurde die Änderung rückgängig gemacht?

Ich stimme zu, dass wir hier mehr tun müssen:

Wir müssen den Benutzernamen aus der Kombination „post / topic“ abrufen und ihn in das „cooked markdown“ einfügen (das sollten wir bedingungslos tun), sonst können wir keine Avatare für den vollständigen Namen anzeigen.

Dies ermöglicht uns auch, diesen Sonderfall zu beheben, damit mein Avatar bei diesem falschen Zitat nicht angezeigt wird. (oder sogar ein falsches Zitat hervorhebt)

1 „Gefällt mir“

Ah, ja

Ich stimme zu und kann das hinzufügen.

2 „Gefällt mir“

Ich bin völlig offen dafür, hier ein paar Ausnahmefälle zu beheben:

  1. Benutzername stimmt nicht überein
    • Was machen wir mit dem Avatar?
    • Was machen wir mit dem Benutzernamen?
  2. Vollständiger Name stimmt nicht überein
    • Was machen wir mit dem Avatar?
    • Was machen wir mit dem Namen?

Ich denke, das Beste, was wir im Moment tun können, ist einfach „überschreiben“. Wenn der Beitrag einen Namen/Benutzernamen hat, verwende ihn anstelle desjenigen, der im Zitat angegeben wurde. Aktuellen Namen/aktuellen Benutzernamen verwenden.

3 „Gefällt mir“

Alles klar, ich habe einen PR erstellt, der die Dinge klärt.

Wichtigste Erkenntnisse

Wir übergeben jetzt den Benutzernamen, wenn

siteSettings.display_name_on_posts && !siteSettings.prioritize_username_in_ux && post.name

sowie den vollständigen Namen, um sicherzustellen, dass wir keine Abweichungen bei der Abfrage nach Benutzer / Avatar erhalten.

z.B.

[quote="Isaac Janzen, post:3, topic:7, full:true, username:isaac.janzen"]
bing bong
[/quote]

Was denkst du, @sam?

3 „Gefällt mir“

Ich schätze, ich kann eine Markdown-Änderung akzeptieren, damit wir uns nicht in einem Kaninchenbau voller enormer Sicherheitsabenteuer verlieren. Die Änderung muss jedoch hyper-chirurgisch sein.

Können Sie bestätigen, dass die neue ausführliche Syntax nur dann vorkommt, wenn sowohl siteSettings.display_name_on_posts als auch !siteSettings.prioritize_username_in_ux wahr sind?

[quote="Isaac Janzen, post:3, topic:7, username:isaac.janzen"]
....
[/quote]

Das bedeutet, wenn Sie weder display_name_on_posts aktivieren noch prioritize_username_in_ux deaktivieren

Dann sollte das alte Zitatformat beibehalten werden:

[quote="isaac.janzen, post:3, topic:7"]
....
[/quote]

Ich bin bereit, dies vorerst als Zwischenschritt zu akzeptieren, aber unser langfristiges Ziel wäre es, diesen Lärm aus dem Zitatblock zu entfernen (Sicherheit erhöhen, Missbrauch einschränken) und das gekürzte Zitatformat zu unterstützen, das wir immer hatten, und uns durch die Sicherheits-Büchse der Pandora zu arbeiten, genau wie wir es jetzt für Inline-Oneboxen tun müssen, z. B.: Quoting broken when name matches username - #20 by isaac < - https://meta.discourse.org/t/quoting-broken-when-name-matches-username/217633/20?u=sam

Erwähne @tobiaseigen hier zur Sichtbarkeit, da dies mit früheren Diskussionen zusammenhängt.

Fazit:

  • Meiner Meinung nach ist es in Ordnung, das Markdown-Format vorerst für diesen Ausnahmefall zu ändern – und nur für diesen Ausnahmefall – @codinghorror zur Bestätigung.
  • TBD Zeitplan für Sicherheitsarbeiten, damit der Zitatblock zu [quote="TOTALLY OPTIONAL WILL BE FISHED FROM POST IF SECURITY LINES UP AND INFO ON POST IS PRIORITIZED OVER THIS TEXT, post:3, topic:7"] wird. – Empfehlen, damit noch eine Weile zu warten.
3 „Gefällt mir“

Zusammengeführt und bereitgestellt DEV: Prioritize full name when display_name_on_posts active by janzenisaac · Pull Request #16078 · discourse/discourse · GitHub

Ich kann das bestätigen.

3 „Gefällt mir“