Issue Type: Other
Impact: Moderate
Frequency: Constantly
Date First Experienced: 2021-02-10 00:02:00 (-06:00)
Date Last Experienced: 2021-02-16 00:02:00 (-06:00)
Reproduction Steps:
A recent change made last week to enforce the installation of Roblox’s default BubbleChat
/ChatScript
LocalScripts into the PlayerScripts has a silent problem that is preventing the chat system from loading, when encountering the race condition that it is attempting to prevent.
This problem can be observed at Line 19 of ChatInstallVerifier.lua
, located at content/scripts/CoreScripts/Modules/Server/ClientChat
:
To reproduce this issue:
- Start a Play Solo session in Roblox Studio
- Navigate to
Players/{Username}/PlayerGui
- Observe the ChatInstallVerifier scripts that are stuck in limbo.
Expected Behavior:
The BubbleChat
and ChatScript
should be loaded into the PlayerScripts by copying it from the StarterPlayerScripts
object located under the StarterPlayer
service, in the event that it loaded into the game late and was missed by clients that have already loaded into the game.
Actual Behavior:
The waitForChildOfClass
function erroneously searches for a StarterPlayerScripts
object inside of the LocalPlayer rather than the StarterPlayer, and silently goes into an infinite yield as a result.
As a result, I am unable to use Roblox’s chat without manually inserting the scripts myself.
Workaround:
I can add my own fork of the verifier that correctly searches against the StarterPlayer instead of the LocalPlayer for the StarterPlayerScripts. This issue only seems to happen in Roblox Studio, so it should not be affecting live games.