"Acknowledged" function not reliable

I’m using most recent App version 2.0.11 (both on Android and Apple phones) together with various LORA devices (Lilygo, RAK4630) all newest FW 2.0.14.

I observed, that in the message tab I get quite frequently the message “maximal number of transmissions reached” (apple) or crossed cloud (Android, see first screenshot):

, but on a connected device (see second screenshot) all messages were received.

I though, that this check mark in the cloud symbol or the information “Acknowledged” is indicating, if message is recevied by at least one other device in the network. But this seems to be wrong, since in this case, all sent messages should have this check mark, but instead nearly 50% show, that sending was not successful.

Could someone help me to understand the functioning of this feature?

I’m aware of the meaning of the symbols, but don’t understand why all messages are reaching the second node (only few meters apart) but that 50% of messages show the “message error” or “no acknowledgement” symbol. Isn’t this strange?

You need to run real real world tests with some actual distance, two devices in the same room are going to be problematic.

At the moment my primary device is inside the house, a second device is outside at approx. 6 m level. And finally the RAK device on a hill connecting to the remote network is approx. 300m away. Other participating nodes are 2-4km apart from the RAK device on the hill. Would you propose, to leave out the second device outside my house. Do you think this would result in more reliable message transfer? If so, what is the reason for this?

The acknowledgment might get lost, but I think this mostly happens when you send multiple messages quickly after each other. From your screenshot I derive that this was the case.
This comment deep in the interface of the radio chip made me suspicious that the device will not think it is actively receiving when it is still receiving the preamble. Therefore, if it has another packet in the transmit queue, it might start transmitting that when it just started to receive the acknowledgment. Since the acknowledgment is short, it might be that this packet gets lost. However, this is just a theory that I plan to investigate further.

Indeed, the messages were sent with only 15 seconds delay, I waited until the message was received on the second device. The messaging error symbol confuses me, it would be much better, if messages are queued and system would wait for the acknolodgement before next message is sent. But I guess, this might cause other problems.

probably, the following happens : if you are “spamming the channel” with messages.
messages have higher priority than ack-replys.
since the channel utilization goes too high, the nodes cannot send all messages any more (have a look in console of nodes, there you will see it) and so the ack messages are not always sent back. specially when there is higher priority messages flooding around… so the sending node does not receive the ack-messages and the app does not show the checkmark. maybe you try the same , but by giving the mesh more time: keep channel utilization below 10% and no problem…

With the latest 2.1 alpha release I can now even send multiple messages quickly after each other without errors. Maybe it’s worth a try.

Sound’s good, I will try it out in the next days.