Ich habe einen Bericht erhalten, dass bei einem Benutzer die Benachrichtigungen beim Klicken auf das Avatar-Bild geladen werden. (Es handelt sich um ein kürzlich durchgeführtes Upgrade auf Version 2.4.0.beta10.) Es gibt ein einziges nicht standardmäßiges Plugin, aber es scheint unwahrscheinlich, dass dies die Ursache ist, und das Problem betrifft nur einen Benutzer (zumindest soweit uns bekannt). (Ich habe zudem ein Upgrade ohne mein Plugin durchgeführt, was das Problem ebenfalls nicht behoben hat.) Der safe-mode hat nicht geholfen.
Beim Aufruf von /u/username/notifications für einen bestimmten Benutzer werden keine Benachrichtigungen angezeigt, aber das Klicken auf „Antworten“, „Gefällt mir“ usw. zeigt Elemente in diesen jeweiligen Benachrichtigungstypen an. Ich bin in psql gegangen und habe reindex table notifications ohne Fehler ausgeführt.
Beim Klicken auf das Avatar-Bild erscheint dieser Fehler in der JavaScript-Konsole:
_application-4715c32620ba9b83af00144510f68ca0f0bae8f745edf2339e3f249ceee88c3f.js:77240 Uncaught TypeError: Cannot read property 'dasherize' of undefined
Beim Betrachten des Codes
return [this.attach(notificationName.dasherize() + "-notification-item", attrs, {}, { fallbackWidgetName: "default-notification-item" }), (0, _virtualDom.h)("span.time", (0, _node.dateNode)(attrs.created_at))];
scheint es mir (und das könnte völlig danebenliegen), dass das Problem darin besteht, dass beim Abrufen der Benachrichtigungen ein Fehler oder nil/null/leer zurückgegeben wird?
Ich kann die Benutzerbenachrichtigungen in Rails ohne Zwischenfälle abrufen:
pry(main)> Notification.where(user_id: 870).count
=> 372
# Dies gibt ebenfalls Ergebnisse zurück:
u=User.find(870)
Notification.recent_report(u)
Ich habe keine weiteren Ideen mehr.
