I guess this should have been obvious. Your “link 2” doesn’t have a “to” node, so it doesn’t have a “ToPort”. So… when the node resizes, the Port in GoBasicNode notices that, and calls UpdateRoute
on the link.
UpdateRoute calls CalculateStroke to compute a new path from FromPort to ToPort. But… there isn’t
a ToPort, so it just returns.
A case of two pretty rarely used options (resizable nodes and movable links) not behaving well together.
So… if you really need a workaround for this, I’d suggest overriding CalculateStroke on your GoLink, create a temporary zero-sized GoPort where the the of the link is, attach the link to it, then call
base.Calculate Stroke, then remove the port your created. I’d mock that up for you, but
it doesn’t look like you’ve been under support for some time.