From bd277250f70569e56d57923e550fabf8ebb30b59 Mon Sep 17 00:00:00 2001 From: Skye Elliot Date: Wed, 6 May 2026 14:33:31 +0100 Subject: [PATCH] feat: Use `get_all` attr and `String` type for signature field --- rust/src/e2e_keys/mod.rs | 12 ++++-------- synapse/synapse_rust/e2e_keys.pyi | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/rust/src/e2e_keys/mod.rs b/rust/src/e2e_keys/mod.rs index f5c7dd1e38..5b48584e2c 100644 --- a/rust/src/e2e_keys/mod.rs +++ b/rust/src/e2e_keys/mod.rs @@ -20,7 +20,7 @@ use pyo3::{ pyclass, pymethods, types::{PyAnyMethods, PyModule, PyModuleMethods}, - Bound, Py, PyAny, PyResult, Python, + Bound, PyResult, Python, }; pub fn register_module(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> { @@ -38,23 +38,19 @@ pub fn register_module(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> /// A pending cross-signing signature. #[derive(Debug)] -#[pyclass(frozen)] +#[pyclass(frozen, get_all)] pub struct SignatureListItem { /// Full key ID of the signing key, e.g. `"ed25519:ABCDEF"`. - #[pyo3(get)] pub signing_key_id: String, /// User whose key was signed. - #[pyo3(get)] pub target_user_id: String, /// Device ID (or master-key ID) that the signature targets. - #[pyo3(get)] pub target_device_id: String, /// Raw signature value. - #[pyo3(get)] - pub signature: Py, + pub signature: String, } #[pymethods] @@ -64,7 +60,7 @@ impl SignatureListItem { signing_key_id: String, target_user_id: String, target_device_id: String, - signature: Py, + signature: String, ) -> Self { Self { signing_key_id, diff --git a/synapse/synapse_rust/e2e_keys.pyi b/synapse/synapse_rust/e2e_keys.pyi index 07d3513f4d..7898668df2 100644 --- a/synapse/synapse_rust/e2e_keys.pyi +++ b/synapse/synapse_rust/e2e_keys.pyi @@ -12,7 +12,7 @@ class SignatureListItem: target_device_id: str """Device ID (or master-key ID) that the signature targets.""" - signature: Any + signature: str """Raw signature value.""" def __init__( @@ -20,5 +20,5 @@ class SignatureListItem: signing_key_id: str, target_user_id: str, target_device_id: str, - signature: Any, + signature: str, ) -> None: ...