When using UpdateSourceAsync with a large amount of data (in my scenario, ~10MB), the Team Create session will time out with the data not being fully appended to the source script. This becomes an issue for me because I am using Rojo, as well as a script that is compiled from web assembly. I understand what I am doing is not a very normal use-case, but this creates a conflict with a future feature we are making for our experience.
Reproduction Steps:
- Open a new studio file.
- Save the studio file to Roblox with team create enabled. Ensure that drafts are turned off.
- Create a Script anywhere, in my case it is ServerScriptService.
- Using UpdateSourceAsync, apply a LARGE amount of data to the Script.
- After ~60 seconds, you will be kicked out of studio.
Here is an example code snippet you can run in the command bar, just ensure you have a script selected when running it.
local ReallyLongString = `local ExampleString="{string.rep("ABC123", 10_000_000)}"`
print("Appending to the script...")
game:GetService("ScriptEditorService"):UpdateSourceAsync(
game.Selection:Get()[1],
function()
return ReallyLongString
end
)
print("Fully appended!")
Video Reproduction:
Here is a few pictures of my scenario with Rojo, which also uses UpdateSourceAsync:
The amount of characters in my scenario:
Expected behavior
The UpdateSourceAsync should go through without yielding, and fully append the content to the script. A delay is expected, but timing out results in the update to cancel and not fully append, if at all.