Expanding a subprocess box moves connectors, collapsing it does not move them back


We have a few quite complex maps that use subprocesses to contain further data, which are collapsed by default to save space. These have connectors attached to them, and we have noticed that if you then expand that subprocess in order to view what is inside, the connectors move with the box correctly. However if you then collapse the subprocess again, the connectors are not returned to their original position. On large maps with many nearby objects, this can make the map messy after this has happened a few times. I have attached a screen capture using the bpmn demo to illustrate what I mean. Can you tell me if this is working as intended please, or if there is something additional that needs to get set up to get them to revert to their original state?

Example video link

Thanks in advance


This seems to be intended behavior, since it re-layouts the connection after expanding the SubProcess correctly. It simply does not re-layouting again to it’s original layout after collapsing, since it seems to be not necessary (the connection is not overlapping anything).

I can think about it’s difficult to save the original waypoints of the connection when expanding the subprocess and re-apply them when collapsing. The Layouter always tries to create the best possible connection layout. However, this could be a cool feature. Maybe you can open another issue in bpmn-js and we can discuss about it internally.

Hi @Niklas_Kiefer,

That’s great news, thanks! I have raised the feature request here;



Good day, this issue is still hurting ((collapsing a subprocess does not move the connectors back to their original positions).
It’s also impacting the the BPMN.IO demo (https://demo.bpmn.io/).
Has there been any fix?

The issue referenced above is still open so there was no fix as for now.

Please do not necrobump old topics. Instead link to this thread from new topic.