Allow for the model_id
property to still be accessed after the widget is closed
#179
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 problem was first discovered via #174
Here is a small reprex of the problem.
After the 1st invalidation, you'll get:
This happens because
.add()
reads of the.model_id
property of everyWidget
instance (i.e.,Marker()
) that has ever been added to it. And, in recent versions of shinywidgets, we now.close()
widgets when the reactive context they were initialized in get invalidated. When a widget gets closed, normally reading.model_id
will result in error since that property reads.comm.comm_id
, but.comm
isNone
.The workaround here is come up with a "mock" comm object that we add after close that allows for the
.model_id
property to still be read.