From 676df3a0a7789e8383bb8ad97ee76a8b5d5717a5 Mon Sep 17 00:00:00 2001 From: arduano Date: Wed, 1 Apr 2026 10:09:48 +1100 Subject: [PATCH 1/4] fix(protobuf): require v6 runtime for checked-in gencode --- pyproject.toml | 2 +- roborock/map/proto/b01_scmap.proto | 2 ++ uv.lock | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3a80bcae..d9b182bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ dependencies = [ "pycryptodomex~=3.18 ; sys_platform == 'darwin'", "paho-mqtt>=1.6.1,<3.0.0", "construct>=2.10.57,<3", - "protobuf>=5,<7", + "protobuf>=6,<7", "vacuum-map-parser-roborock", "pyrate-limiter>=4.0.0,<5", "aiomqtt>=2.5.0,<3", diff --git a/roborock/map/proto/b01_scmap.proto b/roborock/map/proto/b01_scmap.proto index b3659813..51644f82 100644 --- a/roborock/map/proto/b01_scmap.proto +++ b/roborock/map/proto/b01_scmap.proto @@ -1,6 +1,8 @@ // Checked-in B01/Q7 SCMap schema for the generated runtime protobuf module. // Regenerate the checked-in Python module after edits with: // python -m grpc_tools.protoc -I./roborock/map/proto --python_out=./roborock/map/proto roborock/map/proto/b01_scmap.proto +// Keep protoc/python-protobuf on major version 6 when generating this file so +// the checked-in gencode stays compatible with the runtime dependency range. // The generated file `b01_scmap_pb2.py` is checked in for runtime use and should // not be edited by hand. syntax = "proto2"; diff --git a/uv.lock b/uv.lock index fc61bcfc..d9e2bd5b 100644 --- a/uv.lock +++ b/uv.lock @@ -1377,7 +1377,7 @@ requires-dist = [ { name = "click-shell", specifier = "~=2.1" }, { name = "construct", specifier = ">=2.10.57,<3" }, { name = "paho-mqtt", specifier = ">=1.6.1,<3.0.0" }, - { name = "protobuf", specifier = ">=5,<7" }, + { name = "protobuf", specifier = ">=6,<7" }, { name = "pycryptodome", specifier = "~=3.18" }, { name = "pycryptodomex", marker = "sys_platform == 'darwin'", specifier = "~=3.18" }, { name = "pyrate-limiter", specifier = ">=4.0.0,<5" }, From fef9c5fe27c31972620c26517d8c7901b8f83800 Mon Sep 17 00:00:00 2001 From: arduano Date: Wed, 1 Apr 2026 12:58:01 +1100 Subject: [PATCH 2/4] docs(protobuf): trim proto regeneration comment --- roborock/map/proto/b01_scmap.proto | 2 -- 1 file changed, 2 deletions(-) diff --git a/roborock/map/proto/b01_scmap.proto b/roborock/map/proto/b01_scmap.proto index 51644f82..b3659813 100644 --- a/roborock/map/proto/b01_scmap.proto +++ b/roborock/map/proto/b01_scmap.proto @@ -1,8 +1,6 @@ // Checked-in B01/Q7 SCMap schema for the generated runtime protobuf module. // Regenerate the checked-in Python module after edits with: // python -m grpc_tools.protoc -I./roborock/map/proto --python_out=./roborock/map/proto roborock/map/proto/b01_scmap.proto -// Keep protoc/python-protobuf on major version 6 when generating this file so -// the checked-in gencode stays compatible with the runtime dependency range. // The generated file `b01_scmap_pb2.py` is checked in for runtime use and should // not be edited by hand. syntax = "proto2"; From 24aab22034410c8d55f334ee5ae0809ae113ae14 Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Sun, 5 Apr 2026 07:06:25 -0700 Subject: [PATCH 3/4] chore: Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d9b182bc..7be10a7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ dependencies = [ "pycryptodomex~=3.18 ; sys_platform == 'darwin'", "paho-mqtt>=1.6.1,<3.0.0", "construct>=2.10.57,<3", - "protobuf>=6,<7", + "protobuf>=6.31.1,<7", "vacuum-map-parser-roborock", "pyrate-limiter>=4.0.0,<5", "aiomqtt>=2.5.0,<3", From 4064f2667b104458ff4e9d88a90aebcb941d9af2 Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Sun, 5 Apr 2026 07:07:13 -0700 Subject: [PATCH 4/4] chore: Update protobuf version in uv.lock --- uv.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.lock b/uv.lock index d9e2bd5b..2db8fbe2 100644 --- a/uv.lock +++ b/uv.lock @@ -1377,7 +1377,7 @@ requires-dist = [ { name = "click-shell", specifier = "~=2.1" }, { name = "construct", specifier = ">=2.10.57,<3" }, { name = "paho-mqtt", specifier = ">=1.6.1,<3.0.0" }, - { name = "protobuf", specifier = ">=6,<7" }, + { name = "protobuf", specifier = ">=6.31.1,<7" }, { name = "pycryptodome", specifier = "~=3.18" }, { name = "pycryptodomex", marker = "sys_platform == 'darwin'", specifier = "~=3.18" }, { name = "pyrate-limiter", specifier = ">=4.0.0,<5" },