Notifications not being triggered for group members in a private message

A little background on our specific setup and use case (almost all of our interaction with Discourse is via the API).

  • We create a group with say 10 members in it.
  • Our system automatically creates a private message between the system account and the group. The system account serves no further purpose in the chat itself. The main purpose of the private message is so that the group members can communicate with one another in a single thread.
  • When any member of the group creates a new post in this private message, all other members of the group correctly receive a notification

All good up to now.

  • If we add a new member to the group (after the initial creation of the private message) the will not receive any notifications when other members create new posts in the private message.

As one of the ‘original’ members, when I head to the messages area through the web UI (e.g. https://community.workshop.ws/u/username/messages/group/group-slug/) this is what I see:

As one of the ‘latecomers’, when I head to the same area I see the following: (I can’t post a second image due to Discourse’s rules… but it’s the same as above but instead of a private message appearing it says ‘No Topics Found’)

So even though I am part of the group which is part of the private message, I can’t see the private message and I don’t get notifications about it. However, I can still access the private message, read the posts, and add posts.

Any help would be greatly appreciated!

Does this happen if you create the group manually not using the API?

Yes it does.

I think this is happening by design - when a new user is added to a group chat, their notification status is set to ‘normal’ by default: Remove or add user to existing private message

Although this doesn’t fit in with our specific use case - users should always receive notifications if they are part of a group chat unless they explicitly opt out of notifications - I can probably come up with a workaround by using the user API

1 Like