From df73aa06e455c4b99db848ed968762d23734e8c7 Mon Sep 17 00:00:00 2001 From: David Brochart Date: Fri, 13 Sep 2024 10:25:32 +0200 Subject: [PATCH] Import sync from pycrdt --- plugins/yjs/fps_yjs/ywidgets/widgets.py | 16 ++++++++-------- tests/test_execute.py | 1 - 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/plugins/yjs/fps_yjs/ywidgets/widgets.py b/plugins/yjs/fps_yjs/ywidgets/widgets.py index 52eeae03..401cbdfa 100644 --- a/plugins/yjs/fps_yjs/ywidgets/widgets.py +++ b/plugins/yjs/fps_yjs/ywidgets/widgets.py @@ -1,15 +1,15 @@ import sys from typing import Any -from pycrdt import TransactionEvent - try: - from ypywidgets.utils import ( # type: ignore + import ypywidgets # type: ignore + from pycrdt import ( + TransactionEvent, YMessageType, YSyncMessageType, + create_sync_message, create_update_message, - process_sync_message, - sync, + handle_sync_message, ) ypywidgets_installed = True except ImportError: @@ -41,15 +41,15 @@ def comm_open(self, msg, comm) -> None: self.comm = comm model = self.ydocs[f"{name}Model"]() self.widgets[comm_id] = {"model": model, "comm": comm} - msg = sync(model.ydoc) - comm.send(**msg) + msg = create_sync_message(model.ydoc) + comm.send(buffers=[msg]) def comm_msg(self, msg) -> None: comm_id = msg["content"]["comm_id"] message = bytes(msg["buffers"][0]) if message[0] == YMessageType.SYNC: ydoc = self.widgets[comm_id]["model"].ydoc - reply = process_sync_message( + reply = handle_sync_message( message[1:], ydoc, ) diff --git a/tests/test_execute.py b/tests/test_execute.py index e45e700c..d423f1a1 100644 --- a/tests/test_execute.py +++ b/tests/test_execute.py @@ -55,7 +55,6 @@ async def recv(self) -> bytes: return bytes(b) -@pytest.mark.skip(reason="FIXME: caused by new ypywidgets version") @pytest.mark.asyncio @pytest.mark.parametrize("auth_mode", ("noauth",)) async def test_execute(auth_mode, unused_tcp_port):