Error: Link.toPortId value is not an instance of string: null

The node use this template, when I drop a link try to relink i got this error

Uncaught Error: Link.toPortId value is not an instance of string: null
    at v (go-debug.js:15:109)
    at Aa (go-debug.js:16:282)
    at B (go-debug.js:15:353)
    at T.set [as toPortId] (go-debug.js:1732:86)
    at uf (go-debug.js:379:297)
    at If (go-debug.js:381:34)
    at Ne.doMouseUp (go-debug.js:385:53)
    at Q.doMouseUp (go-debug.js:666:101)
    at Gi.a.nk (go-debug.js:661:271)
v @ go-debug.js:15
Aa @ go-debug.js:16
B @ go-debug.js:15
set @ go-debug.js:1732
uf @ go-debug.js:379
If @ go-debug.js:381
Ne.doMouseUp @ go-debug.js:385
Q.doMouseUp @ go-debug.js:666
Gi.a.nk @ go-debug.js:661

$go(go.Node, "Spot", { locationSpot: go.Spot.TopLeft, locationObjectName: "BODY",
			},
			{ rotatable: true, rotationSpot: go.Spot.Center }, //{selectionAdorned: false},
			new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
			new go.Binding("zOrder").makeTwoWay(),
			new go.Binding("angle").makeTwoWay(),
			$go(go.Panel, "Auto", { click: nodeClick, name: "BODY"},
				$go(go.Shape,
					{
					stroke: null,
					//portId: ""
					fromLinkable: true, fromLinkableSelfNode: true, fromLinkableDuplicates: true,
					toLinkable: true, toLinkableSelfNode: true, toLinkableDuplicates: true,
					fill: null
					}
				),
				$go(go.TextBlock, {
						name: "TEXT",
						font: "10pt sans-serif",
						editable: true,  // editing the text automatically updates the model data
					},
					new go.Binding("text").makeTwoWay(),
				)
			)
		);

but i set the portId: "" the error is gone

A GraphObject will not act as a port unless its portId property has been set to a string. So if you are setting from… and/or to… properties, portId also needs to be set.

OK I see, thank you walter