La plupart des tâches sont affichées dans forum.example.com/sidekiq/scheduler. Par exemple, si vous avez modifié une requête de badge, vous pouvez attendre une journée que la tâche BadgeGrant s’exécute, ou l’accélérer en cliquant manuellement sur le bouton Déclencher. Je ne sais pas laquelle de ces tâches met à jour les insignes.
Les badges de profil de l’utilisateur sont également conservés lorsque le groupe principal est modifié pour un nouveau groupe principal auquel un badge est associé.
Nous n’avons pas encore mis à jour vers le dernier commit car aucune modification n’a été apportée pour corriger ce bug.
Dans notre cas, les insignes des utilisateurs restent inchangés lorsque nous mettons à jour les groupes via Discourse Connect SSO. Nous constatons que l’utilisateur n’est plus présent dans le groupe, mais l’insigne demeure.
J’espère que cela aidera à identifier et à corriger le bug.
Cette correction ne s’appliquera pas rétroactivement. Vous devez mettre à jour manuellement les badges des anciens utilisateurs. Pourriez-vous me dire combien d’utilisateurs sont concernés de votre côté ?
Wow. Eh bien, je ne connais pas les estimations. D’après nos flux de données, il se peut que des dizaines, voire des centaines d’utilisateurs quittent ou rejoignent des groupes spécifiques via SSO chaque jour.
Est-ce que je peux compter les utilisateurs ayant des badges obsolètes (non liés à des groupes) ?
Et comment peut-on même modifier les badges des autres utilisateurs ? Je n’ai pas trouvé cette option dans le panneau d’administration. Je ne dis pas que je vais mettre à jour un si grand nombre d’utilisateurs un par un pour effacer les traces de ce bug.
Au fait, supprimer le badge dans les paramètres du groupe et en téléverser un autre ne résout rien. Les utilisateurs en dehors de ce groupe conservent toujours le badge du groupe
Je vérifie simplement si quelqu’un sait quoi faire face à ce problème.
Désolé de remonter ce post autant de fois, mais ce bug perturbe vraiment notre communauté @vinothkannans, as-tu des suggestions sur la manière de gérer ses effets pour nous ?
Merci pour votre réponse.
Ai-je bien compris que, en raison des effets de ce bug, nous devrions exécuter des requêtes de ce type quotidiennement ou à une autre fréquence ? Le problème est que notre groupe d’utilisateurs est mis à jour quotidiennement et à chaque fois que le statut d’abonnement d’un utilisateur change sur le site principal. Tout est géré via SSO.
Non, vous n’avez pas besoin de l’exécuter régulièrement. Le problème est maintenant résolu dans le commit ci-dessus. Cette commande corrigera les badges pour les utilisateurs concernés précédemment.
Merci, j’attendrai patiemment les résultats de votre enquête avant de me tourner vers les requêtes Rails. N’hésitez pas à me faire savoir si je peux vous être d’une quelconque aide sur ce problème.
@kinetiksoft le code Rails ci-dessous devrait résoudre le problème pour tous les membres de chaque groupe. Il supprimera l’insigne de groupe des utilisateurs s’ils ne font plus partie du groupe correspondant.
Notez que vous n’avez pas besoin d’exécuter ce script régulièrement. Il s’agit d’une correction ponctuelle pour les anciens utilisateurs concernés. Prenez une sauvegarde par précaution avant de l’exécuter.
User.joins("LEFT OUTER JOIN group_users ON group_users.user_id = users.id AND group_users.group_id = users.flair_group_id").where(group_users: { id: nil }).where.not(flair_group_id: nil).update_all(flair_group_id: nil)
Merci ! Je te tiendrai informé une fois que nous aurons exécuté la requête et je te donnerai des mises à jour dans les prochains jours pour vérifier qu’il n’y a pas d’incohérence entre les relations des flairs et des groupes par la suite.
Super, bien sûr, je vais examiner les prochains commits dans la section de mise à niveau.
Devons-nous attendre la requête SQL mentionnée ci-dessus ou pouvons-nous procéder sans attendre qu’elle soit fusionnée dans notre instance Discourse ?