📣 Introducing default chat channels (automatically add users)

Automatically add users to channel

While creating a new channel, admins will now see a preference to add all new and existing users to it. Using this, admins can configure “default channels” for groups of users to be included in automatically.

image

For an existing channel, admins can toggle this behavior in Channel Settings. In all cases, a confirmation dialog will appear to indicate the number of users being added.

:white_check_mark: Users auto-join a channel when:

  • they are added to a group that has access to a channel with auto-join
  • a channel is created or edited to have auto-join enabled

Note that users are not removed from a channel automatically if auto-join was disabled after they were added. If any user was automatically added to a “default channel”, they may leave at any time.

A new Info Panel

Clicking a channel title will now take users to a useful info panel with three tabs:

image

  • The About tab will display title, description and linked category, so users have the context they need for each channel.

  • The Members tab lets users see who else is in the room with them (member list and total count). It includes a filter so they can use search.

  • The Settings tab will let you set notification preferences (mute, desktop / mobile push notifications). For admins, this tab also includes the auto-join mode toggle.

27 Likes

We turned on the “automatically add users” function for one of our “everyone” chat channels tonight. However, it has currently only added 284 users out of our 1200+ users on the forums instance. I haven’t noted a lot of consistency regarding who all was added and who wasn’t. Is this currently a plugin limitation or is there something else going on?

For some background:
We run a login-required site. The affected chat channel is currently tied to a category that “everyone” has permission to access. All users on the forums currently have access to the chat plugin in the admin settings.

Thoughts appreciated!

5 Likes

How many of those 1200 users had interacted with the site since it was turned on?

2 Likes

I initially thought that might be the cause, but some of the users in the list haven’t been active for a long time…possibly ever. I don’t have an exact number…but could do more digging on that, if needed.

3 Likes

Do you mean/guessing that ”add everyone” is actually ”add those how have been interacted in some time range”?

1 Like

We do currently filter out users who are “inactive” (as well as “staged” users and anonymous users). Here are the specs for that logic.

@Roman_Rizzi, are there tests that cover the scenario for these users if they later become active? Or is that implied by the existing spec because this job is run periodically?

2 Likes

Good question. We only covered the user’s activation, so that’s a scenario I missed. The job doesn’t run periodically, but it probably should, as we keep finding more cases where the user’s state changes, and we need to auto-join them.

3 Likes

That definitely makes sense. Is the “inactive” status used here the same as the “Activated/Deactivated” flag in the admin dashboard or is it connected to something tracking actual ongoing usage of the platform? If it’s the former, we still have an issue because we only have two deactivated users, no staged users, and 13 anonymized users.

1 Like

Active has two meanings here. It has to be active, as their email is confirmed, but it also means they visited the site at least once in the last three months (we check their last_seen_at attribute for this).

5 Likes

Just as a heads-up…I did a quick check and found about 24 tl0 accounts just in the "A"s of our auto-added chat participants who have never logged in to the platform since their accounts were approved. Most of them created accounts in the 2018-2019 timeframe. They should have all been considered inactive, by that definition.

3 Likes

Yes, this was intentionally for handling the case where the user is created, but it doesn’t really make sense. Moving to a scheduled job will fix this too.

3 Likes

6 posts were merged into an existing topic: Automatically add user to channel based on group subscription

So if I have chat allowed groups set to tl1 user and allow a channel to auto add users which linked to a tl0 accessible category, what will happen? Does this later option overwrite the former one?

2 Likes

It should respect both settings and only tl1 users will be added in this case.

4 Likes

Thx for the reply, I see the linked channel (which is linked to a tl0 accessible category) shows it has around 1700 members, but my tl0 users are around 4000 as shown on the group page, I have removed the tl1 restriction, but the number doesn’t increase. Is there a data delay or any settings will also affect this number?

1 Like

Currently the users get added to the channel based on the category permissions, but those outside of the chat allowed groups simply can’t see any chat features at all and so don’t have access. There are a couple of other criteria that go into whether they’re ‘active’ or not and get scooped up into being added, which may account for the difference in numbers:

4 Likes

I’m experiencing the same issue that @sdpiowa identified earlier in this thread:

I understand from this thread that only “active” users join the channel. That’s fine – though the label on the option should be updated to more accurately describe the feature.

What remains unclear to me is whether this check is run periodically. In other words, if a previously inactive user interacts with the site tomorrow will they automatically join the chat channel or not?

3 Likes

Any confirmation on my question above?

1 Like

I guess by now you should have empirical evidence?

I can’t quite tell what subject.execute(chat_channel_id: channel.id, starts_at: user.id, ends_at: user.id) does in the spec, but I think that those users are added continually.

1 Like

On my forum returning users will be added continually. Sure, there can be somekind delay, but it can’t be long.

(That shows one metric I could guess quite many community admins dislike :wink: It tells directly how many pseudo users that community has…)

1 Like