When a player TextSource is removed from a TextChannel with :Destroy() when ChannelTabs is enabled, the TextChannel’s tab UI is still visible in the player’s chat and the player is able to send ‘ghost messages’ to the chat that do not have a username and can’t be seen by other players.
Reproduction Steps:
Create a TextChannel in TextChatService
Add a TextSource to the TextChannel with TextChannel:AddUserAsync(player.UserId). This will cause the channel tab for the TextChannel to appear in the chat.
Remove the player from the TextChannel with TextSource:Destroy(). The player will still be able to see the channel’s ui tab in the chat.
I can confirm that this happens and it is very annoying.
Unsure if this is a bug, but it also has channels with TextSource.CanSend disabled also show up. If this is not a bug, then I would love for it to be a feature. Perhaps having TextChannel.Visible
Hey @ShinyGriffin - thanks for your report. We’re looking into this one and will try to get a fix out ASAP. Apologies for the inconvenience in the meantime!
Thanks so much! I would also like to include that if a TextChannel is destroyed, players who were in the channel can no longer type at all and I get this warning in the output: TextChatService is not enabled. Check TextChatService.ChatVersion and make sure it is not set as ChatVersion.LegacyChatService.
Could we get a follow-up on this issue? No effective way of removing players from the channels essentially makes the entire feature useless in most of my use cases. I additionally do not see a reason why we have to resort to removing TextSources from TextChannels rather than being provided a function analogous to AddUserAsync.
I figured out if you parent the TextChannels folder somewhere else, then move it back, it fixes the tab issue. A bit hacky but works for anyone who wants to use tabs.
Are you doing this on server or client? Trying to get my channel tabs functional but reparenting the entire folder on the server when one person leaves one channel seems… yk