You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(mqtt): address bugs found by ultra code-review and smoke testing
Six fixes from /code-review ultra:
- startKissTncOnStartupIfConfigured: call setMqttClient() so
auto-started KISS TNC has MQTT wired up
- kCwDecodeTopic: set defaultEnabled=true so upgrades don't silently
disable previously-always-on CW decode
- routeCwDecoderOutput: save m_cwStatsConn handle to properly
disconnect statsUpdated lambda (connection leak)
- handleMqttMessage: add isVisible() guard so hidden dialog can't
key the radio via MQTT
- publishFrameMqtt: add isMqttTopicEnabled(kAx25RxTopic) guard
- cw/transmit: save/restore cwSpeed/cwPitch after MQTT-commanded TX
Four fixes from smoke testing:
- queueEmpty doesn't fire with sync_cwx=0; replace with 1-second
debounce timer (m_cwxTxEndTimer) — queueEmpty kept as fast path
- Speed restore uses cwxModel().setSpeed() (cwx wpm N); CWX ignores
transmitModel().setCwSpeed() (cw wpm N)
- radio/state publishes one tx:true at keying start and one
tx:false after 1 s silence, suppressing inter-element transitions
- Remove flooding "MQTT CW decode suppressed" debug log
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments