Companion Character Count? #16

Open
opened 2026-10-27 15:24:44 +01:00 by adam · 1 comment
Owner

Hello, would it be possible to get a character count while typing a message in the companion section? I appear to be typing too long of a message often and then the message fails to send without a reason given. If i shorten the message it sends fine.

Hello, would it be possible to get a character count while typing a message in the companion section? I appear to be typing too long of a message often and then the message fails to send without a reason given. If i shorten the message it sends fine. <!-- github-sync-id:4360179379 -->
Author
Owner

I reproduced this failure and gathered some additional diagnostic information.

A 232-byte direct message failed with “Failed after 3 retries.” Splitting the same content into messages of 134 bytes and 94 bytes allowed both parts to send successfully. The OpenHop logs showed no corresponding RF transmission for the failed message, indicating that it was rejected before reaching the radio.

MeshCore’s direct-message text limit is 160 UTF-8 bytes. This should be treated as a byte limit rather than a character limit because emoji and other Unicode characters can occupy multiple bytes.

Suggested behavior:

  • Display a live UTF-8 byte counter, such as 134 / 160 bytes.
  • Reject oversized messages before attempting transmission.
  • Show a specific error, for example:
    “Message is 232 bytes; the maximum is 160 bytes. Shorten it by 72 bytes.”
  • Do not retry an oversized message because it is a deterministic validation failure rather than a temporary transmission failure.

Reproduced with:

  • openHop Console: v0.9.344
  • OpenHop Repeater: 1.1.5.dev7
  • OpenHop Core: 1.1.4.dev0
I reproduced this failure and gathered some additional diagnostic information. A **232-byte direct message** failed with **“Failed after 3 retries.”** Splitting the same content into messages of **134 bytes** and **94 bytes** allowed both parts to send successfully. The OpenHop logs showed no corresponding RF transmission for the failed message, indicating that it was rejected before reaching the radio. MeshCore’s direct-message text limit is **160 UTF-8 bytes**. This should be treated as a byte limit rather than a character limit because emoji and other Unicode characters can occupy multiple bytes. Suggested behavior: - Display a live UTF-8 byte counter, such as `134 / 160 bytes`. - Reject oversized messages before attempting transmission. - Show a specific error, for example: **“Message is 232 bytes; the maximum is 160 bytes. Shorten it by 72 bytes.”** - Do not retry an oversized message because it is a deterministic validation failure rather than a temporary transmission failure. Reproduced with: - openHop Console: **v0.9.344** - OpenHop Repeater: **1.1.5.dev7** - OpenHop Core: **1.1.4.dev0** <!-- github-comment-id:5721259384 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/pymc_console-dist#16