From b4faad9fdfdd71792288a05ecbb5a35a55a8a2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Ant=C3=B4nio=20Cardoso?= Date: Thu, 12 Feb 2026 17:49:59 -0300 Subject: [PATCH 1/4] core: tools: zenoh: Update to 1.7.2 --- core/tools/zenoh/bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/tools/zenoh/bootstrap.sh b/core/tools/zenoh/bootstrap.sh index 473b7ebb19..b33798b3a0 100755 --- a/core/tools/zenoh/bootstrap.sh +++ b/core/tools/zenoh/bootstrap.sh @@ -4,7 +4,7 @@ set -e PROJECT_NAME="zenoh" -VERSION="1.3.4" +VERSION="1.7.2" BINARIES=( "zenoh" "zenoh-plugin-webserver" From dd7abb61feca5ebdae445421cc4eb0696dd2adb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Ant=C3=B4nio=20Cardoso?= Date: Fri, 13 Feb 2026 01:29:51 -0300 Subject: [PATCH 2/4] AGENTS: update zenoh to 1.7.2 --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 46ca2cd996..40ba301f21 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -64,7 +64,7 @@ Before adding ANY dependency, check all `pyproject.toml` files. Use exact versio ```toml aiohttp>=3.7.4,<=3.13.2 -eclipse-zenoh==1.4.0 +eclipse-zenoh==1.7.2 fastapi-versioning==0.9.1 fastapi==0.105.0 loguru==0.5.3 From 28aaedf3136c49f9dd748143940fc37879d15f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Ant=C3=B4nio=20Cardoso?= Date: Fri, 13 Feb 2026 01:30:18 -0300 Subject: [PATCH 3/4] core: Update zenoh to 1.7.2 --- core/libs/commonwealth/pyproject.toml | 2 +- core/python-venv2/uv.lock | 33 +++++++++------------------ 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/core/libs/commonwealth/pyproject.toml b/core/libs/commonwealth/pyproject.toml index 25aff818f3..5107f30c56 100644 --- a/core/libs/commonwealth/pyproject.toml +++ b/core/libs/commonwealth/pyproject.toml @@ -7,7 +7,7 @@ requires-python = ">=3.11" dependencies = [ "aiohttp>=3.7.4,<=3.13.2", "appdirs==1.4.4", - "eclipse-zenoh==1.4.0", + "eclipse-zenoh==1.7.2", "loguru>=0.5.3,<=0.7.3", "packaging>=20.4,<=25.0", "psutil>=5.7.2,<=7.1.3", diff --git a/core/python-venv2/uv.lock b/core/python-venv2/uv.lock index 91215ea527..32d42eb69c 100644 --- a/core/python-venv2/uv.lock +++ b/core/python-venv2/uv.lock @@ -373,7 +373,7 @@ dependencies = [ requires-dist = [ { name = "aiohttp", specifier = ">=3.7.4,<=3.13.2" }, { name = "appdirs", specifier = "==1.4.4" }, - { name = "eclipse-zenoh", specifier = "==1.4.0" }, + { name = "eclipse-zenoh", specifier = "==1.7.2" }, { name = "loguru", specifier = ">=0.5.3,<=0.7.3" }, { name = "packaging", specifier = ">=20.4,<=25.0" }, { name = "psutil", specifier = ">=5.7.2,<=7.1.3" }, @@ -441,18 +441,18 @@ wheels = [ [[package]] name = "eclipse-zenoh" -version = "1.4.0" +version = "1.7.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ab/45/fdbccdadf83906ba93514e0c771dc604456d46fc57cb45736114c8b14079/eclipse_zenoh-1.4.0.tar.gz", hash = "sha256:c0704127f8bb5ffde7ee8886aaf202ec8f0440a3ee409b8981a9189ae94d0078", size = 123718, upload-time = "2025-05-22T15:33:51.458Z" } +sdist = { url = "https://files.pythonhosted.org/packages/75/09/9534eea23b59cee13b5430c7874f71c5e800d412ac04572517733812b8f3/eclipse_zenoh-1.7.2.tar.gz", hash = "sha256:cfcbc3fc9eb001be2b7adc303f34ae22570ff2e0f942d51973bfd30f4ac37d6a", size = 160083, upload-time = "2026-01-08T17:42:38.711Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/a6/32f57bc1c928e9f6ddbf32d4adb9748b33a47eaf01afde380c2e38d7c988/eclipse_zenoh-1.4.0-cp38-abi3-linux_armv6l.whl", hash = "sha256:103869ac9839063350e75babb480a9cce779b6c363f58df430c776119888b0d3", size = 8408696, upload-time = "2025-05-22T15:33:36.619Z" }, - { url = "https://files.pythonhosted.org/packages/b7/01/b9974ebd306d434e17c58027cda53bdb6801f4d474db8595cee77ccce9b0/eclipse_zenoh-1.4.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:b798c4e549ee2734a9a05f5ba5f8e4562b13007b5802870ada1424584ee0873e", size = 15558518, upload-time = "2025-05-22T15:33:39.084Z" }, - { url = "https://files.pythonhosted.org/packages/85/fc/9e4aa24ed910881a34feb4ae25f649e60accfc4ead00038c71d23a1ac353/eclipse_zenoh-1.4.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:a1e068d8fc100fe47ea959aa7e44b0c60c46258601bf4331b51a8979b05b9398", size = 7960600, upload-time = "2025-05-22T15:33:41.654Z" }, - { url = "https://files.pythonhosted.org/packages/bf/9d/94e537b2e086d58f005dec75009fa49a8c8ab78c6784019c6eb9d5c31a10/eclipse_zenoh-1.4.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:459449cfb46450c54a2ff7db6db7dc0e657553f632bf85bc6790d4f591def088", size = 8300352, upload-time = "2025-05-22T15:33:42.938Z" }, - { url = "https://files.pythonhosted.org/packages/3a/84/54638659b4f5e63ccee5501564fff62e54a4ef11599f4bbe7b43c08b9d0e/eclipse_zenoh-1.4.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aefcbdbb66049fc495aabf22b783115609eb0fbac2bf1256056b2d99e08495ba", size = 9024970, upload-time = "2025-05-22T15:33:44.677Z" }, - { url = "https://files.pythonhosted.org/packages/fb/fd/b01d316b31f14981117f346e0cb53f09b8bf4c75e77ca3d4eba16f00e2d2/eclipse_zenoh-1.4.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:585a84ae2c07099e566d473659e455e7a1e7def1124f59984f68a73fe1862d62", size = 8578628, upload-time = "2025-05-22T15:33:46.825Z" }, - { url = "https://files.pythonhosted.org/packages/39/be/00cb79dae78936ebf5cc253c9d84f27c4df33dde7e831cf3b5bc2b2871c9/eclipse_zenoh-1.4.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f5f767e63f581bd9fdb18fa801bdd9f178e99f390923174f4f247f4d8c42a709", size = 8425396, upload-time = "2025-05-22T15:33:48.652Z" }, - { url = "https://files.pythonhosted.org/packages/b2/0e/13e4a80a88b3c68ac2433bacbc8fd9c1f7a963e5c4405753af5145a46b4d/eclipse_zenoh-1.4.0-cp38-abi3-win_amd64.whl", hash = "sha256:b6ff6e5e4cf0d6cb5feb828203e4b30da6414a2725736bea4f5a75394b18d685", size = 7019263, upload-time = "2025-05-22T15:33:50.28Z" }, + { url = "https://files.pythonhosted.org/packages/85/48/a52169789207ff80f3b1d7f768c901fa117bd729ed665b37736b68ca2699/eclipse_zenoh-1.7.2-cp39-abi3-linux_armv6l.whl", hash = "sha256:194ee61191a126e544b264587eb3659ae3952e9126e74d2d4a6e6f2ba163920a", size = 9400470, upload-time = "2026-01-08T17:42:07.714Z" }, + { url = "https://files.pythonhosted.org/packages/76/91/484df5bdfd42102f9b5d99654c67f318d4967f3828dfd297d88c1262e143/eclipse_zenoh-1.7.2-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:d068c7ce2cb4f5ffe965f2d103f7173de732733a5102b6968313cedea1704694", size = 17458869, upload-time = "2026-01-08T17:42:10.264Z" }, + { url = "https://files.pythonhosted.org/packages/06/8a/6bb29455e16f119ec9db996d50f5ce40fdd7e1369fcfb6665144b50a0b7b/eclipse_zenoh-1.7.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:7d0429933d9abeb70939a2cb02e32b8c8929651fd1762f1308b5fbd4ae41c3d9", size = 8871746, upload-time = "2026-01-08T17:42:12.587Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d3/d1a7cfa1894baf801323423e56ab79fd17c39af922b6aad1a01aa5b4a57a/eclipse_zenoh-1.7.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e53005eae75b3edac44d7f46d9678be784a67657f3dd871f5efabf351081a41", size = 9265387, upload-time = "2026-01-08T17:42:14.364Z" }, + { url = "https://files.pythonhosted.org/packages/fe/76/9520c1c583013bf8eefcd037c307615f5513592ba12166ec91fedefefbf0/eclipse_zenoh-1.7.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:296885d49ef20e3e14777007e3ff519403ec4c0c9e4358b70bb2157985b29548", size = 10027406, upload-time = "2026-01-08T17:42:16.609Z" }, + { url = "https://files.pythonhosted.org/packages/63/8c/39ea3c158ca403f3acb915dacd80787ac1afd0ce6d2be66a92d0dc2dd1ad/eclipse_zenoh-1.7.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ede3dfb4072577e9a81f466364b9293be345801db9734bf0b3f7321194190035", size = 9439037, upload-time = "2026-01-08T17:42:18.824Z" }, + { url = "https://files.pythonhosted.org/packages/8d/4a/ad58417a73271e1a667b8bec1f6d42b500c0966c5e48a10c321e8c3f4634/eclipse_zenoh-1.7.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:07cf23f7de43a9008f9dd81bf5028a0459e43227087bc7838a0ba36c1eb232e7", size = 9400470, upload-time = "2026-01-08T17:42:25.097Z" }, + { url = "https://files.pythonhosted.org/packages/d7/d5/87a56e70a25fac485988efc45b27d7b31c2d228039dfef44e5ddd67fd343/eclipse_zenoh-1.7.2-cp39-abi3-win_amd64.whl", hash = "sha256:af3c857bcb964b000e770e3f758a8920e270ee32e79f67f25f845c51f258cc90", size = 7931636, upload-time = "2026-01-08T17:42:27.344Z" }, ] [[package]] @@ -628,7 +628,6 @@ dependencies = [ { name = "psutil" }, { name = "pydantic" }, { name = "requests" }, - { name = "speedtest-cli" }, { name = "uvicorn" }, ] @@ -642,7 +641,6 @@ requires-dist = [ { name = "psutil", specifier = "==7.1.3" }, { name = "pydantic", specifier = "==2.12.5" }, { name = "requests", specifier = "==2.32.5" }, - { name = "speedtest-cli", specifier = "==2.1.3" }, { name = "uvicorn", specifier = "==0.38.0" }, ] @@ -1444,15 +1442,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, ] -[[package]] -name = "speedtest-cli" -version = "2.1.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/d2/32c8a30768b788d319f94cde3a77e0ccc1812dca464ad8062d3c4d703e06/speedtest-cli-2.1.3.tar.gz", hash = "sha256:5e2773233cedb5fa3d8120eb7f97bcc4974b5221b254d33ff16e2f1d413d90f0", size = 24721, upload-time = "2021-04-08T13:51:33.627Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/39/65259b7054368b370d3183762484fa2c779ddc41633894d895f9d1720f45/speedtest_cli-2.1.3-py2.py3-none-any.whl", hash = "sha256:75ff32c91af9ac1ce2b905476d6e92bd9eb2c0783f9e7d1939d74605c7d0b9ea", size = 23973, upload-time = "2021-04-08T13:51:32.028Z" }, -] - [[package]] name = "starlette" version = "0.50.0" From 0e516738a58c1d094af85e568862352b9c30670a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Ant=C3=B4nio=20Cardoso?= Date: Fri, 13 Feb 2026 01:28:41 -0300 Subject: [PATCH 4/4] frontend: src: Update zenoh to 1.7.2 --- core/frontend/bun.lockb | Bin 421147 -> 430034 bytes core/frontend/package.json | 2 +- .../src/components/cloud/CloudTrayMenu.vue | 33 ++- .../zenoh-inspector/ZenohInspector.vue | 12 +- .../zenoh-inspector/ZenohNetwork.vue | 221 ++++++++---------- core/frontend/src/libs/console-logger.ts | 4 +- 6 files changed, 121 insertions(+), 151 deletions(-) diff --git a/core/frontend/bun.lockb b/core/frontend/bun.lockb index b295391307b8b9f1a5fbd453c75d7be0a3931e0f..3c175055682c8b3e655fa68cc960a6f82b2828fa 100755 GIT binary patch delta 73684 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 import { - Config, QueryTarget, Receiver, RecvErr, ReplyError, Sample, Session, Subscriber, + ChannelReceiver, Config, QueryTarget, Reply, ReplyError, Sample, Session, Subscriber, } from '@eclipse-zenoh/zenoh-ts' import axios from 'axios' import { StatusCodes } from 'http-status-codes' @@ -463,30 +463,23 @@ export default Vue.extend({ } try { - const receiver: void | Receiver = this.file_sync_session.get(topic, { - target: QueryTarget.BestMatching, + const receiver: ChannelReceiver | undefined = await this.file_sync_session.get(topic, { + target: QueryTarget.BEST_MATCHING, }) - if (!(receiver instanceof Receiver)) { + if (!receiver) { console.warn(`[CloudTrayMenu] Query for ${topic} returned void receiver.`) return null } - let reply = await receiver.receive() - while (reply !== RecvErr.Disconnected) { - if (reply === RecvErr.MalformedReply) { - console.warn(`[CloudTrayMenu] Malformed reply while querying ${topic}.`) - } else { - const response = reply.result() - if (response instanceof Sample) { - const payload = response.payload().to_string() - return this.parseFileSyncQueue(payload) - } - const errorResponse: ReplyError = response - console.warn(`[CloudTrayMenu] Query error for ${topic}:`, errorResponse.payload().to_string()) + for await (const reply of receiver) { + const response = reply.result() + if (response instanceof Sample) { + const payload = response.payload().toString() + return this.parseFileSyncQueue(payload) } - - reply = await receiver.receive() + const errorResponse: ReplyError = response + console.warn(`[CloudTrayMenu] Query error for ${topic}:`, errorResponse.payload().toString()) } } catch (error) { console.error(`[CloudTrayMenu] Failed to query ${topic}:`, error) @@ -534,7 +527,7 @@ export default Vue.extend({ } try { - this.uploading_subscriber = await this.file_sync_session.declare_subscriber( + this.uploading_subscriber = await this.file_sync_session.declareSubscriber( MAJOR_TOM_FILE_SYNC_UPLOADING_TOPIC, { handler: (sample: Sample) => { @@ -549,7 +542,7 @@ export default Vue.extend({ }, handleUploadingSample(sample: Sample): void { try { - const payload = sample.payload().to_string() + const payload = sample.payload().toString() const event = JSON.parse(payload) as FileSyncUploadingEvent const transfer = this.normalizeUploadingEvent(event) if (!transfer) { diff --git a/core/frontend/src/components/zenoh-inspector/ZenohInspector.vue b/core/frontend/src/components/zenoh-inspector/ZenohInspector.vue index 0f4b505ca4..5192020b54 100644 --- a/core/frontend/src/components/zenoh-inspector/ZenohInspector.vue +++ b/core/frontend/src/components/zenoh-inspector/ZenohInspector.vue @@ -180,7 +180,7 @@ export default Vue.extend({ if (!this.current_message?.payload || !this.video_reader) { return null } - const msg: { data: Uint8Array } = this.video_reader.readMessage(this.current_message.payload.to_bytes()) + const msg: { data: Uint8Array } = this.video_reader.readMessage(this.current_message.payload.toBytes()) return msg.data }, }, @@ -213,12 +213,12 @@ export default Vue.extend({ } if (message.encoding === Encoding.TEXT_PLAIN.toString()) { - formattedMessage.payload = message.payload.to_string() + formattedMessage.payload = message.payload.toString() } else if (message.encoding === Encoding.APPLICATION_JSON.toString()) { - formattedMessage.payload = JSON.parse(message.payload.to_string()) + formattedMessage.payload = JSON.parse(message.payload.toString()) } else if (message.encoding === Encoding.ZENOH_BYTES.toString()) { try { - formattedMessage.payload = JSON.parse(message.payload.to_string()) + formattedMessage.payload = JSON.parse(message.payload.toString()) } catch (exception) { // Keep the raw payload if it's not valid JSON formattedMessage.payload = message.payload.toString() @@ -235,7 +235,7 @@ export default Vue.extend({ this.session = await Session.open(config) // Setup regular message subscriber - this.subscriber = await this.session.declare_subscriber('**', { + this.subscriber = await this.session.declareSubscriber('**', { handler: async (sample: Sample) => { const topic = sample.keyexpr().toString() const payload = sample.payload() @@ -262,7 +262,7 @@ export default Vue.extend({ // Setup liveliness subscriber const lv_ke = '@/**/@ros2_lv/**' - this.liveliness_subscriber = await this.session.liveliness().declare_subscriber(lv_ke, { + this.liveliness_subscriber = await this.session.liveliness().declareSubscriber(lv_ke, { handler: (sample: Sample) => { // Parse the liveliness token using regex // eslint-disable-next-line max-len diff --git a/core/frontend/src/components/zenoh-inspector/ZenohNetwork.vue b/core/frontend/src/components/zenoh-inspector/ZenohNetwork.vue index ff4a78a327..57b51311ff 100644 --- a/core/frontend/src/components/zenoh-inspector/ZenohNetwork.vue +++ b/core/frontend/src/components/zenoh-inspector/ZenohNetwork.vue @@ -57,10 +57,10 @@