v1.7.0 - RX Packet Filtering & External Antenna Support + Debug Mode + Unified RX Architecture#171
Merged
MrAlders0n merged 29 commits intomainfrom Jan 3, 2026
Merged
v1.7.0 - RX Packet Filtering & External Antenna Support + Debug Mode + Unified RX Architecture#171MrAlders0n merged 29 commits intomainfrom
MrAlders0n merged 29 commits intomainfrom
Conversation
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…delines Restructure RX batching to use distance-based best-SNR tracking and add debug mode support
- Add parseRxPacketMetadata() function to parse header/path once - Update buildDebugData() to use metadata.pathBytes for accurate debug data - Refactor handleSessionLogTracking() to use metadata instead of packet - Refactor handlePassiveRxLogging() to use metadata instead of packet - Update handleUnifiedRxLogEvent() to call parsing first before routing - Update repeater tracking storage to store full metadata - Update RX batching storage to store full metadata - Update TX/RX debug data integration in API posting functions Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Rename state.repeaterTracking → state.txTracking - Rename state.passiveRxTracking → state.rxTracking - Rename state.running → state.txRxAutoRunning - Rename sessionLogState → txLogState - Rename all handler functions (handleSessionLogTracking → handleTxLogging, etc.) - Rename all UI functions (addLogEntry → addTxLogEntry, etc.) - Rename all batch functions (flushBatch → flushRxBatch, etc.) - Rename DOM element references (sendPingBtn → txPingBtn, autoToggleBtn → txRxAutoBtn, etc.) - Update HTML element IDs and button labels (Session Log → TX Log, Send Ping → TX Ping, etc.) - Update debug log tags ([SESSION LOG] → [TX LOG], [PASSIVE RX] → [RX LOG], [AUTO] → [TX/RX AUTO]) - Update CSS comments (Session Log → TX Log) - Update copy to clipboard function tags Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Update DEVELOPMENT_REQUIREMENTS.md debug tag table - Update PING_WORKFLOW.md with TX/RX terminology - Update CONNECTION_WORKFLOW.md with TX tracking - Update flow diagrams with new function names Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Add isWardriving property to state.rxTracking and rxAutoRunning to state - Update handleUnifiedRxLogEvent() to check isWardriving and add defensive check - Make startUnifiedRxListening() idempotent with better checking - Clear all logs on connect (new session) - Keep stopUnifiedRxListening() only in disconnect handler - Update TX/RX Auto functions to control isWardriving flag - Add startRxAuto() and stopRxAuto() functions for RX-only mode - Update updateControlsForCooldown() for mutual exclusivity - Update updateAutoButton() to handle both modes - Add RX Auto button to HTML - Add rxAutoBtn DOM reference and event listener - Update page visibility handler for both auto modes - Update disconnect handler to stop both modes and unified listener Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Update STATUS_MESSAGES.md with RX Auto status messages - Update TX/RX Auto status message references - Add RX AUTO debug tag to DEVELOPMENT_REQUIREMENTS.md - Add comprehensive RX Auto Mode section to PING_WORKFLOW.md - Document always-on unified listener architecture - Add behavior comparison table for all modes - Document edge cases and validation requirements Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Rename sessionPingsEl to txPingsEl to match HTML element ID - Update all references to use txPingsEl - Remove unnecessary undefined checks for rxAutoBtn - Ensure TX log rendering works correctly Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Unified RX Parsing, TX/RX Naming Standardization, and RX Auto Mode
…correct path length extraction
…tion and enhance clarity in metadata parsing
…ive.js for codebase cleanup
There was a problem hiding this comment.
Pull request overview
This is a major release (v1.7.0) implementing three significant architectural improvements: unified RX packet parsing, comprehensive TX/RX naming standardization, and RX Auto mode infrastructure. The PR adds packet filtering, external antenna configuration, and API-controlled debug mode.
Key Changes:
- Unified RX parsing architecture with single metadata extraction point
- Complete naming standardization from "session log"/"auto ping" to "TX log"/"TX/RX Auto"
- RX Auto mode infrastructure (currently disabled awaiting backend API)
- Comprehensive RX packet filtering with validation thresholds
- External antenna configuration requirement added to settings
- API-controlled debug mode for detailed packet inspection
Reviewed changes
Copilot reviewed 13 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| content/wardrive.js | Core refactor: unified RX parsing, TX/RX naming standardization, RX Auto mode, packet filtering, debug mode, external antenna support |
| index.html | UI updates: renamed TX log elements, added external antenna selector, added RX Auto button |
| content/style.css | Updated CSS comments for TX log naming |
| docs/*.md | Updated documentation for TX/RX terminology and RX Auto workflow |
| package.json, package-lock.json | Deleted (moved to .gitignore for local dev only) |
| .gitignore | Added package files and test data exclusions |
| .github/copilot-instructions.md | New comprehensive AI agent instructions file |
| README.md | Version bump to 1.7.0 |
| CHANGES_SUMMARY.md | Deleted (outdated historical document) |
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.
Major Features & Improvements
Unified RX Event Handler Architecture
handleUnifiedRxLogEvent())handleTxLogging()andhandleRxLogging()under unified handlerhandleTxLogging()for echo detection (only GroupText 0x15 packets can be echoes)parseRxPacketMetadata()extracts headers/paths once, reused by both TX and RX flowsRX Packet Filtering System
MAX_RX_PATH_LENGTH,RX_ALLOWED_CHANNELS,RX_PRINTABLE_THRESHOLDExternal Antenna Configuration
external_antennafield added to all API payloads (TX and RX)RX Auto Mode (Future Feature)
startRxAuto()/stopRxAuto()functions, wake lock managementDebug Mode via Backend API
debug_mode=1returned by API, raw packet data is included in all API submissionsUI/UX Enhancements
API Queue Improvements
state.pendingApiPosts[]arrayChannel Configuration
#wardriving,#public,#testing,#ottawaRX_CHANNEL_MAP)Testing Infrastructure
test_single_packet.jsfor standalone packet validation testingpacket.json,package.json,package-lock.jsontest data)Technical Changes
Validation Functions
validateRxPacket(): Main filter orchestrator with detailed debug output (logs raw hex, headers, validation steps)parseAdvertName(): Extracts and validates ADVERT name fieldisStrictAscii(): Checks for ASCII-only characters (32-126)getPrintableRatio(): Calculates printable character percentageState Management
rxLogState.dropCountto track filtered packetsstate.pendingApiPosts[]array for disconnect coordinationgetExternalAntennaSetting()helper for antenna configurationstate.debugModeflag tracks API-controlled debug statestate.tempTxRepeaterDatastores repeater metadata for debug payloadsstate.rxTracking.isListening- TRUE when unified listener active (always on when connected)state.rxTracking.isWardriving- TRUE when TX/RX Auto OR RX Auto enabled (controls logging)Settings Lock/Unlock
lockWardriveSettings(): Disables power/antenna inputs with visual feedback (opacity 0.5, pointer-events-none)unlockWardriveSettings(): Re-enables inputs and restores stylingDebug Data Building
buildDebugData(): Constructs debug payload with raw packet, parsed fields, and metadatastate.debugMode === trueBug Fixes
Breaking Changes
None - all changes are additive or internal implementation improvements.