tailscale / docker-extension

Docker Desktop extension adding Tailscale networking.
61 stars 12 forks source link

Improve container watching code #25

Closed rosszurowski closed 2 years ago

rosszurowski commented 2 years ago

This PR updates our extension to use newer Docker APIs, and load container information separate from Tailscale status information. After I get answers to some questions, I'll update this PR to use docker events to watch for changes to containers, rather than constantly polling.

rosszurowski commented 2 years ago

This is temporarily on hold. From Guillaume:

I thought the process would also be automatically stopped when the extension webview is discarded (through a mechanism of pipes streaming the output, when the pipe is closed), but just realised it's actually not the case; we might enforce this for commands started from the JS side, shutting them down automatically when the user exits the extension tab.

It sounds like as-is, the exec call won't be closed when users navigate away. Once this is fixed in Docker Desktop, we can merge this approach.

rosszurowski commented 2 years ago

I just updated this PR with the latest Docker code, which gives us hooks to clean up the watcher. This should be good to go. I'll merge once tests pass!