Skip to content

feat:(Wear-OS) Wear-OS implementation with messages#5305

Draft
coltarch wants to merge 14 commits intomeshtastic:mainfrom
coltarch:main
Draft

feat:(Wear-OS) Wear-OS implementation with messages#5305
coltarch wants to merge 14 commits intomeshtastic:mainfrom
coltarch:main

Conversation

@coltarch
Copy link
Copy Markdown

Implementation of the Meshtastic Wear OS application, including core messaging functionality, data synchronization with the mobile app, and notification management.

Wear OS Implementation
• Initial implementation of the Wear OS client.
• Implementation of OLED-optimized pure black theme (default) and an "Alternate colors" Grey theme.
• Developed node list interface with real-time status indicators and battery levels.
• Fixed Composable scope issues in settings and cross-platform time utility regressions.

Synchronization Logic
• Implemented data layer synchronization for nodes, channels, and messages between phone and watch.
• Normalized contact keys to ensure consistent message threading and prevent duplication.
• Resolved thread naming issues; DM titles and avatars now resolve correctly from the node database.
• Implemented local node filtering to exclude the self-node from messaging lists and placeholders.

Notification Features
• Integrated "Open on Phone" notification action to launch the mobile app directly into specific conversations.
• Implemented heuristic-based quick replies (e.g., Yes/No for questions) and enabled support for system-generated smart replies.

This is all a work in progress and I will keep adding features as time goes on. :)

* Change default theme preference to false (OLED mode)
* Rename "High Contrast" setting to "Alternate colors"
* Update settings labels to reflect "Grey theme" vs "OLED mode"
* Invert color logic in DesignTokens to set pure black as the default state
* Filter local node from synced wearable nodes list
* Add placeholder messages for nodes with no conversation history to ensure they appear in the contact list
* Improve thread naming for DMs by using contact names instead of node IDs
* Centralize sync logic in `WearableSyncService` by triggering `forceSync` on data and preference updates
* Filter out messages with invalid (zero) timestamps in `MessagesScreen`
* Increase contact sync limit to 20
* Ensure unique threads by applying `distinctBy` on contact keys during sync and display
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 30, 2026

CLA assistant check
All committers have signed the CLA.

@github-actions github-actions Bot added the enhancement New feature or request label Apr 30, 2026
@coltarch coltarch changed the title Wear-Os implementation Wear-OS implementation Apr 30, 2026
@jamesarich
Copy link
Copy Markdown
Collaborator

This is looking AI assisted (not that I mind, just need to be extra careful), and touching a few files it probably shouldn't be (translation strings for one) - ensure that your changes are contained to the feature.

Removed Wear-OS mention in README, will update README when project is ready for release

Signed-off-by: coltarch <coltin4912@gmail.com>
@coltarch coltarch changed the title Wear-OS implementation feat:(Wear-OS) Wear-OS implementation with messages Apr 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants