Ipywidget comm breaks when a new ipywidget is rendered #4091
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.
Fixes #4088
This commit drops explicitly calling ipywidget.comm.open() as it causes a protocol version mismatch issue - reproducer in the referenced issue. When opening a new comm, as per the docs, we need to pass data and meta data. So the w.comm.open() call should be something like:
This seems to fix the error but the widgets still do not update. This is because when we create a new comm, ipywidgets seems to create a new model reference. In my understanding, we need not explicitly open a comm to the frontend as the kernel will automatically reconstruct an existing comm. If for some reason we do want to open a comm, then ipywidgets bokeh needs to be updated so that the view uses the correct model.