From 698d218572b22c0ddb9e68d86e0510ecaf4abaae Mon Sep 17 00:00:00 2001 From: Walter Boring Date: Fri, 27 Feb 2026 23:40:14 -0500 Subject: [PATCH] Fix JSON serialization of UnknownPacket in stats The SimpleJSONEncoder didn't handle dataclasses like UnknownPacket, causing a TypeError when saving stats to disk. Added support for dataclasses using dataclasses.asdict(). --- aprsd/utils/json.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/aprsd/utils/json.py b/aprsd/utils/json.py index 20a621b..4f1e52d 100644 --- a/aprsd/utils/json.py +++ b/aprsd/utils/json.py @@ -2,6 +2,7 @@ import datetime import decimal import json import sys +from dataclasses import asdict, is_dataclass from aprsd.packets import core @@ -63,6 +64,8 @@ class SimpleJSONEncoder(json.JSONEncoder): return str(obj) elif isinstance(obj, core.Packet): return obj.to_dict() + elif is_dataclass(obj): + return asdict(obj) else: return super().default(obj)