From e4662229b4e1168643aeb0311a094fa6d24ef3e9 Mon Sep 17 00:00:00 2001 From: Jack Kingsman Date: Tue, 3 Mar 2026 09:40:20 -0800 Subject: [PATCH] Shorten client name --- app/AGENTS_MQTT.md | 2 +- app/community_mqtt.py | 6 +++--- tests/test_community_mqtt.py | 24 ++++++++++++------------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/app/AGENTS_MQTT.md b/app/AGENTS_MQTT.md index c32e443..b229993 100644 --- a/app/AGENTS_MQTT.md +++ b/app/AGENTS_MQTT.md @@ -199,7 +199,7 @@ On connect and every 5 minutes thereafter, the community publisher sends a retai "model": "T-Deck", "firmware_version": "v2.2.2 (Build: 2025-01-15)", "radio": "915.0,250.0,10,8", - "client_version": "RemoteTerm/2.4.0", + "client_version": "RemoteTerm 2.4.0", "stats": { "battery_mv": 4200, "uptime_secs": 3600, diff --git a/app/community_mqtt.py b/app/community_mqtt.py index fead3f9..72fe6a9 100644 --- a/app/community_mqtt.py +++ b/app/community_mqtt.py @@ -286,12 +286,12 @@ def _build_radio_info() -> str: def _get_client_version() -> str: - """Return a client version string like 'RemoteTerm/2.4.0'.""" + """Return a client version string like ``'RemoteTerm 2.4.0'``.""" try: version = importlib.metadata.version("remoteterm-meshcore") - return f"RemoteTerm/{version}" + return f"RemoteTerm {version}" except Exception: - return "RemoteTerm/unknown" + return "RemoteTerm unknown" class CommunityMqttPublisher(BaseMqttPublisher): diff --git a/tests/test_community_mqtt.py b/tests/test_community_mqtt.py index 8c39221..159a512 100644 --- a/tests/test_community_mqtt.py +++ b/tests/test_community_mqtt.py @@ -513,7 +513,7 @@ class TestLwtAndStatusPublish: pub, "_fetch_stats", new_callable=AsyncMock, return_value={"battery_mv": 4200} ), patch("app.community_mqtt._build_radio_info", return_value="915.0,250.0,10,8"), - patch("app.community_mqtt._get_client_version", return_value="RemoteTerm/2.4.0"), + patch("app.community_mqtt._get_client_version", return_value="RemoteTerm 2.4.0"), patch.object(pub, "publish", new_callable=AsyncMock) as mock_publish, ): await pub._on_connected_async(settings) @@ -533,7 +533,7 @@ class TestLwtAndStatusPublish: assert payload["model"] == "T-Deck" assert payload["firmware_version"] == "v2.2.2 (Build: 2025-01-15)" assert payload["radio"] == "915.0,250.0,10,8" - assert payload["client_version"] == "RemoteTerm/2.4.0" + assert payload["client_version"] == "RemoteTerm 2.4.0" assert payload["stats"] == {"battery_mv": 4200} def test_lwt_and_online_share_same_topic(self): @@ -595,7 +595,7 @@ class TestLwtAndStatusPublish: ), patch.object(pub, "_fetch_stats", new_callable=AsyncMock, return_value=None), patch("app.community_mqtt._build_radio_info", return_value="0,0,0,0"), - patch("app.community_mqtt._get_client_version", return_value="RemoteTerm/unknown"), + patch("app.community_mqtt._get_client_version", return_value="RemoteTerm unknown"), patch.object(pub, "publish", new_callable=AsyncMock) as mock_publish, ): await pub._on_connected_async(settings) @@ -872,23 +872,23 @@ class TestBuildRadioInfo: class TestGetClientVersion: def test_returns_remoteterm_prefix(self): - """Should return 'RemoteTerm/...' string.""" + """Should return 'RemoteTerm ...' string.""" result = _get_client_version() - assert result.startswith("RemoteTerm/") + assert result.startswith("RemoteTerm ") def test_returns_version_from_metadata(self): """Should use importlib.metadata to get version.""" with patch("app.community_mqtt.importlib.metadata.version", return_value="1.2.3"): result = _get_client_version() - assert result == "RemoteTerm/1.2.3" + assert result == "RemoteTerm 1.2.3" def test_fallback_on_error(self): - """Should return 'RemoteTerm/unknown' if metadata lookup fails.""" + """Should return 'RemoteTerm unknown' if metadata lookup fails.""" with patch( "app.community_mqtt.importlib.metadata.version", side_effect=Exception("not found") ): result = _get_client_version() - assert result == "RemoteTerm/unknown" + assert result == "RemoteTerm unknown" class TestPublishStatus: @@ -917,7 +917,7 @@ class TestPublishStatus: ), patch.object(pub, "_fetch_stats", new_callable=AsyncMock, return_value=stats), patch("app.community_mqtt._build_radio_info", return_value="915.0,250.0,10,8"), - patch("app.community_mqtt._get_client_version", return_value="RemoteTerm/2.4.0"), + patch("app.community_mqtt._get_client_version", return_value="RemoteTerm 2.4.0"), patch.object(pub, "publish", new_callable=AsyncMock) as mock_publish, ): await pub._publish_status(settings) @@ -930,7 +930,7 @@ class TestPublishStatus: assert payload["model"] == "T-Deck" assert payload["firmware_version"] == "v2.2.2 (Build: 2025-01-15)" assert payload["radio"] == "915.0,250.0,10,8" - assert payload["client_version"] == "RemoteTerm/2.4.0" + assert payload["client_version"] == "RemoteTerm 2.4.0" assert payload["stats"] == stats @pytest.mark.asyncio @@ -954,7 +954,7 @@ class TestPublishStatus: ), patch.object(pub, "_fetch_stats", new_callable=AsyncMock, return_value=None), patch("app.community_mqtt._build_radio_info", return_value="0,0,0,0"), - patch("app.community_mqtt._get_client_version", return_value="RemoteTerm/unknown"), + patch("app.community_mqtt._get_client_version", return_value="RemoteTerm unknown"), patch.object(pub, "publish", new_callable=AsyncMock) as mock_publish, ): await pub._publish_status(settings) @@ -985,7 +985,7 @@ class TestPublishStatus: ), patch.object(pub, "_fetch_stats", new_callable=AsyncMock, return_value=None), patch("app.community_mqtt._build_radio_info", return_value="0,0,0,0"), - patch("app.community_mqtt._get_client_version", return_value="RemoteTerm/unknown"), + patch("app.community_mqtt._get_client_version", return_value="RemoteTerm unknown"), patch.object(pub, "publish", new_callable=AsyncMock), ): await pub._publish_status(settings)