mirror of
https://github.com/craigerl/aprsd.git
synced 2026-10-08 08:10:36 -04:00
APRSDFilterThread.__init__ eagerly constructed APRSDClient(), which raises MissingConfigOptionException when the aprs_network driver is enabled (default) but not configured. This made it impossible to construct filter-thread subclasses in unconfigured/test environments even when the subclass never decodes packets, breaking third-party plugins that subclass APRSDFilterThread (e.g. aprsd-mqtt-plugin's MQTTRawPlugin, aprsd-webchat-extension's WebChatProcessPacketThread). Create the client lazily in loop() instead, matching the existing APRSDRXThread pattern. Add a regression test asserting the thread can be constructed without a configured client.