Linking transaction is duplicated


I have found that “Linking” transaction is duplicated for nodes which are part of some group.
Here is an example, just drag a link from the first node to the second one:

const $ = go.GraphObject.make;
const myDiagram = $(go.Diagram, "diagram", {
    "undoManager.isEnabled": true,
    "ModelChanged": (e) => {
        if (e.isTransactionFinished && e.object && e.object.changes) {
            console.log(`Transaction is finished: ${}`);

myDiagram.nodeTemplate = $(go.Node, "Auto", { fromLinkable: true, toLinkable: true },
    $(go.Shape, "Circle", { width: 40, height: 40, cursor: "pointer"  }),
    new go.Binding("location", "loc", go.Point.parse)

const myModel = $(go.GraphLinksModel, {
    nodeDataArray: [
        { key: "group1", loc: "0 0", isGroup: true },
        { key: "node1", loc: "100 0", group: "group1" },
        { key: "node2", loc: "200 0", group: "group1" }

myDiagram.model = myModel;

This doesn’t happen for groups without a layer.
Am I to understand it’s a bug? If so, do you have any plans on fixing it?


That’s interesting. Looks like a bug. We’re investigating.

Could you please try the library that you can download from ?
I think we have fixed that problem, but I would appreciate it if you could do a relatively thorough check before we release it as “latest”. Changes involving transactions are always a bit risky.

Looks likes the initial issue is gone for new version. I have tested several common scenarios for our application and found no issues. Actually I ran into one - all animations stopped working, but apparently we used yet one bug fixed in this version (animations were working regardless of AnimationManager.isEnabled = false).

Thanks for so fast feedback. Then we’re waiting for new release.

Do you have some AnimationTriggers and have you set AnimationManager.isEnabled to false? Then animations are not supposed to run when the data binding value changes. I believe that was also fixed in this beta release.