fixes check for the case where kernelspec info is coming from the kernel,
rather than notebook metadata.
This case was getting skipped by a bad check on `_session_starting`.
- 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;
As per discussion, each kernel can provide a file name kernel.js that
we try to load at kernel switching. If such a file exist we assume that
the kernel pathches the javasscript and that this javascript cannot be
unpatched, and further switching of the kernel cannot be undone without
reloading the page. (separate PR for UI)
if a kernel provide kernel.js, the it should consist into a AMD module
definition that uses require.js the module shoudl define a function name
`onload` that will be called at the appropriate moment before the kernel
starts.
This is a combination of 10 commits.
Enable widget instanciation from front-end.
Address @minrk 's review comments.
Make API that allows users to persist widget state easily.
Added support for view persistence
Started adding support for model persistence.
Half way there!
Finished persistence API.
Move persistence code into the widget framework.
Fin.
Bug fixes