diff --git a/examples/companion_radio/MyMesh.cpp b/examples/companion_radio/MyMesh.cpp index 649fd3d7..bc0385e1 100644 --- a/examples/companion_radio/MyMesh.cpp +++ b/examples/companion_radio/MyMesh.cpp @@ -590,10 +590,12 @@ void MyMesh::onChannelMessageRecv(const mesh::GroupChannel &channel, mesh::Packe if (_listener) { // Get the channel name from the channel index ChannelDetails channel_details; - channel_details.channel_idx = channel_idx; // UI использует индекс для настроек по каналам if (!getChannel(channel_idx, channel_details)) { strcpy(channel_details.name, "Unknown"); } + // ВАЖНО: индекс канала ставим ПОСЛЕ getChannel — она копирует структуру целиком + // и затирает всё, что записано до неё (иначе UI читал режим первого канала). + channel_details.channel_idx = channel_idx; _listener->onChannelMessageRecv(pkt, channel_details, text); _listener->onQueueSizeChanged(offline_queue_len); }