Using the “/” hotkey to send a message in roblox’s new TextChatService causes the / to send in the beginning of the message. This occurs across multiple experiences, and can be reproduced by creating a new baseplate file and using the new TextChatService. This occurs both in roblox studio and in-experience.
Example from in-experience:
Other Experiences:
Expected behavior
When using the “/” hotkey to send a chat message, the slash should not send as part of the message.
That and TextChatService also causes issues with bubble chat. Some players are reporting that bubble chats don’t appear at all for them or appear for a millisecond before disappearing quickly. I have no idea what the cause for this is but players have been experiencing it for months (I haven’t).
I’m not sure if this is the reason, but it might be that having low graphics somehow effects the bubble chat.
This same behavior happens when creating a custom chat system too. UserInputService.InputBegan detects input from the user. If you use TextBox:CaptureFocus() within the same frame when the user presses “slash” or any other key, the TextBox.Text will also include it as a typed character.
UserInputService.InputBegan:Connect(function(Input, IsGame)
if IsGame then
return
end
if Input.KeyCode == Enum.KeyCode.Slash then
task.wait(0.1)
TextBox:CaptureFocus()
end
end)
This can be patched by adding a wait time before calling TextBox:CaptureFocus() within the UserInputService.InputBegan event.
I noticed this as well when I was playing Cabin Crew Simulator (which also has the new TextChatService), the chat box would type the “/“ when I pressed the “/“.
This also seems to be a recent problem, as this wasn’t happening at the beginning of the week if I am correct.
It seems like this issue is related to this change regarding user input frame ordering. It seems like the textbox is getting input and capturing focus before the additional input capture is called after the heartbeat step.
It would also explain why this works because the input isn’t being captured next frame.
This issue is also occurring to my custom chat system. I use task.defer to capture focus of the TextBox on the next resumption cycle to avoid capturing the “/”. This trick worked as expected up until today.
Also getting very annoyed players at my experience. Parts of my experience depends on TextChatService and I cannot revert back to the classic chat without redoing these portions. Hoping for an update on this soon.