TextFilterResult:GetChatForUserAsync() returns empty string, but only in one of my group's experiences

A group I work for has recently migrated to TextChatService, but since then, we’ve ran into a few issues with text filtering, where the TextFilterResult:GetChatForUserAsync() method returns an empty string, but only in our main game.
The filter works fine in our staging and testing experiences, where we work on new updates & test them.

In this case, we have a text-based ‘radio’ (communication) system where players can communicate with each other. The messages are filtered manually through the use of TextService’s FilterStringAsync method, which works perfectly fine, but not on our main game, where all of our players go.

When we publish from the development games to our main game, we publish to a place (not the starting place) under the main game.

Below are some images of the issue in question.


The code that handles communication requests from the client


The snippet that handles filtering


Using Chat:FilterStringAsync() doesn’t work either (the same result is produced)

image
Expected behaviour, in the other experience (our testing area)

image
Actual behaviour, in our main game

Output schema:

(filtered message)
(x y z)

where:

  • x: success,
  • y: the filtered message,
  • z: the original message

A private message is associated with this bug report

3 Likes

Same case for me too, this has occurred in another game. I had to do a temporary fix by getting rid of Roblox’s filter system and making my own filter system for the time being

Coincidentally? It’s also a place under the main game. Not only that, the game forces the new TextChatService function. Could you let me know as well if TextChatService also persists for your game despite the setting being set to Legacy? Absolutely no idea what is causing any of these issues. Hope this issue gets solved soon

2 Likes

My game suddenly migrated to TextChatService early, but only in the main game. I don’t think we changed the setting at all, but we had to quickly migrate everything from legacy chat.

I wouldn’t risk using your own filter, I’ll likely just disable our radio system for the time being and just fully enable the chat system for the time being (we have only the input bar visible normally).

2 Likes

Could you try and use TextFilterResult:GetNonChatStringForUserAsync instead and see if it works? I’m not at my computer at the moment but I’ve just had this idea.

2 Likes

Will do, and I’ll get back to you when I have the time to. The text filter result returned blank and has ended up breaking most commands for our game’s admin system like chat logs and announcements, it’s weird.

2 Likes


This method seems to work now, strange!
It’s filtering text properly when I use the GetNonChatStringForUserAsync method, but I’ve also added in the CanUsersChatAsync check, so maybe that’s the issue here.

5 Likes

I just tried it out and… wow. It actually worked. That’s weird. I hope some attention is placed onto this (seemingly) rare bug soon and I hope Roblox personnel are able to see it and find the root cause.

From what I’m seeing, this issue only persists for games that are within a place that’s under the main game, linked through the Asset Manager. That, or it’s just a coincidence that we both are under the same predicament.

3 Likes

Bump having same issue on our game Northwind

5 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.