From bf6816912f7015ac6a8da0b5db26274da15be48d Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Thu, 18 Aug 2022 13:26:43 -0600 Subject: [PATCH] Deserialize state before setting it, as is done elsewhere set_state is used. This is causing at least one problem in the ipyleaflet 8.0 upgrade tests, as seen in https://github.com/jupyter-widgets/ipyleaflet/pull/968 --- packages/base-manager/src/manager-base.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/base-manager/src/manager-base.ts b/packages/base-manager/src/manager-base.ts index 78695083a6..7322d15c4a 100644 --- a/packages/base-manager/src/manager-base.ts +++ b/packages/base-manager/src/manager-base.ts @@ -487,7 +487,10 @@ export abstract class ManagerBase implements IWidgetManager { } else { // model already exists here const model = await this.get_model(widget_id); - model!.set_state(state.state); + const deserializedState = await ( + model.constructor as typeof WidgetModel + )._deserialize_state(state.state, this); + model!.set_state(deserializedState); } } catch (error) { // Failed to create a widget model, we continue creating other models so that