Note: This PR is still in-progress. Once it's ready for review, I'll annotate the changes with comments.
The aim of this PR is to improve the general stability of the runtime session service. I approached this by first writing extensive unit tests, for two reasons:
Some of the issues we're seeing with notebooks are intermittent and therefore tricky to reproduce without tests.
The tests are also in preparation for bringing notebook session management logic from the notebook controller extension into the core runtime session service (https://github.com/posit-dev/positron/issues/2671). I wanted to ensure that nothing breaks when doing that.
Note: This PR is still in-progress. Once it's ready for review, I'll annotate the changes with comments.
The aim of this PR is to improve the general stability of the runtime session service. I approached this by first writing extensive unit tests, for two reasons: