-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Delayed evaluation of early-evaluated cells seems to cause ipywidgets "missing js issue" #2087
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Can you walk us through the timeline of what you think is happening? |
What do you think of reverting #1002 and changing |
I'd rather fix the problem. Can you walk us through the sequence of what you think is happening? |
Okay, here's a possible sequence. I haven't tested this.
Basically, it's a race condition between the widget javascript running before the user executes a cell, and an assumption from the kernel side that the ipywidgets will be able to execute a comm open before any user code runs. Before #1002, here's what I am thinking was happening in the situations where the message seemed to randomly pop up.
It always seemed fickle when the 'js not installed' error came up. I think the real problem is that in ipywidgets, we are assuming that the widget javascript will have priority access to a kernel, before user execution. I think we probably need a more robust method for doing the version check. And clearly this ipywidget check is faulty if we have multiple clients talking to the same kernel. The first client will okay its version of javascript, so the error won't show if the second client does not have the javascript installed. |
I'm moving this issue to ipywidgets, since I think the real problem is with the widget javascript check. |
Moved to jupyter-widgets/ipywidgets#1211 |
In PR #1002, @jasongrout implemented the delaying of the evaluation of the cells that were executed before the kernel was up.
I think that this is what introduced the random jupyter widgets warning message on missing widgetsnbextension, which occurs when such early evaluation is attempted. Indeed, code is then executed before the notebook extension is loaded.
Ping @takluyver
The text was updated successfully, but these errors were encountered: