- kernel_selector.set_kernel validates selection and triggers 'spec_changed.Kernel'. It does not start the session anymore.
- notebook calls kernel_selector.set_kernel when:
- kernelspec is in notebook metadata
- session is loaded (e.g. no kernelspec metadata)
- notebook starts session, loads metadata on spec_changed.kernel
The only case where starting the session is not triggered by spec_changed is on notebook load with no kernel metadata
closes#7409
Mostly a symptome of too many nested div that do different things.
don't try to both have an end space inside and outside the 'document'
area. And don't try to also get the things to be 100viewport height by
hacking around and make them smaller;
- Adds a `GenericCheckpointMixin` as a helper for implementing the two
boundary-traversing Checkpoint API methods, `create_checkpoint` and
`restore_checkpoint`.
- `GenericFileCheckpointManager` is implemented as a subclass of
`FileCheckpointManager` using `GenericCheckpointMixin`. Note that
this is the safe subtyping relationship because of method
signature *contra*variance: `FileCheckpointManager` accepts
`FileContentsManager` in its method signatures type, whereas
`GenericFileCheckpointManager` accepts any `ContentsManager`.
- Moved Checkpoint-related classes to their own files.
js test are the longer ~8 minutes vs ~3 for Python, and fails the more often.
Hopefully this will speedup the build and have less test relaunched when we
have a random faillure. Splitting should make the js test a bit faster
On `create_checkpoint` and `restore_checkpoint`, pass a path and a
`ContentsManager` to `CheckpointManager` instead of an already-loaded
model.
The `CheckpointManager` base class provides a correct implementation of
these methods that's generic across any ContentsManager, but subclasses
are free to specialize when the storage backend of `ContentsManager` is
shared.
multiplex on a 'channel' key in message,
rather than separate websockets.
Unlike zmq, there aren't different message patterns that require the channels to be separate.
Reduces FD count by factor of 3 and connection complexity in js.