rojo-rbx / rojo

Rojo enables Roblox developers to use professional-grade software engineering tools
https://rojo.space
Mozilla Public License 2.0
947 stars 179 forks source link

Rojo tries to destroy services when removed from the project file #875

Closed nezuo closed 7 months ago

nezuo commented 7 months ago

Reproduction steps:

  1. Initialize a rojo project and run rojo serve on it.
  2. Start Roblox Studio and open a place.
  3. Connect to rojo with the plugin.
  4. Delete the Workspace entry in the project file.
  5. The plugin will disconnect and report the error.
[Rojo-Warn] Disconnected from an error: -- Promise.Error(ExecutionError) --
[Rojo-Warn] 
[Rojo-Warn] The Promise at:
[Rojo-Warn] 
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:142 function start
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.App:560 function startSession
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.App:641 function onConnect
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Roact.SingleEventManager:80
[Rojo-Warn] 
[Rojo-Warn] ...Rejected because it was chained to the following Promise, which encountered an error:
[Rojo-Warn] 
[Rojo-Warn] 
[Rojo-Warn] The Promise at:
[Rojo-Warn] 
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:145
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:172 function runExecutor
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:181
[Rojo-Warn] 
[Rojo-Warn] ...Rejected because it was chained to the following Promise, which encountered an error:
[Rojo-Warn] 
[Rojo-Warn] The Parent property of Workspace is locked
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.InstanceMap:136 function destroyId
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.Reconciler.applyPatch:29 function applyPatch
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.Reconciler:67 function applyPatch
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:309
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:172 function runExecutor
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:181
[Rojo-Warn] 
[Rojo-Warn] Promise created at:
[Rojo-Warn] 
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:299
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:172 function runExecutor
[Rojo-Warn] PluginDebugService.user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:299
[Rojo-Warn]
kennethloeffler commented 7 months ago

This is fixed by #845, which will ship in Rojo 7.4.1. Thank you for the report!