Certain emoji seem to shift the text to the right #81

Closed
opened 2026-10-05 03:20:01 +02:00 by adam · 17 comments
Owner

I'm observing that when someone does a tapback with the number of hops to reply to someone else it shifts the text display to the right. Screenshot attached.

Image

I'm observing that when someone does a tapback with the number of hops to reply to someone else it shifts the text display to the right. Screenshot attached. ![Image](https://github.com/user-attachments/assets/020c83a0-453e-41e9-8bd1-e97fb0713f52) <!-- github-sync-id:4065411968 -->
adam closed this issue 2026-10-05 03:20:01 +02:00
Author
Owner

Adding some additional context and another display item I see. When I change channels from LongFast to a trace route I did to a node you can see the Emojis still draw on the screen as well and do not clear when changing chat channels.

I am using a MAC with the terminal app which emulates xterm-256color
I also launched contact from within a screen instance

Image

Adding some additional context and another display item I see. When I change channels from LongFast to a trace route I did to a node you can see the Emojis still draw on the screen as well and do not clear when changing chat channels. I am using a MAC with the terminal app which emulates xterm-256color I also launched contact from within a screen instance ![Image](https://github.com/user-attachments/assets/2490b8d1-9bb1-48bc-94e4-51199b5ff803) <!-- github-comment-id:4047892657 -->
Author
Owner

Thank you for the report. At the moment, I'm not able to reproduce this on a mac with terminal but I'll leave this open.

Thank you for the report. At the moment, I'm not able to reproduce this on a mac with terminal but I'll leave this open. <!-- github-comment-id:4050770887 -->
Author
Owner

Oh I spoke too soon. I am now seeing some ghost emojis. Very strange!

Oh I spoke too soon. I am now seeing some ghost emojis. Very strange! <!-- github-comment-id:4050777613 -->
Author
Owner

ok let me know if I can help provide anything else. I am also running it inside of Gnu screen (https://www.gnu.org/software/screen/) which may be some of the issue also, although most ncurses stuff seems to work fine in screen.

ok let me know if I can help provide anything else. I am also running it inside of Gnu screen (https://www.gnu.org/software/screen/) which may be some of the issue also, although most ncurses stuff seems to work fine in screen. <!-- github-comment-id:4051064038 -->
Author
Owner

Might I suggest/request an option to disable emojis entirely? Maybe there's a library for converting emojis into text already.

What settings are you using in Mac Terminal that you're not getting these issues? Here's what I get in Terminal.app:

Image
Might I suggest/request an option to disable emojis entirely? Maybe there's a library for converting emojis into text already. What settings are you using in Mac Terminal that you're not getting these issues? Here's what I get in Terminal.app: <img width="566" height="379" alt="Image" src="https://github.com/user-attachments/assets/b5e20eb4-d122-4398-acbf-6f0ec33ea179" /> <!-- github-comment-id:4079210076 -->
Author
Owner

Oof, removing emojis certainly would simplify things but it's one of the features of Meshtastic that drew me to the project as silly as that sounds.

I made a quick effort to use the wcwidth library to handle emoji widths but it still couldn't get it to work for emojis that use modifiers. Maybe a dictionary with a conversion table to remove the modifiers would do it?

I'm not using any special settings, maybe my meshies just use boring emojis!
Image

Oof, removing emojis certainly would simplify things but it's one of the features of Meshtastic that drew me to the project as silly as that sounds. I made a quick effort to use the wcwidth library to handle emoji widths but it still couldn't get it to work for emojis that use modifiers. Maybe a dictionary with a conversion table to remove the modifiers would do it? I'm not using any special settings, maybe my meshies just use boring emojis! <img width="1079" height="480" alt="Image" src="https://github.com/user-attachments/assets/bdda0259-2c7e-4db6-a0ad-1780511e6818" /> <!-- github-comment-id:4079665914 -->
Author
Owner

My issues seem primarily related to the use of the numeric emojis, there's a bot near me that uses them to indicate hops as an emoji number, you can see those on my above screenshot. The raised hands also seems to do it. Interestingly they seem to be narrower than text spacing as those rows shorten up the rest of the row by one character.

My issues seem primarily related to the use of the numeric emojis, there's a bot near me that uses them to indicate hops as an emoji number, you can see those on my above screenshot. The raised hands also seems to do it. Interestingly they seem to be narrower than text spacing as those rows shorten up the rest of the row by one character. <!-- github-comment-id:4083106623 -->
Author
Owner

I'm not able to reproduce the indenting, I wonder if your bot is sending more than just an emoji? Regardless, this is hopefully resolved with #252. Update Contact to V1.4.23 and please do report back. We lose flag emojis and skin tones but the layout is looking improved to me.

I'm not able to reproduce the indenting, I wonder if your bot is sending more than just an emoji? Regardless, this is hopefully resolved with #252. Update Contact to V1.4.23 and please do report back. We lose flag emojis and skin tones but the layout is looking improved to me. <!-- github-comment-id:4087794313 -->
Author
Owner

Things looking better for sure after updating today!

Image
Things looking better for sure after updating today! <img width="1337" height="757" alt="Image" src="https://github.com/user-attachments/assets/a5120eba-1708-4881-8873-adfdb3598b2e" /> <!-- github-comment-id:4091245563 -->
Author
Owner

looks like those pesky flags still need some love in the node list, but we're getting close! Thanks for reporting/testing.

looks like those pesky flags still need some love in the node list, but we're getting close! Thanks for reporting/testing. <!-- github-comment-id:4091281790 -->
Author
Owner

This happens to me when I switch to another channel and then back... Looks like it doesn't happen as much when I have it open on a bigger terminal. I'm usually in 80x25, though.

Image

P.S. What about making ^L redraw the screen?

This happens to me when I switch to another channel and then back... Looks like it doesn't happen as much when I have it open on a bigger terminal. I'm usually in 80x25, though. <img width="564" height="377" alt="Image" src="https://github.com/user-attachments/assets/ae21bba1-1453-4239-b17c-dbe5d7e748c2" /> P.S. What about making ^L redraw the screen? <!-- github-comment-id:4092510945 -->
Author
Owner

This happens to me when I switch to another channel and then back... Looks like it doesn't happen as much when I have it open on a bigger terminal. I'm usually in 80x25, though.

Image P.S. What about making ^L redraw the screen?

I see similar from my side, and sometimes garbled display when launching until I resize the terminal window to force a redraw. ^L would be a nice solve if possible.

> This happens to me when I switch to another channel and then back... Looks like it doesn't happen as much when I have it open on a bigger terminal. I'm usually in 80x25, though. > > <img alt="Image" width="564" height="377" src="https://private-user-images.githubusercontent.com/4744269/566462028-ae21bba1-1453-4239-b17c-dbe5d7e748c2.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5NDczNjIsIm5iZiI6MTc3Mzk0NzA2MiwicGF0aCI6Ii80NzQ0MjY5LzU2NjQ2MjAyOC1hZTIxYmJhMS0xNDUzLTQyMzktYjE3Yy1kYmU1ZDdlNzQ4YzIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMTlUMTkwNDIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjdmNDJiMDRlZDRlZWRlZjRjOWVmNTM4NTYyMzMzZjM2MWU5ODlhZWExZGFiMTMwMDUwYmYzMWJkYjNlMDU0NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Mc_SAOefE_-BPLJIupY_sFlmN-CyUilADFMhAfk1A5Y"> > P.S. What about making ^L redraw the screen? I see similar from my side, and sometimes garbled display when launching until I resize the terminal window to force a redraw. ^L would be a nice solve if possible. <!-- github-comment-id:4092625453 -->
Author
Owner

I've seen a garbled screen on launch occasionally. I think it's when the node has received messages/packets while contact isn't running. I'll take a look, maybe we draw the screen too soon?

I've seen a garbled screen on launch occasionally. I think it's when the node has received messages/packets while contact isn't running. I'll take a look, maybe we draw the screen too soon? <!-- github-comment-id:4093050254 -->
Author
Owner

I found some things that may have caused that, try updating to v1.5.2

I found some things that may have caused that, try updating to v1.5.2 <!-- github-comment-id:4093300546 -->
Author
Owner

I found some things that may have caused that, try updating to v1.5.2

upgraded and looks good on fresh launch without any issues other than the known emoji flag item you mentioned above.

> I found some things that may have caused that, try updating to v1.5.2 upgraded and looks good on fresh launch without any issues other than the known emoji flag item you mentioned above. <!-- github-comment-id:4093391663 -->
Author
Owner

Thank you for your testing! We're now converting emoji flags to their two-letter abbreviation. The conversion doesn't feel right for node names. I don't know, maybe we can try to detect a flag and reformat the width?

Thank you for your testing! We're now converting emoji flags to their two-letter abbreviation. The conversion doesn't feel right for node names. I don't know, maybe we can try to detect a flag and reformat the width? <!-- github-comment-id:4094114351 -->
Author
Owner

It's certainly been more solid for me in 80x25.

It's certainly been more solid for me in 80x25. <!-- github-comment-id:4102440489 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/contact#81