- Fixed issue where historical packets were only loaded when tracking a specific callsign - Changed needs_initial_historical_load to always be true on mount - Added comprehensive test suite for historical packet loading scenarios - Tests verify loading with/without tracked callsign, custom time ranges, and zoom-based limits - Ensures users see recent activity immediately when visiting the map Also fixed JavaScript error about enabledFeatures being undefined - this was from a browser extension, not the application code. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Claude Session Summary - August 2, 2025
Session Overview
This session focused on updating the APRS.me codebase to handle improved APRS parser features based on updates from the vendor/aprs library.
Completed Tasks
1. Enhanced APRS Parser Integration
- Initial Request: "the parser has been improved again with these updates, please update the code to handle them"
- Parser Improvements Implemented:
- Added 11 new standard parser fields for better compatibility
- Implemented comprehensive weather data extraction with dedicated wx field
- Fixed PHG parsing to return string format instead of map structure
- Added radiorange (RNG) field parsing from comments
- Enhanced comment processing with proper data extraction and cleaning
- Improved compressed position parsing with APRS messaging capability
2. Database Schema Updates
- Created migration
20250801231447_add_enhanced_parser_fields.exs - Added 20 new fields to packets table:
- Standard parser fields: srccallsign, dstcallsign, body, origpacket, header, alive, posambiguity, symboltable, symbolcode, messaging
- Radio range field: radiorange
- Weather fields: rain_midnight, has_weather (some already existed)
3. Code Updates in lib/aprsme/packet.ex
- Added
put_standard_parser_fields/2function to extract new parser compatibility fields - Added
put_radio_range_field/2function for radiorange extraction - Enhanced
extract_weather_data/2to prioritize new wx field from improved parser - Updated
put_phg_fields/2to handle both string format ("1060") and legacy map structure - Added
parse_phg_string/2for parsing 4-character PHG strings
4. Comprehensive Testing
- Created
test/aprsme/enhanced_parser_test.exswith 6 tests - Tests cover:
- Standard parser field extraction
- Radio range field extraction
- Weather data from wx field
- PHG data in both string and map formats
- Full packet storage with enhanced fields
- All 467 tests passing with 0 failures
5. Previous Work in Session
Before the parser update task, the session included:
- Improving test coverage from 41.62% to meet 90% threshold
- Writing comprehensive test suites for Aprsme.Packets, Cluster.LeaderElection, and Cluster.ConnectionManager modules
- Fixing production issues including:
- Buffer full errors (actually PacketConsumer crashes)
- Telemetry_vals data type mismatches
- Missing position_ambiguity column
- Optimizing test suite performance (48% speed improvement)
- Multiple git commits and pushes throughout
Key Technical Details
Parser Field Mappings
The enhanced parser now provides these additional fields that are mapped to database columns:
posambiguity→ position_ambiguity (0-4 level indicator)wx→ dedicated weather data field (prioritized over other weather fields)radiorange→ RNG field from comments (e.g., "RNG0050")- PHG data now comes as string "1060" instead of map structure
Backward Compatibility
All changes maintain backward compatibility:
- Weather extraction checks multiple field locations (wx, weather, weather_report, raw_weather_data)
- PHG parsing handles both string and map formats
- Standard fields are extracted from top-level attributes if present
Current State
- All code changes committed and pushed to main branch
- Database migration successfully applied
- Test suite fully passing
- Code formatted and no compilation warnings
- Ready for deployment to production
Remaining Tasks
From the todo list:
- Write tests for Aprsme.Is module (APRS-IS connection) - pending
- Run final coverage report to verify improvements - pending
Notes for Next Session
- The enhanced parser integration is complete and tested
- Consider deploying to production and monitoring for any issues with the new fields
- The Aprsme.Is module still needs test coverage
- May want to verify that the parser improvements are working correctly with live APRS data