You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New Features
Zone grace period for region transitions: driving between zones no longer disconnects you. The app pauses pinging and shows an "Out of Zone" overlay with the nearest zone name, distance, and a 5-minute countdown. Once you enter the next zone, pinging resumes automatically without reconnecting.
Client-side zone transfers during active wardriving. When you cross into a new zone (e.g., BOS → PVD), the app handles the transfer directly: releases the old session, acquires a new one, updates channels and scopes, and resumes auto-ping automatically. A "Changing Zone..." overlay shows during the transfer with a cancel option.
Color vision deficiency support now extends to map coverage tiles. When a color vision type is selected in Settings, the tile server returns adjusted coverage squares to match your palette. Supports protanopia, deuteranopia, tritanopia, and achromatopsia.
Custom API endpoint forwarding: optionally forward your wardrive data to a third-party HTTPS endpoint alongside MeshMapper. Configure in Settings > API Endpoints with your URL and API key. Supports clipboard import for quick setup, optional device public key prefix and IATA zone code in payloads. Best-effort, never blocks wardriving. Full docs at https://wiki.meshmapper.net/app_third_party_api/.
Ping Focus Mode: tap any ping marker to see which repeaters heard it. Draws dotted lines color-coded by signal quality with distance tags, fades unrelated markers, and zooms to fit. Works for all ping types. Ambiguous repeater matches get a white border outline. Dismiss to snap back to your previous view.
Chomper GPS marker: a new marker style in Settings > GPS Marker. Cyan color, wide mouth that faces your direction of travel and rotates with heading.
Bug Fixes
Fixed noise floor graph showing wildly incorrect values (e.g., 13,000+ dBm) on certain devices. Some firmware versions return oversized BLE responses on the same response code as radio stats. Added frame validation to reject these responses.
Tapping a repeater ID in the ping focus popup now shows distance from the ping location, not your current GPS position.
Offline upload now shows "GPS required" instead of the misleading "Advert your device on the mesh" when GPS is disabled. Only GPS and network connectivity are needed, not a device connection.
Improved error handling for malformed mesh packets. Corrupted packets with oversized path lengths now produce a clear diagnostic message instead of an unclear RangeError.
Seeed Xiao nRF52840 boards are now automatically recognized during connection. Previously required manual power level selection on every connect.
Repeater info popup no longer shows "Repeater data not available" for the entire session after a network timeout. A failed fetch is now automatically retried on the next zone check.
Tapping a repeater ID chip no longer gets stuck on "Repeater data not available." Now fetches on demand with a loading indicator and tap-to-retry. Works in offline mode too.
Zone check retry loop no longer continues after enabling Offline Mode. Retry timers and maintenance polling are now cancelled immediately.
Zone check no longer gets stuck at "Checking Zone..." if the repeater list fails to load. The zone check now completes immediately and repeaters load in the background.
Top-heard display and API payload now only track direct single-hop TX echoes for more accurate signal readings.
Fixed iOS App Store upload rejection (ITMS-90683) caused by unused permission macros in the build. Only location and notification permissions are now included.
Fixed power level hint on the Map tab incorrectly directing users to Settings instead of the Connect tab.
Improvements
Enhanced offline sessions display.
Improved error logging when the API returns unexpected HTML responses (e.g., CDN/proxy error pages). Now logs a clear diagnostic instead of a raw FormatException.