From 17f88e96004d5f60ea1deb4a2298586df08be3a3 Mon Sep 17 00:00:00 2001 From: Dmitri Pisarev Date: Thu, 22 Mar 2018 23:00:49 +0300 Subject: [PATCH] BUGFIX: fix race condition when merging tree nodes --- Classes/Neos/Neos/Ui/Fusion/Helper/NodeInfoHelper.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Classes/Neos/Neos/Ui/Fusion/Helper/NodeInfoHelper.php b/Classes/Neos/Neos/Ui/Fusion/Helper/NodeInfoHelper.php index bcfada166a..d83f73c0e2 100644 --- a/Classes/Neos/Neos/Ui/Fusion/Helper/NodeInfoHelper.php +++ b/Classes/Neos/Neos/Ui/Fusion/Helper/NodeInfoHelper.php @@ -93,7 +93,6 @@ public function renderNode(NodeInterface $node, ControllerContext $controllerCon 'name' => $node->getName(), 'identifier' => $node->getIdentifier(), 'nodeType' => $node->getNodeType()->getName(), - 'isFullyLoaded' => !$omitMostPropertiesForTreeState, 'properties' => $omitMostPropertiesForTreeState ? [ // if we are only rendering the tree state, ensure _isHidden is sent to hidden nodes are correctly shown in the tree. '_hidden' => $node->isHidden() @@ -104,6 +103,10 @@ public function renderNode(NodeInterface $node, ControllerContext $controllerCon // TODO: 'uri' =>@if.onyRenderWhenNodeIsADocument = ${q(node).is('[instanceof Neos.Neos:Document]')} 'children' => [], ]; + // It's important to not set `isFullyLoaded` to false by default, so the state would get merged correctly + if (!$omitMostPropertiesForTreeState) { + $nodeInfo['isFullyLoaded'] = true; + } if ($controllerContext !== null && $node->getNodeType()->isOfType($this->documentNodeTypeRole)) { $nodeInfo['uri'] = $this->uri($node, $controllerContext);