Merge dev into main — Geo‑Auth sessions + Wardrive queue/heartbeat + Auto‑Power + Noise Floor + RX‑Only + Public channel support + UI/Map optimizations#173
Merged
MrAlders0n merged 120 commits intomainfrom Jan 10, 2026
Conversation
…etching on connect
…fo and repositioning device model
…educing timeout duration
- Updated CONNECTION_WORKFLOW.md to include auto-power configuration based on device model detection, improving user experience by automatically selecting power levels and providing feedback on connection status. - Revised DEVICE_MODEL_MAPPING.md to reflect changes in auto-power selection, including new device models and updated power settings. - Expanded GEO_AUTH_DESIGN.md to detail the geographic authentication process, including device registration, zone configuration, and session management. - Added new radio power option (2.0w) in index.html to support devices requiring higher power settings.
…igured and manual options
… during coverage updates
…oother coverage updates
… and visibility handling
… script loading for improved performance
…, outside zone, and zone capacity changes with corresponding status messages
…n error messages, streamline disconnect logic for immediate response
…ble and clear previous disconnect reason on connect
…vents and preserve disconnect reason until a new connection is initiated
… "Pings:" and "Events:" respectively
…channels, and clarify key derivation process in documentation
…ion, enhance appData handling, and improve name offset calculation
…ts are valid and not drops
… batch and implement timeout handling for repeater buffers
There was a problem hiding this comment.
Pull request overview
This PR merges extensive modernization work from the dev branch into main, introducing a complete Geo-Auth session system, wardrive queue infrastructure with heartbeat, automatic device power configuration, radio statistics display, RX-only wardriving mode, Public channel support, and numerous UI/map optimizations.
Changes:
- Geo-Auth system with zone validation, session management, and heartbeat keepalive
- Wardrive queue refactor replacing direct API posts with entry-based batching and retry logic
- Device Auto-Power system using device-models.json to automatically configure radio power based on hardware
- Noise floor display via new BLE GetStats support
- RX-only mode for passive wardriving when TX slots unavailable
- Public channel fixed key support alongside hashtag channel SHA-256 derived keys
- Double-buffered iframe map refresh, UI rebranding, and removal of unused Leaflet assets
Reviewed changes
Copilot reviewed 18 out of 21 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| index.html | Major UI restructure: connection bar layout, settings panel reorganization, power selection UI (placeholder/auto/manual), double-buffered iframes, override modal, log summary text updates |
| docs/STATUS_MESSAGES.md | Adds ~15 new status messages for geo-auth zone checks, API error handling (session expired, invalid session, authorization failed, etc.) |
| docs/PING_WORKFLOW.md | Documents noise floor capture step added to ping workflow |
| docs/GEO_AUTH_DESIGN.md | Complete 1000+ line design document for geo-auth system (zones, sessions, device registration, API endpoints, implementation plan) |
| docs/FLOW_WARDRIVE_API_QUEUE_DIAGRAM.md | Updates queue diagram for entry-only format, heartbeat system, error handling, retry logic |
| docs/DEVICE_MODEL_MAPPING.md | New 400+ line doc for auto-power system architecture, device database, PA safety, testing |
| docs/CONNECTION_WORKFLOW.md | Integrates auto-power step and geo-auth zone check system into connection flow |
| docs/DEVELOPMENT_REQUIREMENTS.md | Updates debug tags (WARDRIVE QUEUE, AUTH, HEARTBEAT, WARDRIVE API) |
| docs/Change1.md | Deleted - 1400+ line development guidelines file removed |
| docs/zOther/javascript/test_single_packet.mjs | New test utility for RX packet decoding/validation (437 lines) |
| content/tailwind.css | Adds missing size utilities (h-7, h-10, h-12, h-14, w-7, w-10, w-12, w-14) and bg-slate-800 class |
| content/style.css | Removes 170+ lines of unused Leaflet-specific CSS |
| content/mc/constants.js | Adds GetStats command (0x38), Stats response (24), and StatsTypes enum |
| content/mc/connection/connection.js | Implements sendCommandGetStats(), onStatsResponse(), getRadioStats() for radio statistics |
| content/device-models.json | New 277-line database of 32+ MeshCore devices with power mappings |
| README.md | Version bump 1.7.0 → 1.8.0 |
| .github/workflows/deploy.yml | Updates version badge styling in sed command |
| .github/copilot-instructions.md | Documents auto-power system, updates file line counts, adds channel key types |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This merge modernizes the MeshMapper Wardrive Web App with a new Geo‑Auth session model and wardrive submission pipeline, automatic device power configuration, radio stats/noise floor display, RX‑only wardriving when TX slots are full, Public channel key support, and multiple stability + UI optimizations (including flicker-free map refresh and removal of unused Leaflet assets).
Major changes
Geo‑Auth / Zones / Sessions
RX‑only mode (passive wardriving)
Wardrive queue + batch submission + retry + heartbeat
Device Auto‑Power (safety/convenience)
Noise floor + radio stats (BLE + UI)
Channel key handling (Public channel support)
RX batching + RX parsing correctness
Ping/auto-mode stability fixes
UI/UX + map refresh optimizations
Deployment / domain
Testing notes (quick)
2) GitHub Release notes — Version Release (updated, complete)
Title: MeshMapper Wardrive WebClient — Geo‑Auth sessions, Wardrive queue/heartbeat, Auto‑Power, Noise Floor, RX‑Only, Public channel support
Highlights
Full changelog (complete)
3) Discord announcement (updated, complete)
Merging dev → main for the MeshMapper Wardrive Web App update.
What’s new in this release:
Geo‑Auth zones + sessions
RX‑only mode enabled (passive wardriving)
New wardrive queue + retry + heartbeat
Device Auto‑Power (safety + convenience)
Noise floor + radio stats
Public channel support
RX parsing + batching improvements
UI/Map improvements