Description: The TextChannel:DisplaySystemMessage method functions incorrectly when the chat history reaches or exceeds its maximum capacity (if I’m not mistaken, it’s 50). While standard player messages continue to display in the correct chronological order, system messages begin to appear chaotically, failing to maintain their proper sequence. Actual Behavior: The ordering of system messages becomes randomized or inconsistent. Player messages remain unaffected and display correctly, suggesting the issue is specific to the DisplaySystemMessage logic.
Scope:
Environment: This issue is consistently reproducible in both Roblox Studio and the Live Game.
Impact: The bug affects all players simultaneously. However, the resulting message order is unique to each client (e.g., Player A might see messages in one random order, while player B sees a different random order).
Steps to reproduce:
Fill the chat history until it reaches the maximum message limit.
Trigger DisplaySystemMessage calls (as shown in the script).
Observe the chat window.
Demonstration
LocalScript inside a TextButton
local function SendChat(msg)
game:GetService("TextChatService"):FindFirstChild("RBXGeneral", true):DisplaySystemMessage(msg)
end
script.Parent.TextButton.Activated:Connect(function()
SendChat('-')
SendChat('--')
SendChat('---')
SendChat('----')
SendChat('-----')
end)
Expected behavior
Expected behavior: System messages should be appended to the bottom of the chat in the order they were called, properly displacing the oldest messages.
local function SendChat(msg)
game:GetService("TextChatService"):FindFirstChild("RBXGeneral", true):DisplaySystemMessage(msg)
end
script.Parent.TextButton.Activated:Connect(function()
SendChat('-\n--\n---\n----\n-----')
end)
You are partially correct, however, that was merely a minimal example intended to demonstrate the bug. Even if the messages are condensed into a single call, the output is still expected to appear at the very bottom of the chat history. Due to this bug, there is no guarantee that a combined message would stay at the bottom as intended. Therefore, using a single call does not resolve the underlying sequencing issue, and the bug remains.
This bug appears when you have more than one call of SendChat(), where after a period of repeated calls, it would do that random bug. However, I realized that SendChat() still works, and that messages are still sent.
Making it just one call SendChat() will literally make the entire message appear at the bottom. Have you tried implementing my script to your game? Tell me if the “bug” still appears
I can’t rule out the possibility that you might be right. But the behavior described in the bug report isn’t expected, so it’s quite difficult to say what should happen. It’s also important to remember that messages are often sent from more than one location in the code, even from different scripts, making it impossible to control the sending of individual messages. The system must send messages strictly in chronological order, regardless of their number.