GH Connector: "Detached" objects are not really detached in the new DataTree handling

Hi Speckle,

I am trying to send a set of objects to the Speckle Server and then be able to query them using GraphQL API. The queries are initially made based on the stable version of the GH Connector (2.5.2).

Now, the problem is when sending objects to the Speckle Server (2.5.x) as Detached using the new Send component in GH Connector 2.6.0 beta. The object(s) in each Branch are wrapped in a new Base object (let’s call it the Branch Object), and this Branch Object is sent to server as Detached; but the actual objects that are nested inside it are not detached. This turn each Branch Object into a big object with all the children as nested, although everything is expected to be saved as separate objects. I guess this also means that changing one object in a branch will make all the objects in that branch to be uploaded again.

This breaks the queries as well, since the keys that are queried are no longer in the root object.

My expected behavior was for both the Branch Object and the nested objects (marked red) to be sent as detached objects.

Please let me know if there is something I am missing . . .

GH File:

Result:

Quick Fix:

The quick fix that solves the problem is to wrap the object as Detached in another Base object.
Quick Fix:

2 Likes

Hey @Ardeshir_Talaei!

I just double checked on my side and you’re not missing anything. I had a quick chat with @dimitrie and we’re going to look into this today.

Meanwhile, I’m going to roll back the “chunking” of the data tree branches, which seems to be the root cause of this issue. And leave just the new data tree structure with no chunking (which will make it detach all children by default, as you’d expect).

I’ll leave the new data structure intact and make the changes backwards compatible so you can just upgrade and get the fix.

I opened an issue for the chunking part here [Core] Dynamic chunks do not detach children objects · Issue #1339 · specklesystems/speckle-sharp · GitHub

You should be getting version 2.6.1 for grasshopper and dynamo (to keep compatibility) available in your manager shortly, hopefully that will unlock you while we look into the dynamic chunking issue.

2 Likes