L'ajout automatique de personnes à un canal de chat privé ne fonctionne plus ?

J’ai mis à jour mon installation auto-hébergée de Discourse vendredi, j’avais environ 2 semaines de retard. Ma version actuelle est 3.5.0.beta2-dev ( 712302c020 ).

J’ai créé un canal de discussion privé basé sur l’une de nos catégories privées et j’ai dit « oui » pour ajouter automatiquement les 7 utilisateurs qui avaient accès à la catégorie :

Cela n’a pas fonctionné, le seul utilisateur ajouté était moi-même :

J’ai essayé de rechercher des utilisateurs à ajouter, mais je n’obtiens aucun résultat, même d’autres administrateurs ne peuvent pas être ajoutés :

Il y a certainement un utilisateur disponible qui pourrait être ajouté :

Mais encore une fois, les 7 personnes du groupe auraient dû être ajoutées à la première étape de toute façon. J’ai essayé d’exécuter le travail sidekiq Jobs::Chat::AutoJoinUsers , mais sans succès. De plus, je ne vois aucune erreur dans le journal non plus.

Avant la mise à niveau, j’avais configuré 2 autres canaux de la même manière et ce processus avait parfaitement fonctionné.

Je vais essayer une autre mise à jour vers la toute dernière version, mais les derniers commits semblent sans rapport.

2 « J'aime »

Edit : Résolu ! C’est de ma faute, j’ai oublié de mettre à jour les autorisations Automatically adding people to a private chat channel is no longer working? - #12 by cultiv

Malheureusement, une mise à jour vers la version 3.5.0.beta2-dev ( 558c566ca8 ) n’a pas aidé.

Je peux voir que lorsque je recherche un utilisateur que je devrais pouvoir ajouter, il y a 1 total_rows retourné mais le tableau memberships est vide :

Alors que si je recherche mon propre nom, total_rows est également de 1 et mon compte est retourné :

1 « J'aime »

Est-ce que cela pourrait avoir un rapport avec cette PR ajoutée avant que je ne fasse la mise à niveau ?

Je ne suis pas sûr de la façon dont je pourrais peut-être revenir à l’état avant ce commit, puis je pourrai tester si c’était la cause du problème :thinking:

Et juste pour information, j’ai le même problème dans la version Dev de mon forum (une instance séparée) et dans ma version Live. Les deux ont été mises à niveau au-delà de cette PR ci-dessus.

1 « J'aime »

Je n’ai pas de réponse immédiate, mais nous allons examiner cela, merci.

3 « J'aime »

J’ai réussi à revenir à la version 3.5.0.beta1 et j’ai vidé tous les caches de mon navigateur, etc. Mais je rencontre toujours ce problème.

C’est extrêmement étrange, je sais que j’utilisais une version récente, datant de moins de 2 semaines. Ça fonctionnait à l’époque, j’avais configuré 2 canaux avec ajout automatique de personnes, lorsque j’ai répondu “oui” pour ajouter des personnes d’un groupe existant, tout s’était déroulé parfaitement.

Maintenant, j’ai réessayé et ça ne fonctionne pas correctement, sauf pour 1 canal. Pour illustrer :

Tous ces canaux devraient avoir 6 membres ou plus. Quand il n’y a qu’un membre, c’est juste moi. L’équipe “Diversity equity and inclusion team” est la seule qui ajoute systématiquement tous les membres du groupe.
L’équipe “Packages team” sur mon site en production a parfaitement fonctionné lorsque je l’ai créée, les 10 personnes ont été ajoutées. Ça fonctionnait aussi sur le site de développement auparavant. Maintenant, lorsque je la supprime et la recrée sur le site de développement, elle n’ajoute systématiquement que 3 membres.
J’ai comparé les groupes et tous les paramètres des groupes sont exactement les mêmes. J’ai supprimé et ajouté des personnes dans les groupes, cela n’a pas non plus fait de différence.

Enfin, lorsque j’ajoute un utilisateur au groupe qui n’en faisait jamais partie auparavant, il semble qu’il soit ajouté au canal de discussion. Mais lorsque je supprime et ajoute un membre existant, la même chose ne se produit pas.
J’ai même supprimé le canal de discussion, retiré des personnes du groupe, recréé le canal de discussion et ajouté à nouveau les anciens utilisateurs au groupe. Cela n’a pas fonctionné. Ajouter un autre utilisateur aléatoire… fonctionne.

Peut-être que quelque chose est complètement détraqué dans mon instance… Je n’ai pas la possibilité de le tester dans une nouvelle instance.

Je suis prêt à donner un accès SSH et un accès administrateur au site de développement, c’est un site de développement donc je suis d’accord pour y toucher et tout casser :sweat_smile: :joy:

Edit : J’ai maintenant mis à jour vers le dernier commit d’il y a quelques heures. J’ai essayé d’ajouter un tout nouveau groupe (avec les mêmes personnes) à une catégorie privée existante pour voir si cela aiderait, mais même résultat, personne n’est ajouté au canal de discussion.

D’autres utilisateurs ont-ils été actifs sur votre Discourse depuis la création du canal ? Ou se sont-ils déconnectés et reconnectés ?

J’ai essayé de reproduire cela et oui, je n’ai vu qu’un seul membre dans le canal juste après sa création. Chaque fois que je me connectais en tant que l’un des autres utilisateurs ayant accès à la catégorie, le nombre de membres augmentait. Ces utilisateurs ont pu voir l’historique complet du canal, donc cela n’a pas commencé seulement à partir de leur connexion.

Il semble donc s’agir d’un bug d’UX/UI - ce serait certainement moins déroutant si la liste des membres était immédiatement remplie avec tous ceux qui ont accès !

Merci d’avoir jeté un coup d’œil ! Je crains que la plupart des gens ne soient en ligne assez récemment et même lorsque j’en usurpe quelques-uns, ils ne sont toujours pas ajoutés au canal de discussion de la catégorie.

Cela a du sens, cependant, que je ne puisse pas ajouter les personnes si elles sont déjà dans le canal de discussion. Mais malheureusement, elles ne peuvent ni voir le canal ni y accéder via l’URL directe.

Je devrais probablement ajouter que j’ai configuré les catégories comme suit :

  • Équipes communautaires
    • Équipe des collaborateurs principaux
    • Équipe des paquets

etc. Tous les groupes ont accès à la catégorie de niveau supérieur et chaque groupe individuel a accès à sa propre sous-catégorie. Je doute que cela fasse une différence, car cela fonctionne pour certaines équipes.

J’ai même essayé d’ajouter des personnes manuellement dans la base de données (INSERT INTO user_chat_channel_memberships…) mais soit je ne mets pas à jour les bonnes tables, soit cela ne veut tout simplement pas fonctionner pour une autre raison. Quoi qu’il en soit, je n’ai pas de chance avec celui-ci :sweat_smile:

J’ai trouvé le problème, qui venait de moi.. :person_facepalming:

En revoyant tout une fois de plus, j’ai bien sûr remarqué que dans « Groupes autorisés pour le chat », tous les groupes n’avaient pas été ajoutés. Sur notre site, nous sommes assez stricts sur qui peut chatter ou non et j’ai oublié que j’avais configuré uniquement des « Groupes autorisés pour le chat » spécifiques :see_no_evil_monkey:

Problème résolu et merci pour vos retours !

3 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.