Message privé de groupe - Problème de bus de messages

Contexte
Nous disposons d’un système permettant d’ajouter programmatiquement des utilisateurs à des groupes via l’API, et de créer automatiquement des messages privés pour des groupes individuels, le tout via l’API.

Par exemple, nous pouvons avoir un groupe nommé : cooking-class-101

Pour lequel nous créerons un message privé avec cooking-class-101 et system en tant que deux participants au message privé.

Cela a très bien fonctionné pour nous en tant que moyen de créer automatiquement des chats de groupe privés pour des groupes de personnes.

Le Problème
Le problème que nous constatons est que pour les utilisateurs réguliers qui font partie du groupe, le bus de messages ne renvoie aucune mise à jour lorsque de nouveaux messages sont ajoutés au sujet.

Par exemple, nous avons un message privé de groupe avec l’ID de sujet 123. Nous pouvons voir que le bus de messages est abonné au canal topic/123, pourtant si un autre utilisateur publie un message sur le sujet, rien n’est renvoyé par le bus de messages et donc le dernier message ne s’affiche pas automatiquement.

Nous avons confirmé que le bus de messages fonctionne généralement comme prévu, car il renvoie correctement des données sur le canal topic/presence/123.

La contrepartie de ce qui précède est que pour les utilisateurs administrateurs qui font partie du groupe ayant été ajouté au message privé, le bus de messages renvoie correctement des données sur le canal topic/123 et le nouveau message est donc correctement affiché sur le sujet en temps réel.

Nous avons également confirmé que si un utilisateur régulier qui est membre du groupe est invité séparément à participer au sujet (de sorte que nous ayons maintenant cooking-class-101, system et regular-user participant), alors ils commencent à recevoir correctement des réponses du bus de messages sur le canal topic/123 et voient donc les nouveaux messages en temps réel.

Recherche
En fouillant dans le code de Discourse, je suis tombé sur ce qui suit, ce qui laisse penser que pour les sujets de messages privés, il se peut que les groupes ne soient pas notifiés des nouveaux messages publiés : discourse/app/models/post.rb at b7b81afe553a79f58f79f49a6c2ceff831aa4ec7 · discourse/discourse · GitHub

Je ne suis pas tout à fait sûr de ce que topic.allowed_users dans le lien ci-dessus est censé renvoyer sur un sujet de message privé avec un groupe ajouté, mais je soupçonne qu’il n’inclut pas la liste des utilisateurs qui existent en tant que membres du groupe.

J’ai étiqueté cela comme un bug, mais cela pourrait bien être un comportement intentionnel ?

2 « J'aime »

Ça me fait vraiment penser à un problème de support plutôt qu’à un bug.

Commencez par la fin, faites tout via l’interface utilisateur.

Ça fonctionne ?

Par exemple :

  • user1 est membre du groupe A
  • un message est envoyé au groupe A
  • user1 consulte le message
  • user2 répond au message
  • Voyez-vous la réponse s’afficher en direct ?

Si oui, c’est que quelque chose dans la façon dont vous consommez l’API n’est pas correct.

3 « J'aime »

Merci pour votre réponse, Sam.

Nous avons testé cela depuis l’interface utilisateur de Discourse et cela présente le même comportement erroné : la réponse n’apparaît pas en temps réel, seule une notification/alerte de notification est envoyée.

Une actualisation de la page est ensuite nécessaire pour voir le dernier message.

Dans votre exemple ci-dessus, tout fonctionne comme prévu si user1 est un administrateur.

2 « J'aime »

Eh bien, cela ressemble certainement à un bug. Nous allons tester, cela peut prendre quelques jours.

4 « J'aime »

Brillant - merci ! N’hésitez pas à me faire savoir si vous avez besoin de toute autre information.

1 « J'aime »

Salut Sam, je te laisse un petit message pour savoir s’il y a un endroit où je peux suivre l’avancement de ce bug. Je ne suis pas tout à fait au courant du processus de signification et de correction des bugs avec Discourse. Merci !

2 « J'aime »

Je suis presque certain que Kris l’a réparé, je te recommande de retester.

3 « J'aime »

Salut @danjw,

Désolé, j’ai oublié de te le dire. Sam a raison, c’est été corrigé avec la PR ci-dessous :

3 « J'aime »