Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jupyter-ydoc for
openSUSE:Factory checked in at 2025-01-31 16:02:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-ydoc (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-ydoc.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-ydoc"
Fri Jan 31 16:02:24 2025 rev:12 rq:1241240 version:3.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter-ydoc/python-jupyter-ydoc.changes
2024-12-06 14:25:52.375201018 +0100
+++
/work/SRC/openSUSE:Factory/.python-jupyter-ydoc.new.2316/python-jupyter-ydoc.changes
2025-01-31 16:02:47.279982958 +0100
@@ -1,0 +2,9 @@
+Wed Jan 29 15:57:14 UTC 2025 - Ben Greiner <[email protected]>
+
+- Update to 3.0.3
+ * Fix missing nbformat version #304 (@fcollonval)
+ * Increase pycrdt compatible version range #307 (@davidbrochart)
+ * Fix stream output #294 (@davidbrochart)
+ * Fix tests #288 (@davidbrochart)
+
+-------------------------------------------------------------------
Old:
----
jupyter_ydoc-3.0.0-gh.tar.gz
jupyter_ydoc-3.0.0.tar.gz
New:
----
jupyter_ydoc-3.0.3-gh.tar.gz
jupyter_ydoc-3.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-ydoc.spec ++++++
--- /var/tmp/diff_new_pack.aOnuBa/_old 2025-01-31 16:02:47.812004301 +0100
+++ /var/tmp/diff_new_pack.aOnuBa/_new 2025-01-31 16:02:47.812004301 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-jupyter-ydoc
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: python-jupyter-ydoc
-Version: 3.0.0
+Version: 3.0.3
Release: 0
Summary: Document structures for collaborative editing using Ypy
License: BSD-3-Clause
@@ -36,16 +36,17 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: (python-importlib-metadata >= 3.6 if python-base < 3.10)
-Requires: (python-pycrdt >= 0.10.1 with python-pycrdt < 0.11)
+Requires: (python-pycrdt >= 0.10.1 with python-pycrdt < 0.13)
Provides: python-jupyter_ydoc = %{version}-%{release}
BuildArch: noarch
# SECTION test
BuildRequires: %{python_module importlib-metadata >= 3.6 if %python-base <
3.10}
-BuildRequires: %{python_module pycrdt >= 0.10.1 with %python-pycrdt < 0.11}
+BuildRequires: %{python_module httpx-ws >= 0.5.2}
+BuildRequires: %{python_module hypercorn >= 0.16}
+BuildRequires: %{python_module pycrdt >= 0.10.1 with %python-pycrdt < 0.13}
BuildRequires: %{python_module pycrdt-websocket >= 0.15.0 with
%python-pycrdt-websocket < 0.16}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module websockets >= 10.0}
BuildRequires: nodejs
BuildRequires: procps
BuildRequires: yarn
++++++ jupyter_ydoc-3.0.0-gh.tar.gz -> jupyter_ydoc-3.0.3-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/.github/workflows/test.yml
new/jupyter_ydoc-3.0.3/.github/workflows/test.yml
--- old/jupyter_ydoc-3.0.0/.github/workflows/test.yml 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/.github/workflows/test.yml 2025-01-28
09:43:10.000000000 +0100
@@ -41,30 +41,24 @@
steps:
- name: Checkout repository
uses: actions/checkout@v4
- - name: Install Miniconda
- uses: conda-incubator/setup-miniconda@v3
+ - name: Install mamba
+ uses: mamba-org/setup-micromamba@v2
with:
- miniforge-variant: Mambaforge
- miniforge-version: latest
- python-version: "3.11"
-
+ environment-name: jupyter_ydoc
- name: Install dependencies
run: |
- mamba install pip nodejs=18
+ micromamba install pip nodejs=18
pip install ".[test]"
-
- name: Build JavaScript assets
working-directory: javascript
run: |
yarn
yarn build
-
- name: Linter check
if: ${{ !contains(matrix.os, 'windows') }}
working-directory: javascript
run: |
yarn lint:check
-
- name: Integrity check
if: ${{ !contains(matrix.os, 'windows') }}
working-directory: javascript
@@ -76,13 +70,11 @@
echo "Integrity test failed; please run locally 'yarn integrity'
and commit the changes"
exit 1
fi
-
- name: Run JS tests
working-directory: javascript
run: |
yarn build:test
yarn test:cov
-
- name: Run Python tests
run: |
python -m pytest -v
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/.pre-commit-config.yaml
new/jupyter_ydoc-3.0.3/.pre-commit-config.yaml
--- old/jupyter_ydoc-3.0.0/.pre-commit-config.yaml 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/.pre-commit-config.yaml 2025-01-28
09:43:10.000000000 +0100
@@ -17,7 +17,7 @@
exclude: ^\.yarn
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.7.1
+ rev: v0.9.3
hooks:
- id: ruff
args: [--fix, --show-fixes]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/CHANGELOG.md
new/jupyter_ydoc-3.0.3/CHANGELOG.md
--- old/jupyter_ydoc-3.0.0/CHANGELOG.md 2024-10-29 14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/CHANGELOG.md 2025-01-28 09:43:10.000000000 +0100
@@ -2,6 +2,57 @@
<!-- <START NEW CHANGELOG ENTRY> -->
+## 3.0.3
+
+([Full
Changelog](https://github.com/jupyter-server/jupyter_ydoc/compare/@jupyter/[email protected]))
+
+### Bugs fixed
+
+- Fix missing nbformat version
[#304](https://github.com/jupyter-server/jupyter_ydoc/pull/304)
([@fcollonval](https://github.com/fcollonval))
+
+### Maintenance and upkeep improvements
+
+- Increase pycrdt compatible version range
[#307](https://github.com/jupyter-server/jupyter_ydoc/pull/307)
([@davidbrochart](https://github.com/davidbrochart))
+- Use micromamba in CI
[#301](https://github.com/jupyter-server/jupyter_ydoc/pull/301)
([@davidbrochart](https://github.com/davidbrochart))
+
+### Contributors to this release
+
+([GitHub contributors page for this
release](https://github.com/jupyter-server/jupyter_ydoc/graphs/contributors?from=2024-12-02&to=2025-01-28&type=c))
+
+[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Adavidbrochart+updated%3A2024-12-02..2025-01-28&type=Issues)
|
[@fcollonval](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Afcollonval+updated%3A2024-12-02..2025-01-28&type=Issues)
|
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Apre-commit-ci+updated%3A2024-12-02..2025-01-28&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
+## 3.0.2
+
+([Full
Changelog](https://github.com/jupyter-server/jupyter_ydoc/compare/@jupyter/[email protected]))
+
+### Bugs fixed
+
+- Fix stream output
[#294](https://github.com/jupyter-server/jupyter_ydoc/pull/294)
([@davidbrochart](https://github.com/davidbrochart))
+
+### Maintenance and upkeep improvements
+
+### Contributors to this release
+
+([GitHub contributors page for this
release](https://github.com/jupyter-server/jupyter_ydoc/graphs/contributors?from=2024-11-18&to=2024-12-02&type=c))
+
+[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Adavidbrochart+updated%3A2024-11-18..2024-12-02&type=Issues)
|
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Apre-commit-ci+updated%3A2024-11-18..2024-12-02&type=Issues)
+
+## 3.0.1
+
+([Full
Changelog](https://github.com/jupyter-server/jupyter_ydoc/compare/@jupyter/[email protected]))
+
+### Maintenance and upkeep improvements
+
+- Fix tests [#288](https://github.com/jupyter-server/jupyter_ydoc/pull/288)
([@davidbrochart](https://github.com/davidbrochart))
+
+### Contributors to this release
+
+([GitHub contributors page for this
release](https://github.com/jupyter-server/jupyter_ydoc/graphs/contributors?from=2024-10-29&to=2024-11-18&type=c))
+
+[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Adavidbrochart+updated%3A2024-10-29..2024-11-18&type=Issues)
|
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Apre-commit-ci+updated%3A2024-10-29..2024-11-18&type=Issues)
+
## 3.0.0
([Full
Changelog](https://github.com/jupyter-server/jupyter_ydoc/compare/@jupyter/[email protected]))
@@ -54,8 +105,6 @@
[@brichet](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Abrichet+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Adavidbrochart+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@dependabot](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Adependabot+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@jtpio](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Ajtpio+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@krassowski](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Akrassowski+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@lumberbot-app](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Alumberbot-app+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@martinRenou](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3AmartinRenou+upda
ted%3A2023-12-26..2024-10-29&type=Issues) |
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Apre-commit-ci+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@welcome](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3Awelcome+updated%3A2023-12-26..2024-10-29&type=Issues)
|
[@Zsailer](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_ydoc+involves%3AZsailer+updated%3A2023-12-26..2024-10-29&type=Issues)
-<!-- <END NEW CHANGELOG ENTRY> -->
-
## 3.0.0b0
([Full
Changelog](https://github.com/jupyter-server/jupyter_ydoc/compare/@jupyter/[email protected]))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/javascript/package.json
new/jupyter_ydoc-3.0.3/javascript/package.json
--- old/jupyter_ydoc-3.0.0/javascript/package.json 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/javascript/package.json 2025-01-28
09:43:10.000000000 +0100
@@ -1,6 +1,6 @@
{
"name": "@jupyter/ydoc",
- "version": "3.0.0",
+ "version": "3.0.3",
"type": "module",
"description": "Jupyter document structures for collaborative editing
using YJS",
"homepage": "https://github.com/jupyter-server/jupyter_ydoc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/jupyter_ydoc/ynotebook.py
new/jupyter_ydoc-3.0.3/jupyter_ydoc/ynotebook.py
--- old/jupyter_ydoc-3.0.0/jupyter_ydoc/ynotebook.py 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/jupyter_ydoc/ynotebook.py 2025-01-28
09:43:10.000000000 +0100
@@ -166,7 +166,12 @@
outputs = cell.get("outputs", [])
for idx, output in enumerate(outputs):
if output.get("output_type") == "stream":
- output["text"] = Array(output.get("text", []))
+ text = output.get("text", "")
+ if isinstance(text, str):
+ ytext = Text(text)
+ else:
+ ytext = Text("".join(text))
+ output["text"] = ytext
outputs[idx] = Map(output)
cell["outputs"] = Array(outputs)
cell["execution_state"] = "idle"
@@ -197,7 +202,11 @@
cells = []
for i in range(len(self._ycells)):
cell = self.get_cell(i)
- if "id" in cell and meta["nbformat"] == 4 and
meta["nbformat_minor"] <= 4:
+ if (
+ "id" in cell
+ and int(meta.get("nbformat", 0)) == 4
+ and int(meta.get("nbformat_minor", 0)) <= 4
+ ):
# strip cell IDs if we have notebook format 4.0-4.4
del cell["id"]
if (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/pyproject.toml
new/jupyter_ydoc-3.0.3/pyproject.toml
--- old/jupyter_ydoc-3.0.0/pyproject.toml 2024-10-29 14:28:59.000000000
+0100
+++ new/jupyter_ydoc-3.0.3/pyproject.toml 2025-01-28 09:43:10.000000000
+0100
@@ -13,7 +13,7 @@
keywords = ["jupyter", "pycrdt", "yjs"]
dependencies = [
"importlib_metadata >=3.6; python_version<'3.10'",
- "pycrdt >=0.10.1,<0.11.0",
+ "pycrdt >=0.10.1,<0.13.0",
]
[[project.authors]]
@@ -30,7 +30,8 @@
"pre-commit",
"pytest",
"pytest-asyncio",
- "websockets >=10.0",
+ "httpx-ws >=0.5.2",
+ "hypercorn >=0.16.0",
"pycrdt-websocket >=0.15.0,<0.16.0",
]
docs = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/tests/conftest.py
new/jupyter_ydoc-3.0.3/tests/conftest.py
--- old/jupyter_ydoc-3.0.0/tests/conftest.py 2024-10-29 14:28:59.000000000
+0100
+++ new/jupyter_ydoc-3.0.3/tests/conftest.py 2025-01-28 09:43:10.000000000
+0100
@@ -3,11 +3,15 @@
import json
import subprocess
+from functools import partial
from pathlib import Path
import pytest
-from pycrdt_websocket import WebsocketServer
-from websockets import serve
+from anyio import Event, create_task_group
+from hypercorn import Config
+from hypercorn.asyncio import serve
+from pycrdt_websocket import ASGIServer, WebsocketServer
+from utils import ensure_server_running
# workaround until these PRs are merged:
# - https://github.com/yjs/y-websocket/pull/104
@@ -27,15 +31,26 @@
@pytest.fixture
-async def yws_server(request):
+async def yws_server(request, unused_tcp_port):
try:
- kwargs = request.param
- except Exception:
- kwargs = {}
- websocket_server = WebsocketServer(**kwargs)
- try:
- async with websocket_server, serve(websocket_server.serve,
"localhost", 1234):
- yield websocket_server
+ async with create_task_group() as tg:
+ try:
+ kwargs = request.param
+ except Exception:
+ kwargs = {}
+ websocket_server = WebsocketServer(**kwargs)
+ app = ASGIServer(websocket_server)
+ config = Config()
+ config.bind = [f"localhost:{unused_tcp_port}"]
+ shutdown_event = Event()
+ async with websocket_server as websocket_server:
+ tg.start_soon(
+ partial(serve, app, config,
shutdown_trigger=shutdown_event.wait, mode="asgi")
+ )
+ await ensure_server_running("localhost", unused_tcp_port)
+ pytest.port = unused_tcp_port
+ yield unused_tcp_port, websocket_server
+ shutdown_event.set()
except Exception:
pass
@@ -43,7 +58,7 @@
@pytest.fixture
def yjs_client(request):
client_id = request.param
- p = subprocess.Popen(["node", f"{here / 'yjs_client_'}{client_id}.js"])
+ p = subprocess.Popen(["node", f"{here / 'yjs_client_'}{client_id}.js",
str(pytest.port)])
yield p
p.terminate()
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/tests/test_pycrdt_yjs.py
new/jupyter_ydoc-3.0.3/tests/test_pycrdt_yjs.py
--- old/jupyter_ydoc-3.0.0/tests/test_pycrdt_yjs.py 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/tests/test_pycrdt_yjs.py 2025-01-28
09:43:10.000000000 +0100
@@ -6,9 +6,10 @@
import pytest
from anyio import Event, create_task_group, move_on_after
+from httpx_ws import aconnect_ws
from pycrdt import Doc, Map
from pycrdt_websocket import WebsocketProvider
-from websockets import connect
+from utils import Websocket
from jupyter_ydoc import YNotebook
from jupyter_ydoc.utils import cast_all
@@ -61,10 +62,12 @@
@pytest.mark.asyncio
@pytest.mark.parametrize("yjs_client", "0", indirect=True)
async def test_ypy_yjs_0(yws_server, yjs_client):
+ port, _ = yws_server
ydoc = Doc()
ynotebook = YNotebook(ydoc)
- async with connect("ws://localhost:1234/my-roomname") as websocket,
WebsocketProvider(
- ydoc, websocket
+ room_name = "my-roomname"
+ async with aconnect_ws(f"http://localhost:{port}/{room_name}") as
websocket, WebsocketProvider(
+ ydoc, Websocket(websocket, room_name)
):
nb = stringify_source(json.loads((files_dir /
"nb0.ipynb").read_text()))
ynotebook.source = nb
@@ -77,15 +80,17 @@
@pytest.mark.asyncio
@pytest.mark.parametrize("yjs_client", "1", indirect=True)
async def test_ypy_yjs_1(yws_server, yjs_client):
+ port, _ = yws_server
ydoc = Doc()
ynotebook = YNotebook(ydoc)
nb = stringify_source(json.loads((files_dir / "nb1.ipynb").read_text()))
ynotebook.source = nb
- async with connect("ws://localhost:1234/my-roomname") as websocket,
WebsocketProvider(
- ydoc, websocket
+ room_name = "my-roomname"
+ async with aconnect_ws(f"http://localhost:{port}/{room_name}") as
websocket, WebsocketProvider(
+ ydoc, Websocket(websocket, room_name)
):
output_text = ynotebook.ycells[0]["outputs"][0]["text"]
- assert output_text.to_py() == ["Hello,"]
+ assert output_text.to_py() == "Hello,"
event = Event()
def callback(_event):
@@ -96,7 +101,7 @@
with move_on_after(10):
await event.wait()
- assert output_text.to_py() == ["Hello,", " World!"]
+ assert output_text.to_py() == "Hello,", " World!"
def test_plotly_renderer():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/tests/test_ydocs.py
new/jupyter_ydoc-3.0.3/tests/test_ydocs.py
--- old/jupyter_ydoc-3.0.0/tests/test_ydocs.py 2024-10-29 14:28:59.000000000
+0100
+++ new/jupyter_ydoc-3.0.3/tests/test_ydocs.py 2025-01-28 09:43:10.000000000
+0100
@@ -14,7 +14,6 @@
changes = []
def callback(topic, event):
- print(topic, event)
changes.append((topic, event))
yblob.observe(callback)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/tests/utils.py
new/jupyter_ydoc-3.0.3/tests/utils.py
--- old/jupyter_ydoc-3.0.0/tests/utils.py 1970-01-01 01:00:00.000000000
+0100
+++ new/jupyter_ydoc-3.0.3/tests/utils.py 2025-01-28 09:43:10.000000000
+0100
@@ -0,0 +1,43 @@
+# Copyright (c) Jupyter Development Team.
+# Distributed under the terms of the Modified BSD License.
+
+from anyio import Lock, connect_tcp
+
+
+class Websocket:
+ def __init__(self, websocket, path: str):
+ self._websocket = websocket
+ self._path = path
+ self._send_lock = Lock()
+
+ @property
+ def path(self) -> str:
+ return self._path
+
+ def __aiter__(self):
+ return self
+
+ async def __anext__(self) -> bytes:
+ try:
+ message = await self.recv()
+ except Exception:
+ raise StopAsyncIteration()
+ return message
+
+ async def send(self, message: bytes):
+ async with self._send_lock:
+ await self._websocket.send_bytes(message)
+
+ async def recv(self) -> bytes:
+ b = await self._websocket.receive_bytes()
+ return bytes(b)
+
+
+async def ensure_server_running(host: str, port: int) -> None:
+ while True:
+ try:
+ await connect_tcp(host, port)
+ except OSError:
+ pass
+ else:
+ break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/tests/yjs_client_0.js
new/jupyter_ydoc-3.0.3/tests/yjs_client_0.js
--- old/jupyter_ydoc-3.0.0/tests/yjs_client_0.js 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/tests/yjs_client_0.js 2025-01-28
09:43:10.000000000 +0100
@@ -6,12 +6,13 @@
import { YNotebook } from '@jupyter/ydoc'
import { WebsocketProvider } from 'y-websocket'
+const port = process.argv[2]
const notebook = new YNotebook()
const ytest = notebook.ydoc.getMap('_test')
import ws from 'ws'
const wsProvider = new WebsocketProvider(
- 'ws://localhost:1234', 'my-roomname',
+ `ws://127.0.0.1:${port}`, 'my-roomname',
notebook.ydoc,
{ WebSocketPolyfill: ws }
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_ydoc-3.0.0/tests/yjs_client_1.js
new/jupyter_ydoc-3.0.3/tests/yjs_client_1.js
--- old/jupyter_ydoc-3.0.0/tests/yjs_client_1.js 2024-10-29
14:28:59.000000000 +0100
+++ new/jupyter_ydoc-3.0.3/tests/yjs_client_1.js 2025-01-28
09:43:10.000000000 +0100
@@ -7,17 +7,26 @@
import { WebsocketProvider } from 'y-websocket'
import ws from 'ws'
+const port = process.argv[2]
const notebook = new YNotebook()
const wsProvider = new WebsocketProvider(
- 'ws://localhost:1234', 'my-roomname',
+ `ws://127.0.0.1:${port}`, 'my-roomname',
notebook.ydoc,
{ WebSocketPolyfill: ws }
)
-wsProvider.on('sync', (isSynced) => {
+wsProvider.on('status', event => {
+ console.log(event.status)
+})
+
+notebook.changed.connect(() => {
const cell = notebook.getCell(0)
- const youtput = cell.youtputs.get(0)
- const text = youtput.get('text')
- text.insert(1, [' World!'])
+ if (cell) {
+ const youtput = cell.youtputs.get(0)
+ const text = youtput.get('text')
+ if (text.length === 1) {
+ text.insert(1, [' World!'])
+ }
+ }
})
++++++ jupyter_ydoc-3.0.0-gh.tar.gz -> jupyter_ydoc-3.0.3.tar.gz ++++++
++++ 6003 lines of diff (skipped)