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
I have searched for similar issues before opening a new one.
Description
If the root block is at or near 0, 0 and another (not yet understood) set of conditions is met, a bump occurs when dragging a block out of the flyout. It also occurs when creating a block from the flyout with the keyboard experimentation plugin.
This happens because of a render that is triggered in serialization.blocks.append when called from flyout_base.placeNewBlock and can be resolved by switching to blocks.appendInternal to avoid the immediate render, but we want to understand the issue more before making that change.
Then drag the workspace (not the block) to offset it away from the flyout for visibility.
Then open the Logic category and slowly drag out an if block.
Notice that the repeat block is bumped sideways as the if block appears.
Stack trace
Screenshots
No response
Browsers
No response
The text was updated successfully, but these errors were encountered:
In looking at this, the set of conditions is that the block at ~(0, 0) has compatible connections with the block being dragged within the snap radius, assuming the block being dragged is positioned at (0, 0). This is because the block being dragged gets initially created at the origin, then rendered, which calls bumpNeighbours() as part of its ordinary operation. There are checks to not do this for blocks being dragged, but since there's quite a lot of indirection in terms of gestures/draggers/drag strategies/draggables, at the time the new block is initially being rendered it (and the workspace) haven't yet been marked as dragging.
Check for duplicates
Description
If the root block is at or near 0, 0 and another (not yet understood) set of conditions is met, a bump occurs when dragging a block out of the flyout. It also occurs when creating a block from the flyout with the keyboard experimentation plugin.
This happens because of a render that is triggered in
serialization.blocks.append
when called fromflyout_base.placeNewBlock
and can be resolved by switching toblocks.appendInternal
to avoid the immediate render, but we want to understand the issue more before making that change.Reproduction steps
Open the playground and load this JSON:
Then drag the workspace (not the block) to offset it away from the flyout for visibility.
Then open the Logic category and slowly drag out an if block.
Notice that the repeat block is bumped sideways as the if block appears.
Stack trace
Screenshots
No response
Browsers
No response
The text was updated successfully, but these errors were encountered: