This is a silly question, but how can I make the stroke of some canvas object invisible? Setting the width to 0 doesn't help (thin, but visible), and I don't know which color I should change the stroke to.
Setting the opacity to zero will achieve that effect - i.e:
ctx.strokeStyle = "rgba(1, 1, 1, 0)";
Setting the stroke to fully transparent as alnitak suggests is one way, but a slightly more appropriate (and more performant) way would be to simply not call stroke()!
The path (and all subpaths) will still exist if you don't call stroke and you can still fill or add to the path as you please.