- 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>
84 lines
No EOL
3.9 KiB
Markdown
84 lines
No EOL
3.9 KiB
Markdown
# 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/2` function to extract new parser compatibility fields
|
|
- Added `put_radio_range_field/2` function for radiorange extraction
|
|
- Enhanced `extract_weather_data/2` to prioritize new wx field from improved parser
|
|
- Updated `put_phg_fields/2` to handle both string format ("1060") and legacy map structure
|
|
- Added `parse_phg_string/2` for parsing 4-character PHG strings
|
|
|
|
### 4. Comprehensive Testing
|
|
- Created `test/aprsme/enhanced_parser_test.exs` with 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:
|
|
1. Write tests for Aprsme.Is module (APRS-IS connection) - pending
|
|
2. 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 |