SocialMesh
Meshtastic mesh companion
Free · In‑App Purchases · Designed for iPhone. Not verified for macOS.
SocialMesh is an offline-first companion for Meshtastic and LoRa mesh networks, built to observe, manage, and operate real mesh systems in the field.
SocialMesh is an offline-first companion for Meshtastic and LoRa mesh networks, built to observe, manage, and operate real mesh systems in the field.
Requires a Meshtastic device - SocialMesh connects directly to Meshtastic radios over Bluetooth or USB and reflects what the mesh is actually doing: packets, hops, airtime, and decay.
Core capabilities
Mesh connectivity
- Bluetooth and USB device support
- Pairing, discovery, reconnect, and recovery flows
- Multi-device environments supported
Messaging
- Direct messages and channel chat
- Canned replies and quick message sheet
- Traceroute and position requests
Signals & presence
- Short-lived broadcasts with TTL
- Time-decayed presence feed
- Map, grid, and gallery views
- Sorting and filtering by proximity, activity, and expiry
NodeDex - Collector Album
- Every node you encounter becomes a collectible card with a unique sigil
- Rarity tiers and patina that deepens with each encounter
- Track co-sightings and build your mesh story
Maps & Visualization
- Local mesh map and global mesh map
- 3D Globe — interactive world view of mesh activity
- Proximity sorting and location links
Aether - High-Altitude Tracking
- Track Meshtastic nodes at 35,000 ft
- LoRa signals can reach 400+ km at altitude
- Schedule flights, report receptions, global leaderboard
Device management
- Region setup and onboarding
- Radio, channel, and security configuration
- Power, Bluetooth, and network controls
Telemetry & diagnostics
- Node health and metrics
- Environmental sensors
- Logs and exports
Automation
- Triggers, conditions, and rules
- Alerts and integrations (including IFTTT)
- Scheduled messages and location-based actions
Dashboards & widgets
- Customizable in-app widgets with live data bindings
- Home screen widgets
- Charts, gauges, and graphs for battery, telemetry, environment sensors
Notifications
- Granular, per-event notification controls
Additional tools
- Range testing
- Geofence picker
Cloud Sync (Optional Subscription)
SocialMesh works fully offline. Cloud Sync is an optional monthly or yearly subscription that backs up your NodeDex, automations, custom widgets, and profile across all your devices. Without it, data stays on-device only.
Premium Features (Optional)
- Theme Pack: 12 accent colors
- Ringtone Pack: searchable library of thousands of RTTTL ringtones
- Automations: advanced rules and scheduled broadcasts
- IFTTT Integration: connect to 700+ apps and services
The app is device-centric and mesh-true: the UI mirrors real radio behavior rather than forcing binary "online/offline" states. Track node presence as confidence that naturally fades when packets stop arriving. Explore local and global mesh activity on live maps. Diagnose radios, manage channels, and automate responses - even when completely offline.
Terms of Use: https://socialmesh.app/terms
Privacy Policy: https://socialmesh.app/privacy
more Tbh, I’d buy group licenses for this, maybe offer 10-20 person license packs or something; where x number of people can use premoum features if someone buys a more expensive license key. Cool how you can buy with Stripe as well. Not a fan of actually logging in, so probably will perpetually use the guest account thing; no data collected and optionally a choice to have no cloud/profile stuff would be cool. App store listing says data isn’f collected but the app has opt-out analytics by default which don’t align with such. Dev would be best off having those disabled by default and perhaps having one or two total ever prompts asking users to turn on analytics, so you actually get meaningful consent.Oh, your app is fantastic by the way. Incredible implementation with pleasant ui and ux.Thanks for working on it.
Developer Response Thanks so much for the thoughtful review and detailed feedback.Really appreciate both the kind words and the criticism. You’re absolutely right that SocialMesh should feel genuinely privacy-respecting, especially for people who prefer guest mode and local-first/offline-first usage.I’m currently working on changes to move analytics/diagnostics to an explicit opt-in model rather than opt-out, with clearer consent and better separation between crash diagnostics and product analytics. Guest mode and optional cloud/profile usage are also areas I want to continue improving and clarifying.The group/community licensing idea is also excellent and honestly fits the mesh community model really well, so that’s something I’m actively exploring for future releases.Thanks again for taking the time to write such a constructive review, and for the kind words about the UI/UX and implementation. It genuinely means a lot.
Tbh, I’d buy group licenses for this, maybe offer 10-20 person license packs or something; where x number of people can use premoum features if someone buys a more expensive license key. Cool how you can buy with Stripe as well. Not a fan of actually logging in, so probably will perpetually use the guest account thing; no data collected and optionally a choice to have no cloud/profile stuff would be cool. App store listing says data isn’f collected but the app has opt-out analytics by default which don’t align with such. Dev would be best off having those disabled by default and perhaps having one or two total ever prompts asking users to turn on analytics, so you actually get meaningful consent.Oh, your app is fantastic by the way. Incredible implementation with pleasant ui and ux.Thanks for working on it.
Thanks so much for the thoughtful review and detailed feedback.Really appreciate both the kind words and the criticism. You’re absolutely right that SocialMesh should feel genuinely privacy-respecting, especially for people who prefer guest mode and local-first/offline-first usage.I’m currently working on changes to move analytics/diagnostics to an explicit opt-in model rather than opt-out, with clearer consent and better separation between crash diagnostics and product analytics. Guest mode and optional cloud/profile usage are also areas I want to continue improving and clarifying.The group/community licensing idea is also excellent and honestly fits the mesh community model really well, so that’s something I’m actively exploring for future releases.Thanks again for taking the time to write such a constructive review, and for the kind words about the UI/UX and implementation. It genuinely means a lot.
I wrote a pretty favorable review for this app and got censored by Apple. No idea why. This app will add to understanding of your local Meshtastic network. There are a lot of tools and views. It takes some pressing around to discover them all. 3d maps could use a North pip to orient. Team map integration would be awesome. Really good overall.
Developer Response Thanks for updating your review.We don’t moderate or remove App Store reviews ourselves, as that’s handled entirely by Apple. If something didn’t appear, it would have been filtered or delayed on their side.Appreciate you taking the time to leave feedback again.
I wrote a pretty favorable review for this app and got censored by Apple. No idea why. This app will add to understanding of your local Meshtastic network. There are a lot of tools and views. It takes some pressing around to discover them all. 3d maps could use a North pip to orient. Team map integration would be awesome. Really good overall.
Thanks for updating your review.We don’t moderate or remove App Store reviews ourselves, as that’s handled entirely by Apple. If something didn’t appear, it would have been filtered or delayed on their side.Appreciate you taking the time to leave feedback again.
I was getting extremely frustrated with the UI in the Meshtastic app, to the point where I almost gave up on Meshtastic completely. But SocialMesh saved the day and completely changed my experience! Ended up paying the $9.99 for the upgraded experience, and it was worth every penny to me. But even the free version is a huge step-up from the official Meshtastic app. Highly recommend!
Developer Response Thank you so much. This genuinely made our day. SocialMesh started from wanting to make the Meshtastic experience simpler and more enjoyable, so hearing that it completely changed the experience for you means a lot. We really appreciate the support.
I was getting extremely frustrated with the UI in the Meshtastic app, to the point where I almost gave up on Meshtastic completely. But SocialMesh saved the day and completely changed my experience! Ended up paying the $9.99 for the upgraded experience, and it was worth every penny to me. But even the free version is a huge step-up from the official Meshtastic app. Highly recommend!
Thank you so much. This genuinely made our day. SocialMesh started from wanting to make the Meshtastic experience simpler and more enjoyable, so hearing that it completely changed the experience for you means a lot. We really appreciate the support.
Really digging this app! It’s VERY well-functioning. Glad to see some alternatives to the official app. I also REALLY respect you for not collecting any user data. I value my privacy very much so reading through your privacy policy was very refreshing. Keep up the great work, looking forward to future updates!
Developer Response Thanks for the kind words, really appreciate you taking the time to write this.Privacy is a core principle of Socialmesh, so it’s great to hear that resonated with you. There’s a lot more coming in upcoming releases, especially around performance and new features.
Really digging this app! It’s VERY well-functioning. Glad to see some alternatives to the official app. I also REALLY respect you for not collecting any user data. I value my privacy very much so reading through your privacy policy was very refreshing. Keep up the great work, looking forward to future updates!
Thanks for the kind words, really appreciate you taking the time to write this.Privacy is a core principle of Socialmesh, so it’s great to hear that resonated with you. There’s a lot more coming in upcoming releases, especially around performance and new features.
Setting up with a MeshCore radio no longer gets stuck on the region screen. MeshCore radios skip it now. Choosing a region while setting up a new Meshtastic radio saves it to the radio and carries on with setup, instead of sitting on "Applying..." with no way forward. With Meshtastic 2.8 and later, the stored readings a radio hands over when you connect are no longer shown as fresh data in charts or mesh health, and they no longer overwrite a node's signal readings or add nodes your radio has not actually heard.
CarPlay asks for Siri permission the first time you use it, rather than when the app opens.
1.73.0 6d ago
- LoRa settings show a notice when a US radio runs below 500 kHz bandwidth, explaining the FCC minimum for digital modulation. It does not call your current setup illegal.
- New US radios on firmware 2.8 or later are set up on Long Turbo, matching how the firmware sets up a new US node.
- MeshCore radio settings show the same notice for the USA/Canada and USA Arizona presets below 500 kHz, and remind you that radios on different bandwidths can't hear each other.
- External LNA control is now separate from RX boosted gain in LoRa settings, and is disabled when your radio can't report or control it.
- After connecting to a radio on firmware 2.8, old battery readings are no longer charted or shown as new.
- SocialMesh now asks for Siri permission the first time you use it in CarPlay, rather than when the app opens.
- Battery voltage charts use finer, easier-to-read labels on narrow ranges.
- Fixed extra space above the keyboard on small screens.
- More of the app follows your chosen language, including presence cards, NodeDex Constellation cards, Live Activities, the payment sheet and the invalid invite screen.
1.72.0 Oct 10
Direct messages
- With radio data sharing, a direct-message conversation now includes the messages you sent and received through your other radios, matching the Contacts preview. Your radios' chats with other nodes stay out of it.
- Contacts that haven't been rediscovered since a node list reset show their own name again, not the name of the radio that last messaged them.
- Chats stay on the latest message when the keyboard opens or closes. If you've scrolled back to older messages, you keep your place.
- Sender names in channel messages are lightened or darkened as needed so they stay readable on the bubble in both the dark and light themes.
Device Metrics
- Voltage labels use even steps in tenths of a volt.
- Chart tooltips are see-through, so the selected point stays visible underneath.
- An old telemetry packet that a radio hands over again is no longer charted as a new reading.
- A stale battery level from the radio's node database no longer replaces a newer one.
Appearance and layout
- The title screen follows your accent colour, and the app opens in your saved accent and light or dark theme instead of flashing the defaults first.
- Onboarding and the privacy choice screen scroll on short screens such as the iPhone SE and at larger text sizes instead of cutting content off.
- The app keeps the right window size after you rotate to landscape and back.
Connection and storage
- Retry on a degraded connection now reconnects when the radio link has dropped.
- Messages reload when you switch to a radio whose data is kept separately.
- The World Map's offline node cache now lives in its own file. It had grown to several megabytes inside the app's settings, which load on every start.
Hardware
- Updated to Meshtastic protobufs 2.8.1. The app recognises the T-Connect Pro, Axiometa Genesis Mini, Makerfabs Nomad Terminal and ThinkNode MX. Firmware updates for the Nomad Terminal and ThinkNode MX will appear once official builds exist for them.
- Library updates throughout.
1.71.0 Oct 6
Telemetry
- Readings the radio hands over after a reconnect are filed at the time the radio received them, not at the moment you reconnected, so an old reading no longer appears as a fresh one on the Device Metrics chart (#365, thanks markusgritsch).
- A reading that did not arrive as a telemetry packet in the current session is no longer written to history, and a reading handed over twice is stored once.
- On charts spanning more than a day the date and time labels no longer overlap. The date sits on one line and the time below it.
- The voltage axis no longer dips below zero.
MQTT
- The client proxy now connects to brokers built on Aedes, such as the one in MeshMonitor, which rejected it with "identifier rejected" (#364, thanks Poag). The proxy connects as MQTT 3.1.1, as the radio firmware does, with a client id every 3.1.1 broker accepts.
- With Client Proxy turned on, the proxy connects to the broker as soon as the app connects to the radio. It used to wait until Settings > MQTT was opened.
- The client proxy no longer forwards retained broker messages to the radio. A retained message is the broker's stored last value, delivered again on every connect; the radio treated it as fresh traffic and, on downlink channels, sent it out over the air again.
Connection
- Reconnecting to a radio no longer adds another copy of every frame the app handles from it. Each reconnect used to leave one more listener attached, so a single MQTT message could reach the broker up to ten times.
Web
- The web build no longer throws during startup.
1.70.0 Sep 29
Radio Data now follows the connected radio when you switch between two radios that share the same dataset. The list used to refresh only when the dataset in use changed, so after moving from one sharing radio to another it kept naming the previous radio until the app was force quit. Thanks to markusgritsch for the report and the logs.
Also in this release: updated Firebase, Lottie and protobuf libraries, and secure storage now runs on the current version of its library. Existing keys and settings carry over.
1.69.0 Sep 25
Radio Data shows the radio you are actually connected to
Settings > Radio Data now lists the connected radio under In Use even when it shares another radio's data, with the dataset it stores into shown beside it. Before, only the other radio appeared, as if it were the one connected. A radio that shared another's data and then had its own leftover dataset deleted used to vanish from the screen entirely, with no way to stop sharing; it now stays listed, and deleting leftover data no longer discards the radio's name, Bluetooth mapping and key along with it. Thanks to markusgritsch for the report.
Cancel on the Devices screen scans again
Tapping Cancel while the Devices screen reads "Auto-reconnecting..." now stops the reconnect it was waiting on and then scans. Before, Cancel only cleared the overlay while the background reconnect kept hold of Bluetooth, so the manual scan never started and the screen sat empty. Reported by markusgritsch.
Under the hood
Updated the firmware update (DFU), permissions, notifications, camera and in-app purchase libraries.
1.68.0 Sep 22
Bluetooth connect is much faster.
The Configuring phase after a Bluetooth connection took around 14 seconds on a radio that answers in under 50 milliseconds per read. The app was reading one config frame, waiting 250 milliseconds, then reading the next, so the whole phase ran at the wait interval instead of the link speed. It now reads everything the radio has ready before waiting, which on the reported log brings that phase from about 14 seconds to about 2.5 seconds. The node list phase was already fast and is unchanged.
1.67.0 Sep 19
Channels
- Add a channel from a typed name and base64 key via the new "Enter Name and Key" menu entry, for meshes that publish their channel settings as text.
- The channel wizard's Shared level now shows the key field, so community channels that use a one-byte key other than the default can be entered as published.
- The QR scanner has a Paste link button that imports a channel share link from the clipboard.
Notifications
- New "Mesh Beacon announcements" toggle under Settings > Notifications. Beacons repeat on a schedule; turn it off to stop them notifying while the announcement still arrives in the channel and the offers still show. The channel itself stays unmuted.
Fixed
- Open Source Licences no longer draws its title and list in white on the light theme.
- Tapping a map cluster with the Large text size no longer wraps the short names inside the node list circles.
- When one radio uses another radio's data, direct messages sent through the other radio now sit on the right as your own, and the sending radio no longer appears as a contact.
Changed
- The radio icon turns amber while the radio sheet reads Configuring or Recovering, and only shows the accent colour once the radio will accept sends.
- Settings > Tools > App Log now carries a HANDSHAKE_STATS line per handshake phase and the Radio Data binding decisions, so slow connections and wrong-dataset reports can be traced from an exported log.
1.66.0 Sep 16
Packet authentication
Security settings gain a Packet Authentication block on radios running firmware that verifies packet signatures, with the same Compatible, Balanced and Strict choices as the official app. Saving the security screen now also keeps the radio's current policy instead of quietly resetting it to Compatible.
Reconnect and disconnect
- Disconnecting from the Nodes list now stays disconnected and returns to the scanner, the same as Disconnect from the radio icon.
- When a radio goes out of range you can now stop the search and pick another radio. The radio sheet gains a Cancel reconnect button, and the top banner offers Cancel instead of Retry while the link is down.
- The top banner no longer stays on "Searching for device..." after a radio has reconnected over Wi-Fi or TCP.
Radio sheet
The radio sheet reads "Configuring..." while the handshake finishes and "Recovering connection..." while a dropped session is restored, and only says "Connected" once the radio will accept sends. It no longer contradicts the "Still configuring" message a traceroute gets in that window.
1.65.0 Sep 9
MeshCore Settings now has Account, Premium and Feedback sections. Sign in, manage subscriptions and unlock packs, turn shake-to-report on or off, read your bug reports and the replies, and open the Help Center and Support, all without a Meshtastic node connected. Theme Pack, Ringtone Pack, Widgets, Automations and IFTTT in the MeshCore drawer open the purchase screen when a pack is not owned.
The Live Activity no longer stays gone after iOS ends it while your radio is still connected. The app checks it when returning to the foreground and every 30 seconds while in front, and recreates it if needed.
A compact notice at the top of Channels announces new Mesh Beacon offers. Tap it to open Mesh Beacon; close it to mark those offers as reviewed. Reviewed offers are remembered per radio.
1.64.0 Sep 8
Map zoom
- The Mesh Map now zooms in to level 21, close enough to place a nearby tracker on a single building or yard. The MeshCore map, World Mesh, the geofence picker and the position history map zoom to the same level.
- The zoom-in button no longer stays greyed out after you zoom back out.
Distance labels
- The distance pills between your node and nearby nodes no longer read "0 m" for anything under half a kilometre. They show metre precision, follow the connection-distance limit you pick in the map menu, and appear only while connection lines are on.
Terrain map
- If the terrain tile provider refuses the app's key, the map now switches to OpenTopoMap for the rest of the session instead of filling the screen with "invalid key" tiles, and switches back on its own once the key is accepted again.
Thanks to Lynxie for the distance-label fix and the zoom work.
1.62.0 Sep 7
Firmware 2.8 support
- The app now speaks the Meshtastic 2.8 protocol. New modem presets (Tiny Fast, Tiny Slow, Medium Turbo) and the ITU amateur 70 cm and 1.25 m regions appear in the radio and region pickers.
- Mesh Beacon: a new module screen under Settings > Modules for radios on 2.8 or newer. Listen for beacons, broadcast your own with a message and interval, and offer a channel, region or preset. Received beacons are listed with what they offer, and an offered channel can be added with one tap. Nothing is ever applied automatically.
- The preset picker only offers presets that are legal for the selected region, and licensed amateur bands carry a notice.
- Traffic Management settings work again on 2.8, and configuration sliders no longer crash when the radio holds a value outside the slider's range.
- Choosing a region on a 2.8 radio no longer ends in a false "timed out" error: 2.8 applies the region without rebooting, and the app now reads it back instead of waiting for a reconnect.
- A radio upgraded to 2.8 keeps its messages, nodes and history. 2.8 assigns the radio a new node number, and the app now recognises the radio by its key and moves its history across.
- Range Test settings are hidden on 2.8, where the module no longer exists.
Radios that share one dataset
- Two or more radios can share one set of messages, nodes and history. In Settings > Data & Storage > Radio data, pick another radio to share with, and switching between a home node and a mobile node on the same network shows one conversation history. Nothing is moved or merged on disk, and sharing can be stopped at any time.
- The Radio data screen now has its own tile under Data & Storage instead of being reachable only through search.
Connection and start-up
- The main screen appears sooner after a cold launch.
- Retry on the "connection is still recovering" banner now re-runs the handshake instead of doing nothing, and tapping the banner no longer flashes the Devices screen.
- A radio that goes out of range for a few minutes is no longer treated as a lost pairing, and automatic reconnect connects straight to the saved radio before scanning.
- Connecting to a radio the app has never seen no longer breaks the session seconds after it configures.
- A radio that comes back with no region set after a re-flash gets the region picker again.
- Backing up the device configuration no longer waits for minutes on a radio that does not answer.
Messages and nodes
- Distances on the map, in the measurement tool and in contact lists are no longer rounded to whole kilometres. A node 400 m away reads 400 m.
- Long-press the traceroute button to choose the channel; traceroute and position requests now go out on the channel the node was last heard on.
- Traceroute no longer earns a "once every 30 seconds" refusal when tapped the instant the button re-enables.
- Direct messages acknowledged only by a relay can be resent from the long-press menu.
- A node whose short name is an emoji now shows that name on its channel messages.
- Repeated broadcasts of an unchanged waypoint no longer alert every time, waypoint alerts have their own switch under Settings > Notifications, and they respect the master notification switch.
- Opening Channels or Messages from a notification while on the Devices screen now shows a back arrow instead of a dead menu button.
- The "All roles" chip on Contacts counts the same nodes as "All".
Maps
- The Dark and Light map styles no longer carry the "API key required" watermark. Offline Dark or Light regions downloaded before this version need downloading again.
- Node transparency now applies to your own marker too.
Also
- Help cards are readable on the light theme, and the firmware update board list matches the current hardware table.
1.61.0 Sep 5
This update fixes an important connection bug introduced in 1.59.0, along with backup and notification fixes.
Connection reliability
- Fixed: connecting to a radio for the first time could quietly break the session moments after it configured. The app looked connected but showed an empty channel list and stopped responding until you disconnected and reconnected. Switching between radios triggered the same bug. Sessions now stay healthy through first connects and radio switches.
- Your data was never lost: everything each radio heard is stored under that radio and reappears when you connect it. Settings > Data & Storage > Radio data shows what each radio has stored.
Device config backup
- Fixed: backing up your device configuration could sit on a spinner for minutes if the radio did not answer some configuration requests. Backups now complete in seconds and report exactly which sections the radio did not answer, instead of appearing stuck.
Waypoint notifications
- Fixed: waypoints rebroadcast on a schedule by relay tools no longer raise a notification for every repeat. You are only alerted for a new waypoint or an actual change.
- New: a dedicated Waypoints switch in Settings > Notifications silences waypoint alerts on their own, without losing message notifications. The setting syncs across your devices.
- Fixed: waypoint alerts now respect the master notification switch.
If you hit the empty channel list on 1.59.0, this update resolves it. Thank you to everyone who reported it through the app and on GitHub - reports sent from the app carry the diagnostics we need, so keep them coming.
1.60.0 Sep 3
MESSAGE FORMATTING
- Write bold, italic, strikethrough, code and links from a new formatting toolbar, using the same markers as the official Meshtastic apps. Bubbles render styled text, monospaced code and tappable links.
EVERY RADIO KEEPS ITS OWN DATA
- Messages, nodes, favourites, telemetry, routes, NodeDex entries, waypoints and the mesh feed are now stored per radio. Connecting a second radio shows that radio's mesh, and switching back restores the first - history is no longer wiped when you switch.
- Existing data is sorted to the right radio automatically on first launch.
- New Radio Data screen (Settings > Data & Storage) shows what each radio has stored and deletes what you no longer need.
- Direct messages no longer invent contacts after a switch, and channel history no longer merges across radios.
NODEDEX
- NodeDex now has its own bottom bar: NodeDex, Map and Groups live as tabs in one place, and the map keeps its position between visits.
CONNECTION RELIABILITY
- Radios stuck on "Configuring" now heal themselves: the app re-sends the config request, keeps retrying on a widening schedule, and performs a bounded clean reconnect instead of waiting for Bluetooth to drop.
- Going out of range and back no longer blocks sending until a manual reconnect.
- Occasional unreadable packets over a long session no longer force a disconnect.
- Tapping a renamed saved radio in Devices now always connects.
MESSAGES
- Sending a maximum-length encrypted direct message no longer fails with "Message too large": the counter now budgets for encryption overhead and counts UTF-8 bytes.
- Messages composed while disconnected are no longer lost if the app restarts first; they show as failed with a retry button, and queued sends wait for the radio to finish configuring.
- Messages the radio pulls from an MQTT broker are labelled MQTT correctly.
- Reactions in busy channels are no longer dropped when several members react with the same emoji at once.
- The Contacts and Channels tabs remember their view style independently.
NOTIFICATIONS
- Tapping notification after notification no longer stacks copies of the same screen.
- Taps that previously did nothing now open the right place: message and node summaries, sensor triggers, shared waypoints, TAK events, NodePet alerts, firmware notices, MeshCore adverts, SIP messages and game turns, and bug-report replies.
- The iOS app icon badge updates the moment a message arrives in the background.
- A new "Automation alerts" switch can silence automation notifications, and "node silent" alerts fire once per silent stretch instead of every few minutes.
AUTOMATIONS AND NODES
- Duplicate an automation with one tap; the copy starts disabled so it cannot double-fire.
- Remove Node is now available from the long-press quick-actions sheet.
STABILITY
- Node names containing emoji or of excessive length can no longer crash the app, wherever they came from: live radio, NodeDex, cloud sync or the World Mesh API.
- Battery charts no longer draw a false step at every reconnect.
- NodePet and incident timestamps now show local time instead of UTC.
- A missing profile image falls back cleanly instead of raising an error.
- Databases opened before the phone's secure keystore is ready are retried instead of failing for the whole launch.
1.59.0 Aug 25
Device scanning
- Tapping your saved radio in the Devices list now always connects. Radios renamed away from the stock "Name 1234" pattern were treated as unknown devices and taps were silently ignored; the only workaround was unpairing and pairing again.
Messaging
- Sending a maximum-length direct message no longer fails with "Message too large". Encrypted DMs reserve 14 bytes of radio-side overhead the character counter ignored; the composer now budgets against the correct ceiling and stops an oversized send before the radio rejects it.
- The message input enforces its limit in UTF-8 bytes rather than characters, so umlauts and emoji can no longer be typed past the wire budget.
Reactions
- Reactions in busy channels are no longer swallowed by the duplicate filter when several members react with the same emoji within the same second.
- A reaction is no longer suppressed just because the same member posted the same emoji as a normal message moments earlier.
Telemetry charts
- Battery % no longer draws a spurious staircase step at every reconnect. Cached readings replayed during the connect handshake now update the display only; chart history is written only from live telemetry.
Notifications
- Tapping notification after notification for the same conversation no longer stacks a pile of identical screens; one back tap returns you to where you started.
- Notification taps that previously did nothing now open the right screen
1.58.0 Aug 17
Bluetooth and connection reliability
- Radios that miss the app's first configuration request no longer hang on "configuring" until Bluetooth drops. The app now re-sends the request after 8 seconds, keeps retrying on a widening schedule, and performs a bounded clean reconnect if the radio still does not answer, so the session heals itself instead of needing a manual disconnect.
- Going out of Bluetooth range and back no longer leaves the app permanently stuck on "Configuring SocialMesh" with every send blocked.
- Occasional undecodable data from a radio no longer builds up over a session until the app drops an otherwise healthy connection.
- The two automatic reconnect paths (in-app scan and system-level reconnect) no longer race each other, closing a gap where the configuration handshake could be skipped after a system-level reconnect.
Node name hardening
- A nearby node whose name contains emoji or malformed characters can no longer crash the app during text rendering. Names are now shortened on character boundaries everywhere they appear.
- Names arriving from the mesh are length-capped, and names loaded from NodeDex, cloud sync, the saved identity cache and the World Mesh API are repaired before display.
Messaging
- Message formatting, matching the official Meshtastic app: a toolbar in the composer for bold, italic, strikethrough, code and links, with formatted rendering in message bubbles.
- Messages composed while disconnected are no longer silently lost if the app restarts before reconnecting; they show as failed with a retry button, and the queue now waits for the radio's config exchange before sending.
- The message length counter now measures what actually goes over the air, so emoji-heavy messages no longer fail at send, and encrypted DMs budget for their encryption overhead.
- Messages the radio pulls directly from an MQTT broker are now labelled MQTT instead of reading as RF.
- The Contacts and Channels tabs now remember their card/compact view style independently, and messages from deleted channels are cleared.
Nodes
- Remove Node is now available directly in the long-press quick-actions sheet.
- Node avatars scale with your accessibility text settings and align correctly beside multi-line entries.
Automations
- Automations can now be duplicated: the copy opens in the editor and starts disabled so it cannot double-fire the original's trigger.
- Automation alerts (such as Dead Man's Switch "node silent" alerts) now respect the master notifications toggle, with a dedicated switch in Settings, and a still-silent node alerts once per silent stretch instead of repeating every few minutes.
Notifications
- The app icon unread badge now updates the moment a message arrives in the background, instead of only after opening the app.
1.57.0 Aug 10
Messaging gets a proper upgrade in this release. A new formatting toolbar lets you write with bold, italics, strikethrough, code and links, matching the official Meshtastic app, and formatted messages render in the chat with tappable links. Quick responses are now built into the conversation view, and each message can show whether it arrived over radio or the internet.
Reliability got plenty of attention too. Messages written while your radio is disconnected are no longer lost if the app restarts: they show as failed with a retry button, and queued messages send dependably after reconnecting. The unread badge on the app icon now updates the moment a message arrives in the background.
Bluetooth connections are much steadier. The app now recovers on its own from connections stuck on "configuring", going out of range and back no longer needs a manual disconnect and reconnect, and the app can re-establish the link in the background as soon as your radio comes back into range.
Also new: duplicate an automation with one tap, remove a node straight from its long-press menu, the Contacts and Channels tabs each remember your preferred view style, and a node with emoji in its name can no longer crash the app.
Happy meshing.
1.56.0 Aug 5
Messaging
- Rich text formatting in chat: bold, italic, strikethrough, inline code and links, matching the official Meshtastic app. Links open behind a confirm sheet.
- Reception quality at a glance: hop count and SNR now sit on the message timestamp line.
- Message details show the node that relayed a received message.
- Send an alert bell from Quick Responses for a buzzer ring on radios with External Notification set up.
- Reorder your channels with a drag-to-reorder sheet, and switch the Contacts and Channels lists to a compact view.
- Messages composed while disconnected are no longer lost: they show as failed with a retry button and send more reliably once you reconnect.
Connection
- Bluetooth recovers on its own from getting stuck on "configuring" and from dropped links, instead of needing a manual disconnect and reconnect.
- A dead WiFi/TCP radio is now detected in under a minute.
- The firmware update button tells you to connect when disconnected instead of doing nothing.
Notifications
- Incoming-message banners work again after a bug that silenced them.
- Muting a channel no longer silences your direct messages.
- The unread badge updates when a message arrives in the background.
- Automation alerts respect the master notifications toggle and gain their own on/off switch.
Maps
- Download the visible area for true offline use, with a live tile count and storage estimate.
- Place search and a locate button on the offline map, and paste coordinates to jump straight there.
- The map remembers where you left it, including your dropped waypoints and chosen style.
- Explore the map without pairing a device.
- Nodes are coloured by their identity to match other Meshtastic clients, and your own node now looks the same as everyone else's.
Telemetry and nodes
- Graphs draw straight lines between readings and no longer clip axis labels or legends, and they scale with your text size.
- Air Quality log now includes gas-resistance readings from BME680/688 sensors.
- Remove a node, message it, or show it on the map straight from the long-press menu, and duplicate an automation with one tap.
Privacy
- Direct messages, saved routes, waypoints and journal data are now encrypted at rest.
1.55.0 Jul 29
This update fixes a bug where new-message notifications stopped appearing, and brings quality-of-life improvements across messaging and the map.
Fixed
- New-message notifications appear again. If you were affected, no settings changes are needed, just update.
- Muting a channel no longer silences your direct messages.
- WiFi/TCP connections now detect a dead link within about a minute and reconnect automatically.
- Favourites, the map compass mode, and marker orientation are now remembered reliably across sessions.
- Dates and times now follow your region's format correctly.
New
- Reorder channels: long-press any channel and drag it into your preferred order.
- Compact view for the Contacts and Channels lists.
- Quick Responses can send an alert bell that rings the buzzer on radios with the External Notification module configured.
- Message details now show hop count, signal quality, and which node relayed the message.
- Automations can reply directly to whoever triggered them, no pinned target node needed.
- Map: paste coordinates straight into search, filter nodes by favourites or conversations, and a new terrain basemap.
- Long-press a node for instant Message and Show on Map actions.
1.54.0 Jul 24
Maps
- Browse the map without pairing a device, and pre-download an area for offline use with a live size and storage estimate before you commit
- Downloaded and cached tiles now survive restarts and stay usable offline for weeks
- The map remembers your position and zoom when you switch tabs
- Pinch-zoom can no longer rotate the map off north; a new compass control cycles between north lock, free rotate and follow heading
- New terrain basemap, plus favourites and message-based node filters
Nodes and messages
- Every node now has one consistent identity colour across the app: list circles, map markers, range circles and movement trails
- Contact and conversation circles show the node's short name again, with no clipped characters at large text sizes
- Tapping a message notification now opens that conversation, including when the app was fully closed
- The app icon badge now shows your unread message count
Charts
- Telemetry and node history charts plot readings on a real time axis, so quiet stretches show as gaps instead of every reading being evenly spaced
Security
- Messages, saved routes, waypoints and journal data are now encrypted at rest, with the key held in the iOS Keychain
Fixes
- The node action legend is now scrollable
- GPS coordinates in messages are detected and can be opened on the map
- More reliable Bluetooth reconnection when iOS relaunches the app in the background
- DIY nodes can use voltage calibration values below 2.0
1.53.0 Jul 7
Offline maps, ready for the field
- Browse the map and pre-download an area before you pair a device. Perfect for prepping an off-grid trip. Just tap "Explore the map without a device."
- New place search and a center-on-my-location button make it easy to jump to the region you want.
- "Download this area" saves the visible map for true offline use, with a live tile count, storage estimate, progress, and cancel.
- Downloaded and cached map tiles now stick around for weeks, so they're there when you're off the grid.
A map that remembers
- The map now keeps your place when you switch tabs. Your position, zoom, and dropped pins are restored instead of resetting.
- Switching map styles (Dark, Satellite, Terrain, Light) redraws instantly.
- Pinch-to-zoom no longer accidentally spins the map off north, and a new compass control lets you lock north, rotate freely, or follow your heading.
Stronger privacy and security
- Your most sensitive data, including direct messages, locations, saved routes, and your NodeDex journal, is now encrypted on your device. Existing data is upgraded automatically with no loss of history.
- Tightened network security so connections to first-party services can't be silently downgraded.
Messaging and notifications
- Tapping a notification now takes you straight to the right conversation, channel, or contact.
- Emoji-only messages now show as large, expressive bubbles.
- Tab badges are cleaner, showing just your unread count.
- Fewer duplicate notifications when CarPlay is handling your messages.
Nodes and hardware
- Organize your nodes with custom groups.
- New power and telemetry views, plus the ability to export your telemetry data.
- Refreshed node colors and map markers for clearer, more consistent identity at a glance.
- Added support for more devices: Heltec Mesh Tower V2, Meshnology W10, Seeed Tracker L2, and CrowPanel P4.
More
- In-app open-source license notices.
- Plenty of bug fixes and stability improvements across the map, signals feed, and activity views.
1.52.0 Jul 1
Node identity colors and a cleaner map
NODE COLORS, NO MORE FADING
• Every node now keeps its own identity color on the mesh map: markers, range circles, and movement trails are tinted per node (your custom avatar color wins), with high-contrast labels that stay readable on any color
• No more ghosting: map markers and the Nodes and Contacts lists no longer fade out when a node goes quiet. Presence is still clearly shown by the status dot and "Seen ago" text, so every row stays easy to read
• Cached positions keep their "?" badge so you always know when a location is stale
TELEMETRY AND DIAGNOSTICS
• Request fresh telemetry from a node on demand, with a live sync progress indicator
• Filter the metrics and traceroute logs to a single node with a clearable filter chip
• Signal stats are now accurate: RSSI and SNR are only recorded for packets received directly over LoRa, never for relayed or MQTT traffic
• Chart tooltips always stay inside the chart, even at the largest accessibility text sizes, and a node's first telemetry sample renders immediately instead of waiting for a second one
• Traceroute requests are rate-limited app-wide to protect mesh airtime
PERFORMANCE
• Map layers (markers, range circles, heatmap, trails, connection lines) now rebuild only when something actually changed instead of on every received packet
• Smoother on busy meshes: rapid node updates are batched, and presence updates only recompute the nodes that changed
• Conversation summaries (last message, unread counts) no longer rescan on every mesh update
RELIABILITY
• Your NodeDex collection now survives app downgrades: encounters, regions, and history are retained instead of being wiped
• Message history is protected against database version changes
• Corrupt telemetry values from peer firmware are ignored instead of distorting charts
• Auto-reconnect recovers after a failed connection at startup instead of staying inactive for the whole session
• Long-lived secure sessions renegotiate keys gracefully instead of failing
• Saved TCP endpoints are normalized, so duplicates that differ only in casing collapse into one entry
ACCESSIBILITY AND POLISH
• VoiceOver labels for close, back, and clear-search buttons across the app
• Your node list section-header preference is now remembered
• The map legend opens as a scrollable sheet
• Node names wrap instead of truncating in NodeDex
• The open source licenses page now includes all bundled third-party notices
Plus dozens of smaller fixes and stability improvements across Bluetooth, messaging, and the protocol layer.
1.50.0 Jun 15
NEW: CarPlay Mesh Messaging
SocialMesh now keeps your mesh conversations moving while you drive: hands-free, and built around Apple's CarPlay communication model.
- Send with Siri. Just say "Send a message with SocialMesh" and a short update goes out over the mesh without you ever touching your phone.
- Hear what's new. Siri reads your recent mesh messages aloud, so you stay in the loop with your eyes on the road.
- Mark messages handled. Keep your read state in sync by voice.
- Glance at channels and DMs. Your conversations appear right on the CarPlay display in Apple's driver-safe list, with unread counts at a glance.
It is intentionally focused: short-form messaging for the moments when ordinary coverage gets unreliable but staying in touch still matters. No typing, no clutter, just your mesh in the car.
Open "What's New" inside the app to explore the full CarPlay experience.
Also in this release:
- Smoother, more reliable messaging and connections
- Speed and stability improvements throughout
- A fresh round of bug fixes and polish
Thanks for being part of the mesh. Have feedback or ideas? Reach us anytime from Settings > Support.
1.46.0 Jun 9
Share the map
- Drop waypoints anywhere and broadcast them across the mesh, give them a name, an emoji, an expiry, and lock them so only you can edit. Everyone on your channel sees them.
Reply from your wrist
- Tap a message on the Apple Watch and shoot back a quick canned reply, threaded to the original. The watch inbox got a fresh look with sender avatars, and connects far more reliably.
Make it yours
New Light / Dark / System theme picker, plus a one-tap theme toggle in the side drawer.
Also: more reliable remote node configuration and a bunch of stability fixes.
1.45.0 Jun 1
NODE SIGNAL QUALITY
The node detail screen now shows clear RSSI and SNR quality indicators, with descriptive labels and color coding so you can tell strong links from weak ones in a glance.
FIXES & RELIABILITY
- Telemetry and route history now survive reconnects and app restarts, instead of resetting every time you reconnect to your radio
- Fixed a compass rotation issue in the map controls
- Fixed a navigation crash and a rare startup crash
- Fixed an issue where a fresh sign-in could briefly show a previous account's purchases
- Various spacing, layout and localization polish across the app
1.44.0 May 30
Setting up with a MeshCore radio no longer gets stuck on the region screen. MeshCore radios skip it now. Choosing a region while setting up a new Meshtastic radio saves it to the radio and carries on with setup, instead of sitting on "Applying..." with no way forward. With Meshtastic 2.8 and later, the stored readings a radio hands over when you connect are no longer shown as fresh data in charts or mesh health, and they no longer overwrite a node's signal readings or add nodes your radio has not actually heard.
CarPlay asks for Siri permission the first time you use it, rather than when the app opens.
more Version 1.73.0 6d ago
Data Not Collected The developer does not collect any data from this app.