hocuspocus icon indicating copy to clipboard operation
hocuspocus copied to clipboard

Root shared objects have AbstractType type on the server

Open andevdokimov opened this issue 1 year ago • 1 comments

Description Shared objects inside the yDoc.shared have AbstractType and it does seem impossible to figure out the exact type (YMap/YArray etc).

Steps to reproduce the bug

Say, on client side I have yDoc. Then I create two shared root objects:
const yMap = yDoc.getMap('testMap');
// fill yMap with some data
const yArray = yDoc.getArray('testArray');
// fill yArray with some data

Then when you inspect dDoc.share on the server side, this map will have two items of AbstractType type

Is this kind of expected or bug? If this is expected, then how to understand the particular type of the root objects?

Thanks.

andevdokimov avatar Sep 06 '24 12:09 andevdokimov

As far as I know, this is the behavior of yjs. Until someone explicitly calls getMap/getArray in the document, the document will not contain information about a specific type.

ilya2204 avatar Sep 24 '24 12:09 ilya2204

yes! that's expected behaviour of yjs. this might help: https://discuss.yjs.dev/t/getting-the-ytype-of-any-yobject/187

janthurau avatar Oct 08 '24 19:10 janthurau