From 9cc0aac9857b593a0b3d9246d8922cdcaeb40c9b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 19 Mar 2021 19:11:32 -0400 Subject: [PATCH] Fix resizing in nbAgg. The WebSocket wrapper around the IPython comm does not define `readyState`, and so resizes are never forwarded to the Python side. --- lib/matplotlib/backends/web_backend/js/nbagg_mpl.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/matplotlib/backends/web_backend/js/nbagg_mpl.js b/lib/matplotlib/backends/web_backend/js/nbagg_mpl.js index 7a9544973957..8e7e38157925 100644 --- a/lib/matplotlib/backends/web_backend/js/nbagg_mpl.js +++ b/lib/matplotlib/backends/web_backend/js/nbagg_mpl.js @@ -7,6 +7,17 @@ var comm_websocket_adapter = function (comm) { var ws = {}; ws.binaryType = comm.kernel.ws.binaryType; + ws.readyState = comm.kernel.ws.readyState; + function updateReadyState(_event) { + if (comm.kernel.ws) { + ws.readyState = comm.kernel.ws.readyState; + } else { + ws.readyState = 3; // Closed state. + } + } + comm.kernel.ws.addEventListener('open', updateReadyState); + comm.kernel.ws.addEventListener('close', updateReadyState); + comm.kernel.ws.addEventListener('error', updateReadyState); ws.close = function () { comm.close();