rojo-rbx / rojo

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

Attempting to sync over an existing `PackageLink` causes Rojo plugin to error out #841

Closed kennethloeffler closed 5 months ago

kennethloeffler commented 5 months ago

I've attached the following project to help reproduce: part-package.zip. This project is a place with a Part containing a PackageLink. The problem is reproducible on Rojo 7.4.0.

  1. Run rojo build and open the resulting place file.
  2. Run rojo serve.
  3. Connect the Rojo plugin and observe the following error:
    
    -- Promise.Error(ExecutionError) --

The Promise at:

cloud_13916111004.Rojo.Plugin.ServeSession:142 function start cloud_13916111004.Rojo.Plugin.App:560 function startSession cloud_13916111004.Rojo.Plugin.App:641 function onConnect cloud_13916111004.Rojo.Packages.Roact.SingleEventManager:80

...Rejected because it was chained to the following Promise, which encountered an error:

cloud_13916111004.Rojo.Packages.Log:57: Could not compute a diff to catch up to the Rojo server: { ["details"] = { ["propertyName"] = "SerializedDefaultAttributes", ["className"] = "PackageLink", }, ["kind"] = {}, } cloud_13916111004.Rojo.Packages.Log:57 function error cloud_13916111004.Rojo.Plugin.ServeSession:229 cloud_13916111004.Rojo.Packages.Promise:172 function runExecutor cloud_13916111004.Rojo.Packages.Promise:181

Promise created at:

cloud_13916111004.Rojo.Plugin.ServeSession:212 function __initialSync cloud_13916111004.Rojo.Plugin.ServeSession:145 cloud_13916111004.Rojo.Packages.Promise:172 function runExecutor cloud_13916111004.Rojo.Packages.Promise:181

Helloburp commented 3 months ago

Hiya, this still appears to be happening for me on 7.4.1.

I encountered this in one of my own projects, then found this issue and attempted to build the .zip and got what seems to be the same result: image

-- Promise.Error(ExecutionError) --

The Promise at:

user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:142 function start
user_RojoManagedPlugin.rbxm.Rojo.Plugin.App:560 function startSession
user_RojoManagedPlugin.rbxm.Rojo.Plugin.App:641 function onConnect
user_RojoManagedPlugin.rbxm.Rojo.Packages.Roact.SingleEventManager:80

...Rejected because it was chained to the following Promise, which encountered an error:

user_RojoManagedPlugin.rbxm.Rojo.Packages.Log:57: Could not compute a diff to catch up to the Rojo server: {
    ["details"] = {
        ["propertyName"] = "SerializedDefaultAttributes",
        ["className"] = "PackageLink",
    },
    ["kind"] = {},
}
user_RojoManagedPlugin.rbxm.Rojo.Packages.Log:57 function error
user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:229
user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:172 function runExecutor
user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:181

Promise created at:

user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:212 function __initialSync
user_RojoManagedPlugin.rbxm.Rojo.Plugin.ServeSession:145
user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:172 function runExecutor
user_RojoManagedPlugin.rbxm.Rojo.Packages.Promise:181