Skip to content

Show most recent message on display when no client is connected#1487

Merged
liamcottle merged 1 commit intomeshcore-dev:devfrom
oltaco:refactor-ui-with-ringbuffer
Feb 4, 2026
Merged

Show most recent message on display when no client is connected#1487
liamcottle merged 1 commit intomeshcore-dev:devfrom
oltaco:refactor-ui-with-ringbuffer

Conversation

@oltaco
Copy link
Contributor

@oltaco oltaco commented Jan 26, 2026

This PR changes the UI so that when no client is connected the display shows the most recent message instead of the first unread one. Incoming messages evict the oldest messages, so the UI always shows the latest 32 messages

Closes #1482

@oltaco oltaco force-pushed the refactor-ui-with-ringbuffer branch from a24ef3e to 2aaceca Compare January 27, 2026 13:52
@oltaco oltaco force-pushed the refactor-ui-with-ringbuffer branch from 2aaceca to 598489b Compare February 3, 2026 22:38
@oltaco
Copy link
Contributor Author

oltaco commented Feb 3, 2026

@ripplebiz @liamcottle Any thoughts on this one?

@liamcottle
Copy link
Member

I haven't had a chance to test this, but a quick comment, maybe it already does it ;)

Being able to use the left/right keys to go back and forward between unread messages would be neat, and a way to recall those unread messages if they were dismissed and not retrieved by phone yet.

I found when clicking the wrong button, all messages would disappear, and it wasn't possible to view again, even though UI said 5 MSGS. Had to use phone app to view them.

@oltaco
Copy link
Contributor Author

oltaco commented Feb 3, 2026

Being able to use the left/right keys to go back and forward between unread messages would be neat, and a way to recall those unread messages if they were dismissed and not retrieved by phone yet.

I found when clicking the wrong button, all messages would disappear, and it wasn't possible to view again, even though UI said 5 MSGS. Had to use phone app to view them.

Yeah that is annoying. I did consider a change to allow devices with "joystick" to scroll through messages without clearing them, but I decided to go for something a bit more simple to begin with.

In the meantime this PR means not having the screen light up with the same ancient message every time a new one comes in which is a much better user experience in my opinion.

We should definitely think about how to make messages on the node UI better. Maybe clearing all messages shouldn't be a single click in joystick mode? Or it should be moved to the other button?

I didn't look at bringing messages back, but I think that would require a bit of refactoring. Maybe the UI should just have access to the full unread message queue instead of new messages getting pushed to a separate UI queue?

Food for thought :)

@liamcottle
Copy link
Member

liamcottle commented Feb 4, 2026

Happy to merge as is for now, I agree showing latest message is a better experience. Just tested on my WioTracker L1 Pro.

Potentially for a future PR, it would be nice if the button press went to next message instead of clearing all immediately. It's more natural to press the joystick enter button to dismiss/mark read, rather than arrow right. I find myself clearing all unread messages by default quite often.

Thoughts for future PR:

  • pressing joystick enter marks current viewed message as read (clears it)
  • pressing left/right joystick button navigates back and forward through unread messages
  • left/right should not clear the unread message, it should stay until enter is pressed to mark read.
  • pressing joystick enter when it shows MSG: 9 on screen should bring them all back up to view again
  • maybe that secondary, small orange button could be classified as back, to exit out of view messages mode?

Something to think about anyway. As if you don't have your phone it's impossible to read the pending messages that may have been dismissed.

@liamcottle liamcottle merged commit 2360259 into meshcore-dev:dev Feb 4, 2026
@oltaco
Copy link
Contributor Author

oltaco commented Feb 4, 2026

Thoughts for future PR:

  • pressing joystick enter marks current viewed message as read (clears it)
  • pressing left/right joystick button navigates back and forward through unread messages
  • left/right should not clear the unread message, it should stay until enter is pressed to mark read.
  • pressing joystick enter when it shows MSG: 9 on screen should bring them all back up to view again
  • maybe that secondary, small orange button could be classified as back, to exit out of view messages mode?

Something to think about anyway. As if you don't have your phone it's impossible to read the pending messages that may have been dismissed.

Yeah this sounds much nicer. I've made a note to come back and look at this stuff soon 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants