From fdc621f64da3926d083041c11407eaa0a9d325b2 Mon Sep 17 00:00:00 2001 From: Lloyd Date: Fri, 27 Mar 2026 11:24:27 +0000 Subject: [PATCH] feat: add sanitization for bytes values to hex for JSON serialization --- repeater/web/api_endpoints.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/repeater/web/api_endpoints.py b/repeater/web/api_endpoints.py index 733f2ef..29dea68 100644 --- a/repeater/web/api_endpoints.py +++ b/repeater/web/api_endpoints.py @@ -4416,6 +4416,18 @@ class APIEndpoints: if "identity_key" in entry: entry["identity_key"] = "*** REDACTED ***" + # Ensure all bytes values are converted to hex for JSON serialisation + def _sanitize(obj): + if isinstance(obj, bytes): + return obj.hex() + if isinstance(obj, dict): + return {k: _sanitize(v) for k, v in obj.items()} + if isinstance(obj, list): + return [_sanitize(v) for v in obj] + return obj + + exported = _sanitize(exported) + meta = { "exported_at": datetime.utcnow().isoformat() + "Z", "version": __version__,