From 63ce5b42941eaf074e0d89749bf04a410ebbbf86 Mon Sep 17 00:00:00 2001 From: Rightup Date: Mon, 7 Sep 2026 13:36:04 +0100 Subject: [PATCH] fix: include public key in API response for configured room servers --- repeater/web/api_endpoints.py | 7 +++++++ tests/test_identities_endpoint_payload.py | 2 ++ 2 files changed, 9 insertions(+) diff --git a/repeater/web/api_endpoints.py b/repeater/web/api_endpoints.py index 0bdbac3..8e22c16 100644 --- a/repeater/web/api_endpoints.py +++ b/repeater/web/api_endpoints.py @@ -5963,6 +5963,12 @@ class APIEndpoints: (r for r in registered_identities if r["name"] == f"room_server:{name}"), None ) + pk_display = None + if matching: + pk_display = matching.get("public_key") + else: + pk_display = derive_companion_public_key_hex(room_config.get("identity_key")) + configured.append( { "name": name, @@ -5974,6 +5980,7 @@ class APIEndpoints: "settings": settings, "hash": matching["hash"] if matching else None, "address": matching["address"] if matching else None, + "public_key": pk_display, "registered": matching is not None, } ) diff --git a/tests/test_identities_endpoint_payload.py b/tests/test_identities_endpoint_payload.py index 78a3aaf..12a89ed 100644 --- a/tests/test_identities_endpoint_payload.py +++ b/tests/test_identities_endpoint_payload.py @@ -125,3 +125,5 @@ def test_name_repeater_is_reserved_by_the_default_identity(cherrypy_ctx): room_entry = data["configured"][0] assert room_entry["registered"] is False assert room_entry["hash"] is None + expected_pubkey = LocalIdentity(seed=bytes.fromhex("aa" * 32)).get_public_key().hex() + assert room_entry["public_key"] == expected_pubkey