agessaman
bd1ff3dbcb
fix(mqtt): capture the radio status baseline at boot, not on first publish
...
The snapshot that keeps non-default radios reporting the band they are
actually on was seeded lazily, on the first status publish. That publish
waits for a broker to connect, so a node whose MQTT is briefly unreachable
could take a live radio save first and bake the pending settings in as
though they were what the hardware got -- reproducing the wrong-band
attribution the snapshot exists to prevent.
Capture it in MeshCoreToMqttPusher.__init__ instead, together with the
default radio id. That id was being recomputed from live config on every
publish, but fabric.default_radio is itself restart-required: a pending
change would refresh the radio that was not retuned and freeze the one that
was, reporting both wrongly where rebuilding everything got one right.
Seeding at construction also removes the unlocked check-then-set on
_applied_radio_map, which the status-publish timer thread shared with
whatever triggered the first publish.
2026-09-21 16:22:08 -07:00
..
2026-09-04 10:42:33 -04:00
2026-08-21 18:56:23 -07:00
2026-09-12 16:29:15 -07:00
2026-07-17 17:38:11 -07:00
2026-09-13 12:13:49 -07:00
2026-09-05 13:04:34 -04:00
2026-07-24 15:52:01 -04:00
2026-07-24 15:52:01 -04:00
2026-07-11 07:41:00 +01:00
2026-07-17 09:23:49 -07:00
2026-07-14 18:35:05 -07:00
2026-09-02 12:05:57 -04:00
2026-07-18 19:37:03 -07:00
2026-07-18 19:37:03 -07:00
2026-09-07 13:05:19 -07:00
2026-07-26 13:04:17 -07:00
2026-07-18 19:37:03 -07:00
2026-07-15 17:06:00 -07:00
2026-07-18 19:37:03 -07:00
2026-09-07 14:50:47 -07:00
2026-07-15 00:12:42 -07:00
2026-09-10 10:22:20 -07:00
2026-09-13 12:13:49 -07:00
2026-09-08 09:29:31 -04:00
2026-06-26 09:10:58 -04:00
2026-09-04 12:13:08 -04:00
2026-09-05 18:20:58 -04:00
2026-09-05 18:20:58 -04:00
2026-09-08 17:31:28 -04:00
2026-09-12 18:30:21 -07:00
2026-09-20 20:29:00 -07:00
2026-09-13 13:38:59 -07:00
2026-06-24 23:27:49 +01:00
2026-07-15 21:22:32 -07:00
2026-09-05 13:11:11 -04:00
2026-06-24 15:17:41 -04:00
2026-06-14 19:32:41 -04:00
2026-07-16 22:42:34 -07:00
2026-07-29 13:41:27 -07:00
2026-09-08 21:42:02 +01:00
2026-09-07 22:27:50 +01:00
2026-07-19 07:11:49 -07:00
2026-09-07 21:29:48 +01:00
2026-09-07 13:39:29 +01:00
2026-07-24 08:24:23 -07:00
2026-07-24 08:24:23 -07:00
2026-08-21 18:56:23 -07:00
2026-09-08 09:29:31 -04:00
2026-07-24 15:29:40 -07:00
2026-09-02 23:14:35 -04:00
2026-08-10 21:42:34 -04:00
2026-09-08 11:22:07 -04:00
2026-08-24 09:00:50 -04:00
2026-07-29 13:17:15 -07:00
2026-09-20 20:40:04 -07:00
2026-08-18 22:33:47 +01:00
2026-09-21 15:56:04 -07:00
2026-09-05 21:56:19 +01:00
2026-09-21 16:22:08 -07:00
2026-09-01 10:48:36 -04:00
2026-07-15 20:35:07 -07:00
2026-07-26 13:04:17 -07:00
2026-07-16 20:28:04 -07:00
2026-07-14 15:22:20 -07:00
2026-09-12 16:53:10 -07:00
2026-09-21 16:03:08 -07:00
2026-09-13 18:39:43 -07:00
2026-09-13 18:37:41 -07:00
2026-09-05 13:04:34 -04:00
2026-09-03 22:16:38 +01:00
2026-09-04 13:08:09 -04:00
2026-09-04 10:39:42 -04:00
2026-09-05 13:04:34 -04:00
2026-09-04 13:08:09 -04:00
2026-09-04 12:13:08 -04:00
2026-09-05 21:56:19 +01:00
2026-09-05 13:04:34 -04:00
2026-09-05 13:04:34 -04:00
2026-09-03 22:16:38 +01:00
2026-09-07 21:29:48 +01:00
2026-09-05 13:15:26 -04:00
2026-09-05 13:04:34 -04:00
2026-09-03 22:16:38 +01:00
2026-09-05 13:04:34 -04:00
2026-06-24 23:27:49 +01:00
2026-08-15 21:44:00 -05:00
2026-08-29 23:46:49 -04:00
2026-06-24 23:27:49 +01:00
2026-08-20 09:40:09 -04:00
2026-09-07 22:27:50 +01:00
2026-09-08 23:36:15 +01:00
2026-08-11 16:14:36 +01:00
2026-08-20 12:17:26 -04:00
2026-09-08 10:26:11 -04:00
2026-09-05 13:15:26 -04:00
2026-08-20 09:40:09 -04:00
2026-09-07 21:29:48 +01:00
2026-09-12 16:29:15 -07:00
2026-07-20 20:59:47 +01:00
2026-09-12 16:53:10 -07:00
2026-09-12 16:53:10 -07:00
2026-09-13 10:45:58 -07:00
2026-09-08 22:26:15 +01:00
2026-09-07 21:29:48 +01:00
2026-09-07 21:29:48 +01:00