Auf der neuesten stabilen Version sehe ich einen JavaScript-Fehler, wenn ich auf die Schaltfläche „Einladungslink erstellen“ unter /u/user_name/invited/pending klicke.
Die Konsole zeigt:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘slice’) at h.shortKey (chunk.f105ceace2ad381ddb2f.d41d8cd9.js:241:61588)
Wenn das Einladungsobjekt gerendert wird, bevor invite_key vom Server befüllt wird, ist invite_key undefiniert und es stürzt ab, wenn .slice() auf nichts angewendet wird.
In invite.js versucht die Funktion shortKey, einen Einladungs-Schlüssel zu kürzen:
shortKey(key) {
return key.slice(0, 4) + “…”;
}
Ich kann es auf Meta nicht reproduzieren, vielleicht sehe ich es, weil mein Server oder mein Netzwerk nicht so schnell sind. Aber die Überprüfung, ob der Schlüssel existiert, bevor er verwendet wird, scheint es zu beheben:
Der Einladungs-Schlüssel ist jedoch nicht nullfähig:
Und dies durchläuft model.invites:
Ich habe mir den Code angesehen und bin mir nicht sicher, woher teilweise ausgefüllter Code stammen kann, selbst wenn ich hier eine Verzögerung von 400 ms im Netzwerk hinzugefügt habe, kann ich es nicht reproduzieren.
Ich denke, wir brauchen hier eine Art Reproduktion vor dem Patchen. Dieser Patch würde es Leuten ermöglichen, einen fehlerhaften Einladungslink zu kopieren.
Ich denke, das wäre als PR in Ordnung, vorausgesetzt, es wird lokalisiert.
Ich bin immer noch etwas verwirrt, wo wir Invite mit einem halb gefüllten Objekt befüllen, aber es ist besser als ein Fehler und scheint mir korrekt zu sein.
Siehst du hier auf Meta diesen Fehler? Ich frage mich, ob er auf latest behoben wurde. In diesem Fall müssen wir nur den Commit identifizieren, der ihn behoben hat, und ihn zurückportieren auf stable.
Die Einladung wird der Liste unmittelbar nach save() hinzugefügt, aber bevor invite_key vom Server befüllt wird. Sie ist immer noch in latest vorhanden, daher habe ich PR #35679 geöffnet.