Room Server duplicates messages (ACK/retry issue) #118

Closed
opened 2026-10-27 09:34:03 +01:00 by adam · 0 comments
Owner

While testing the latest Room Server build, I found an issue where a Virtual Companion running on an OpenHop Repeater intermittently retries the same room message because it appears to never receive (or process) the delivery ACK.

The Room Server does receive and store the message successfully, but the Companion continues retransmitting the same message until it reaches the retry limit and marks it as Failed. Since the Room Server accepts each retry as a new message, duplicate posts are created.

Environment
OpenHop Repeater: Latest dev branch
Companion: Virtual Companion running on the OpenHop Repeater (latest dev branch)
Room Server: tidy branch v1.1.2.dev22

Test Topology:
Virtual Companion (OpenHop Repeater 1)
│
▼
Lora / Mesh (20 feet from each other
│
▼
OpenHop Repeater 2 (hosting Room Server)

The Virtual Companion was not local to the repeater hosting the Room Server. It was connected through another OpenHop Repeater. Both repeaters were only about 20 feet apart, so RF signal quality was excellent.

Expected Behavior
Companion sends one message.
Room Server stores it.
ACK is returned.
Companion marks the message as Delivered.
Only one room post is created.
Actual Behavior
Companion retries the same message up to 5 times.
Message eventually shows Failed.
Room Server logs show every retry is successfully received and stored.
The Room Server ends up with multiple duplicate posts of the same message.
Notes

The issue appears to be in the acknowledgement path, not message delivery. The Room Server consistently logs successful receipt and storage of each message, but the Companion behaves as though the ACK never arrived.

The issue is intermittent—some messages fail while later messages in the same session are delivered successfully without any changes to the setup.

Attached:

Companion screenshots showing retries and failed deliveries.
Room Server UI showing duplicate posts.
Room Server logs showing successful receipt/storage of each retry.

Image Image Image Image

Companion screenshots:

Image Image Image
While testing the latest Room Server build, I found an issue where a Virtual Companion running on an OpenHop Repeater intermittently retries the same room message because it appears to never receive (or process) the delivery ACK. The Room Server does receive and store the message successfully, but the Companion continues retransmitting the same message until it reaches the retry limit and marks it as Failed. Since the Room Server accepts each retry as a new message, duplicate posts are created. Environment OpenHop Repeater: Latest dev branch Companion: Virtual Companion running on the OpenHop Repeater (latest dev branch) Room Server: tidy branch v1.1.2.dev22 **Test Topology:** Virtual Companion (OpenHop Repeater 1) │ ▼ Lora / Mesh (20 feet from each other │ ▼ OpenHop Repeater 2 (hosting Room Server) The Virtual Companion was not local to the repeater hosting the Room Server. It was connected through another OpenHop Repeater. Both repeaters were only about 20 feet apart, so RF signal quality was excellent. Expected Behavior Companion sends one message. Room Server stores it. ACK is returned. Companion marks the message as Delivered. Only one room post is created. Actual Behavior Companion retries the same message up to 5 times. Message eventually shows Failed. Room Server logs show every retry is successfully received and stored. The Room Server ends up with multiple duplicate posts of the same message. Notes The issue appears to be in the acknowledgement path, not message delivery. The Room Server consistently logs successful receipt and storage of each message, but the Companion behaves as though the ACK never arrived. The issue is intermittent—some messages fail while later messages in the same session are delivered successfully without any changes to the setup. Attached: Companion screenshots showing retries and failed deliveries. Room Server UI showing duplicate posts. Room Server logs showing successful receipt/storage of each retry. <img width="1287" height="930" alt="Image" src="https://github.com/user-attachments/assets/ca3198b0-192d-438a-a9bb-355f0d25fdef" /> <img width="1281" height="349" alt="Image" src="https://github.com/user-attachments/assets/9c841eb2-2155-4bc1-873e-8a4112db88f9" /> <img width="1276" height="935" alt="Image" src="https://github.com/user-attachments/assets/78c3d618-4c90-42ae-8aeb-97a4dc9a6af2" /> <img width="1292" height="955" alt="Image" src="https://github.com/user-attachments/assets/34038280-b98a-446f-8947-c568eb4abf42" /> Companion screenshots: <img width="641" height="907" alt="Image" src="https://github.com/user-attachments/assets/6f67336b-4538-4f9a-b982-d6fed941ed5b" /> <img width="585" height="864" alt="Image" src="https://github.com/user-attachments/assets/ad2f1a34-e1cf-4c6a-bafb-83a1183056c9" /> <img width="512" height="870" alt="Image" src="https://github.com/user-attachments/assets/9fc60e2a-acbb-421c-a8a3-a3ef8aa412df" /> <!-- github-sync-id:4830862712 -->
adam closed this issue 2026-10-27 09:34:03 +01:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/pyMC_Repeater#118