posit-dev / positron

Positron, a next-generation data science IDE
https://positron.posit.co
Other
2.82k stars 91 forks source link

Make the Positron Kernel Supervisor the default for desktop builds #5299

Closed jmcphers closed 1 week ago

jmcphers commented 2 weeks ago

This change brings Kallichore out of experimental mode and makes it the default for all environments (server and desktop).

image

It also rebrands the supervisor, removing its codename and referring to it instead as the "Positron Kernel Supervisor". The extension has also been renamed, from kallichore-adapter to positron-supervisor to group it with our other extensions and make the name more meaningful.

It contains some improvements to logging; formerly you had to let Kallichore run in a visible terminal to see its logs. Now its logs are also streamed to the "Positron Kernel Supervisor" output channel. (This doesn't increase the number of output channels, as this channel replaces the "Kallichore Adapter" channel.)

Finally, it includes a fix for a bug that could cause cell execution hangs when switching notebook kernels rapidly under the new supervisor. This issue was found via an automated test; the fix is to clean up some references to the notebook's interpreter session as soon as we know the kernel has exited (whether via an exit state change or exit event).

The change does not remove the Jupyter Adapter. The Jupyter Adapter remains, for now, as a troubleshooting tool (i.e. if we're seeing any unexpected behavior and suspect it is caused by the supervisor, we can switch back to the adapter to compare notes). My hope is to have the supervisor as the default in the 2024.12 release, and to be able to remove the Jupyter Adapter entirely in 2025.01 or 2025.02.

Addresses #5262.

QA Notes