Skip to content

Fix saving notebook with disconnected widgets losing widget model state#4015

Open
pablogsal wants to merge 1 commit intojupyter-widgets:mainfrom
pablogsal:fix-widget
Open

Fix saving notebook with disconnected widgets losing widget model state#4015
pablogsal wants to merge 1 commit intojupyter-widgets:mainfrom
pablogsal:fix-widget

Conversation

@pablogsal
Copy link

When saving a notebook containing disconnected widgets (restored from saved state but without a live kernel), the widget state was being dropped from notebook metadata. This happened because get_state_sync() only serialized models with comm_live=true, filtering out any widgets that had been restored from saved state without a kernel connection.

On subsequent reopens, the widget output cells still referenced model IDs that no longer existed in the metadata, causing "Error displaying widget: model not found" errors.

The fix removes the comm_live filter from get_state_sync(), so all registered widget models are serialized when saving. This aligns with the base manager's async get_state() method, which already includes all models regardless of comm_live status.

Fixes #3270

When saving a notebook containing disconnected widgets (restored from
saved state but without a live kernel), the widget state was being
dropped from notebook metadata. This happened because get_state_sync()
only serialized models with comm_live=true, filtering out any widgets
that had been restored from saved state without a kernel connection.

On subsequent reopens, the widget output cells still referenced model
IDs that no longer existed in the metadata, causing "Error displaying
widget: model not found" errors.

The fix removes the comm_live filter from get_state_sync(), so all
registered widget models are serialized when saving. This aligns with
the base manager's async get_state() method, which already includes
all models regardless of comm_live status.

Fixes jupyter-widgets#3270
@github-actions
Copy link

Binder 👈 Launch a binder notebook on branch pablogsal/ipywidgets/fix-widget

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Saving a Notebook With Disconnected Widgets Loses Widget Model in ipynb

1 participant