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.
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.
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:
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.
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.
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.
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, 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?
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.
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.
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).
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.
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.
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?
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?
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:
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?
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.