Suggestion: canvas.addEventListener('dragstart', (e) => { e.preventDefault(); } );
At least on Firefox/Mac, sometimes while dragging it "picks up" the image to drag it. This should prevent that.