Seit dem Update 2.8.0beta2 können einige Benutzer nicht mehr auf Einstellungen (usw.) zugreifen

Früher diese Woche habe ich von 2.7.0.beta2 auf 2.8.0.beta2 aktualisiert. Seitdem kann mein reguläres Konto (aber nicht mein Admin-Konto) keine meiner /u/-Seiten mehr aufrufen. Stattdessen erhalte ich einen 404-Fehler. Dies tritt sowohl auf dem Desktop (Firefox 84 und 89) als auch auf mobilen Geräten (getestet unter Android) auf, und zwar auch nach dem Abmelden, dem Löschen des Caches und dem erneuten Einloggen.

Ich vermute, dass diese Änderung mit folgendem Problem zusammenhängt:

[quote=“jomaxro, post:1, topic:193148”]

Anzeige von ser-selectable Abzeichen auf der Benutzerkarte

Standardmäßig zeigt die Benutzerkarte das Vertrauensstufen-Abzeichen des Benutzers an, gefolgt von den beiden „höchsten

Ist dies ein Plugin von Drittanbietern? Haben Sie also einen Weg, das Plugin zu deaktivieren?

Das Plugin scheint offiziell zu sein. Beim Klicken darauf werde ich weitergeleitet zu:

Und ja, das Deaktivieren des Plugins behebt den 404-Fehler. Meine Frage ist, warum dies ein manueller Schritt sein muss, da ich dachte, dies sei ein offizielles Plugin und würde weiterhin funktionieren.

Handelt es sich hierbei um eine Funktion, die wir vom Plugin in den Core verlagert haben?

In diesem Fall sollten wir eine Deprecation-Benachrichtigung im Plugin hinterlegen. Was hältst du davon, @neil?

Ich möchte darauf hinweisen, dass ich vor dem Posten geprüft habe und gesehen habe, dass der letzte Commit zum Plugin jünger war als die 2.8.0beta2-Version. Bei erneutem Hinsehen stelle ich fest, dass der Commit von einem „Bot“-Benutzer stammt, was also vielleicht nicht viel aussagt.

Bei genauerer Betrachtung glaube ich nicht, dass es exakt dasselbe ist. Das Abzeichen erschien als großes Bild in der unteren linken Ecke der Benutzerkarte. Diese neue Kernfunktion scheint kleine Kästchen mit winzigen Abzeichenbildern und einem Abzeichennamen entlang der Unterseite der Benutzerkarte zu steuern.

Dieser Beitrag Why does eviltrout have a garbage man badge? zeigt eine frühe Version der Abzeichenfunktion:

Wie es vor diesem Update bestand, war die Auswahl auf Bilder beschränkt, die mit erzielten Errungenschaften verknüpft waren. Ich habe allen Abzeichen auf meinem Forum benutzerdefinierte Bilder hinzugefügt, um solche Benutzerkarten-Abzeichen hübscher zu machen. (Die Standard-Abzeichen sind, ähm, „Müll“.)

Ich vermute, es ist die neue Spalte is_favorite, die zur Tabelle UserBadges hinzugefügt wurde.

Das SQL ist wahrscheinlich jetzt fehlerhaft.

UserBadge.attribute_names.map do |name|
              if name == 'is_favorite'
                "BOOL_OR(user_badges.#{name}) AS is_favorite"
              else
                "MAX(user_badges.#{name}) AS #{name}"
              end
            end

Ich habe gerade eine Korrektur für das Plugin zusammengeführt:

Die Spalte image wurde in Badge entfernt unter UX: Add image uploader widget for uploading badge images (#12377) · discourse/discourse@a23d0f9 · GitHub, und wir haben das Plugin zwar teilweise aktualisiert, aber einige Stellen übersehen.

Obwohl wir uns bemühen, dass Änderungen im Kern keine Plugins zerstören, übersehen wir manchmal Verwendungen, oder unsere Plugins verfügen nicht über ausreichende Testabdeckung (wir führen für alle offiziellen Plugins bei jeder Änderung im Kern Tests durch). In dem oben genannten Commit habe ich dem Plugin discourse-user-card-badges weitere Tests hinzugefügt, um ähnliche Probleme in Zukunft zu verhindern.

Ich verstehe, dass Fehler passieren. Als ich das schrieb, dachte ich, die Funktionalität dieses Plugins werde durch eine neue Kernfunktion ersetzt. Erst nachdem ich diese Funktion genauer untersucht hatte, wurde mir klar, dass es sich um unterschiedliche Dinge handelt.