You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The supplied entityId is an object, not a string, so defined(entityCluster._collectionIndicesByEntity[entityId]) will always be false.
Suggested Fix
I think the problem is that in addNonClusteredItem and getBoundingBox, it passes item.id as the entityId, but that's actually the entity itself. Instead, it should perhaps pass item.id.id.
It would be good to also write a test that would start out failing and is fixed after this is fixed.
Given we've had various issues with clustering, this sounds like something that should be fixed sooner rather than later. Do we understand how this bug manifests in actual clustering behavior?
This was reported on the forum with a suggested fix but I haven't had a chance to try it out and investigate it further so I'm documenting it here.
The Problem
This is the
hasLabelIndex
function inEntityCluster.js
:The supplied
entityId
is an object, not a string, sodefined(entityCluster._collectionIndicesByEntity[entityId])
will always be false.Suggested Fix
I think the problem is that in
addNonClusteredItem
andgetBoundingBox
, it passesitem.id
as the entityId, but that's actually the entity itself. Instead, it should perhaps passitem.id.id
.It would be good to also write a test that would start out failing and is fixed after this is fixed.
How To Test
What I did to see that this was happening was launch the test suite on the EntityCluster class (using http://localhost:8080/Specs/SpecRunner.html?spec=DataSources%2FEntityCluster) and placing a console.log to see that it does indeed always return false, and passes an object instead of a string.
@hpinkos maybe we can label this "Good First Issue" ?
The text was updated successfully, but these errors were encountered: