Ensure Notebook Model Dirty State Can Be Triggered Before Session Start #10420
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes #10416.
Issue: we were waiting until a session was started before calling the resolving the modelReady promise. This promise was awaited in a few places to get a reference to the notebook model, one of which was to hook up model contentChange (and kernelChange) events in notebookInput.
This was originally done because there is always a kernelChange event fired when a notebook is opened, so we didn't want to set the document to dirty incorrectly.
Tracking the first kernel change is straightforward, however, which is part of my change here.
Now, users should be able to open a notebook, immediately edit the notebook, and save it, before the session is loaded for the kernel.