J’ai reçu un rapport indiquant que les notifications d’un utilisateur se chargeaient lors du clic sur l’avatar. (Il s’agit d’une mise à jour récente exécutant la version 2.4.0.beta10). Il y a un seul plugin non standard, mais il semble peu probable qu’il soit à l’origine du problème, et l’incident ne concerne qu’un seul utilisateur (du moins que nous sachions). (J’ai ensuite effectué une mise à jour sans mon plugin, mais cela n’a pas résolu le problème.) Le mode safe-mode n’a pas aidé.
Lorsque je vais sur /u/nom_utilisateur/notifications pour un utilisateur particulier, aucune notification n’est affichée, mais cliquer sur « réponses », « likes », etc. affiche des éléments dans chacun de ces types de notifications. Je suis allé dans psql et j’ai exécuté un reindex table notifications sans erreur.
Le clic sur l’avatar génère cette erreur dans la console JavaScript :
_application-4715c32620ba9b83af00144510f68ca0f0bae8f745edf2339e3f249ceee88c3f.js:77240 Uncaught TypeError: Cannot read property 'dasherize' of undefined
En examinant le code,
return [this.attach(notificationName.dasherize() + "-notification-item", attrs, {}, { fallbackWidgetName: "default-notification-item" }), (0, _virtualDom.h)("span.time", (0, _node.dateNode)(attrs.created_at))];
il me semble (et cela pourrait être complètement faux) que le problème vient du fait qu’il reçoit une erreur ou nil/null/une valeur vide lors de la récupération des notifications ?
Je peux récupérer les notifications de l’utilisateur dans Rails sans incident :
pry(main)> Notification.where(user_id: 870).count
=> 372
# cela renvoie également des résultats :
u=User.find(870)
Notification.recent_report(u)
Je n’ai plus d’idées.
