Okay, für Updates muss nicht neu installiert werden, aber ich habe es trotzdem neu installiert, da es nicht funktioniert hat. Das neue Repository funktioniert ebenfalls nicht.
Also nur zur Sicherheit – du hast das Component aktualisiert, aber das Update hat das Problem für dich nicht behoben? Dann hast du das alte Component gelöscht und aus dem neuen Repository neu installiert?
Bei mir funktioniert es auf zwei separaten Discourse-Instanzen problemlos. Bitte stelle sicher, dass du:
- Das Component zum richtigen Theme hinzugefügt hast
- Die Seite nach dem Hinzufügen des Components neu geladen hast
- Alle Einstellungen entsprechend deinen Bedürfnissen angepasst hast
Ja, genau.
- Ich habe sie zu meinem Haupttheme hinzugefügt
- Die Seite aktualisiert
- Einstellungen durchgeführt
Ergebnis:
![]()
Ich bin mir ziemlich sicher, dass ich es herausgefunden habe.
Ich habe völlig vergessen, mich dazu zu melden
Ich habe gerade einen Commit gepusht, der die Dinge für dich sollte beheben. Lass mich wissen, falls du auf weitere Probleme stößt.
Es wurde nicht in den „für Updates verfügbaren Komponenten“ angezeigt, also habe ich es gelöscht und von
GitHub - discourse/discourse-post-badges
installiert.
Es funktioniert jetzt wie beabsichtigt.
Danke – das ging wirklich schnell!
Keine offenen Probleme mehr. Vielen Dank.
@tshenry Es funktioniert nicht mehr ![]()
Der gesamte Komponente, oder bist du wieder beim ursprünglichen Problem, dass diese Einstellung nicht funktioniert? Ich habe gerade alles getestet (auch mit einem nicht-englischen Locale) und alles scheint in Ordnung zu sein. Ich brauche bitte mehr Details ![]()
Nein, diesmal funktioniert es überhaupt nicht mehr.
Ich vermute, ich habe herausgefunden, warum es gestoppt hat. Meine Badgenamen sind auf Türkisch. Ich habe die Sprache von Türkisch auf Englisch geändert. Jetzt habe ich sie wieder auf Türkisch umgestellt, und es funktioniert.
Cool. Das ist zumindest vorerst das erwartete Verhalten. Ich glaube nicht, dass es eine Möglichkeit gibt, dies zu vermeiden, wenn man ein Abzeichen über seinen Namen in die Einstellungen eingibt. Ich werde überlegen, zusätzliche Unterstützung für die Eingabe eines Abzeichens per ID hinzuzufügen, um die Sache noch lokalitätsunabhängiger zu gestalten, aber es wird noch eine Weile dauern, bis ich dazu komme.
Warnung – unten sind die 10 häufigsten Anfragen der letzten Stunden auf einer Website, die diese Theme-Komponente verwendet.
Die Seite wurde sehr langsam und es gab massive Probleme mit der Ratenbegrenzung, einschließlich hängender Browser und vieler Beschwerden.
214163 GET /user-badges
29537 POST /message-bus
14166 GET /assets
13425 GET /user_avatar
10125 GET /stylesheets
8957 GET /theme-javascripts
8131 GET /images
7160 GET /letter_avatar
2992 POST /topics
2845 GET /t
Ja, uns ist das bewusst, und wir werden es verbessern.
Ich weiß nicht, ob das damit zusammenhängt, aber in letzter Zeit erhalte ich viele Fehler, wenn ich auf Links klicke, die zur Badges-Seite führen. Ich habe für die benutzerdefinierten Badges jedes Nutzers eine Zusammenfassungsseite erstellt (mit einem passenden Emoji), und wenn ich auf mehrere Links wie [:z133:](/badges/133/-?username=user_name) hintereinander klicke, tritt ein Fehler auf:
Log:
Nachricht
Uncaught TypeError: Cannot read property 'users' of undefined
URL: https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js
Zeile: 1
Spalte: 267440
Fensterstandort: https://discourse.forum.tld/t/topic-slug/id
Rückverfolgung
TypeError: Cannot read property 'users' of undefined
at https://discourse.forum.tld/assets/plugins/discourse-presence-e4fe1148b25ac06931c3b78b8411907e35aef58f8dd5ac28a262cdd28fb6e51d.js:1:5982
at E (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547359)
at https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547817
at t.invoke (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:490065)
at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:489055)
at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:491070)
at e.t._end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:496499)
at e.t.end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:493035)
at e.t._run (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:497037)
Env
HTTP HOSTS: discourse.forum.tld
Ich verwende Links in allen meinen Beschreibungen für benutzerdefinierte Abzeichen wie folgt:
Abzeichenbeschreibung gefolgt von einem Link <a href="/t/topic-slug/id#heading--detailed-descrption-topic">➥</a>
der auf das detaillierte Abzeichenbeschreibungsthema verweist. Das funktioniert auf der Abzeichen-Seite wirklich gut, aber Nutzer sind verwirrt von den HTML-Codes, die in den Tooltips der Beitragsabzeichen angezeigt werden:
Wenn die Anker-Tags <a href=...>Beschreibung</a> aus dem Tooltip entfernt würden und nur die Beschreibung übrig bliebe, würde das wahrscheinlich die meisten Anwendungsfälle lösen.
Ist das zufällig in 2.5.X behoben worden?
@tshenry Ich habe eine Lösung gefunden, die mehrere Aufrufe zum Laden von Benutzerdaten vermeidet. Ich habe sie in dieser Theme-Komponente verwendet:
Was denkst du?
Diese Komponente verursacht JS-Fehler bei der Verwendung der neuen Tastenkürzel für vorheriges/nächstes Thema, die Sam zum Kern hinzugefügt hat (gj). Es ist etwas unvorhersehbar, lässt sich aber konsistent reproduzieren, indem man das Tastenkürzel verwendet, um zum nächsten Thema zu springen, bis der Fehler auftritt. Wenn ich die Komponente entferne, tritt dieser Fehler nie auf.
Zeile 27516
Wie läuft diese Lösung bisher? Hat sie jemand schon genauer unter die Lupe genommen? ![]()
Kurzer Hinweis: Ich sammle das Feedback aller, aber die Arbeit an dieser Komponente hat eine niedrigere Priorität, solange wir auf die Verbesserungen warten, die @sam erwähnt hat.
Ich habe es bisher noch nicht ausprobiert, aber es scheint völlig in Ordnung zu sein, einen ähnlichen Ansatz für die Anzeige von Vertrauensstufen-Abzeichen zu verwenden. Es sind die Nicht-Vertrauensstufen-Abzeichen, die die von Sam erwähnte Verbesserung benötigen würden.
Es wäre hilfreich zu wissen, wie Menschen diese Komponente nutzen oder zumindest, wie sie sie gerne nutzen würden.
- Vertrauensstufen-Abzeichen
- Andere Abzeichen
- Eine Mischung aus beidem
Wenn genügend Interesse an Vertrauensstufen besteht, kann ich eine separate Komponente namens „Vertrauensstufen-Beitrags-Flair
Ein kleiner Hinweis: Wir haben eine Open-Source-Version davon als Plugin erstellt, die die Abzeichen zusammen mit dem Beitrag selbst serialisiert, um das oben erwähnte Leistungsproblem zu beheben.
Was die Auswahl der hervorgehobenen Abzeichen betrifft, so trifft der Benutzer diese selbst in seinem Profil in einer neuen, benutzerspezifischen Einstellung.
Hört bei euch die Komponente auch auf, benutzerdefinierte Bild-Uploads anzuzeigen? Sie zeigt standardmäßig das Font-Awesome-Symbol an, und wenn kein FA-Symbol ausgewählt ist, wird „undefined




