aprs.me/lib/aprsme
Graham McIntire d5781f2581
Fix comprehensive crash prevention and add missing RF path station markers
This commit addresses two major areas:

1. Crash Prevention & Error Handling:
   - Added error handling to all database queries to prevent crashes
   - Implemented circuit breaker pattern for APRS-IS connection
   - Added timeouts to all Redis operations (5 second timeout)
   - Fixed unsafe pattern matches that could cause MatchError crashes
   - Added try/rescue blocks around background tasks
   - Improved socket operation error handling with proper cleanup
   - Enhanced packet cleanup worker with comprehensive error handling

2. RF Path Station Markers:
   - Fixed issue where digipeater/iGate icons weren't shown when searching for callsigns
   - Now loads and displays position markers for all stations in the RF path
   - Extracts RF path stations from tracked callsign packets
   - Fetches latest position for each digipeater/iGate
   - Properly displays complete RF path visualization with station positions

Technical details:
- Added Process.alive? checks before sending messages
- Fixed resource cleanup in terminate functions
- Added proper error handling to File.read operations
- Implemented safe wrapper for ShutdownHandler health checks
- All changes ensure the app continues running even when errors occur

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 11:56:00 -05:00
..
accounts add callsign to users 2025-07-10 16:07:05 -05:00
cluster Improve status page cluster information display 2025-07-27 12:53:19 -05:00
is clean up warnings 2025-07-16 08:55:46 -05:00
packets fix weather 2025-07-12 10:53:11 -05:00
performance Fix packet buffer overflow and system load adjustment issues 2025-07-15 08:16:11 -05:00
telemetry Add PostgreSQL and database pool metrics to telemetry 2025-07-27 14:13:17 -05:00
workers Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
accounts.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
application.ex format 2025-07-27 11:16:16 -05:00
aprs_is_connection.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
archiver.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
bad_packet.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
broadcast_task_supervisor.ex Implement critical performance optimizations and error handling 2025-07-18 18:19:49 -05:00
cache.ex Add Redis-based distributed caching and rate limiting 2025-07-26 15:29:38 -05:00
cached_queries.ex Add Redis-based distributed caching and rate limiting 2025-07-26 15:29:38 -05:00
callsign.ex more permissive callsign parsing 2025-07-12 09:10:49 -05:00
circuit_breaker.ex clean up warnings 2025-07-16 08:55:46 -05:00
cleanup_scheduler.ex format 2025-07-27 11:16:16 -05:00
convert.ex more i18n 2025-07-06 10:28:27 -05:00
data_extended.ex update deps 2025-07-16 08:20:20 -05:00
db_optimizer.ex Fix dialyzer warnings and improve type safety 2025-07-27 11:18:55 -05:00
device_cache.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
device_identification.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
device_parser.ex Fix Access behavior error in DeviceParser 2025-07-15 11:10:50 -05:00
devices.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
devices_seeder.ex Fix potential crashes and unsafe operations throughout the app 2025-07-28 08:35:12 -05:00
dynamic_supervisor.ex Add distributed Erlang clustering for single APRS-IS connection 2025-07-25 10:30:29 -05:00
encoding.ex format 2025-07-27 11:16:16 -05:00
encoding_utils.ex format 2025-07-27 11:16:16 -05:00
error_handler.ex clean up warnings 2025-07-16 08:55:46 -05:00
geo_utils.ex Increase GPS drift threshold from 15m to 50m 2025-07-21 11:23:37 -05:00
log_sanitizer.ex performance improvements 2025-07-08 10:03:52 -05:00
mailer.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
migration_lock.ex format 2025-07-27 11:16:16 -05:00
packet.ex add PHG parsing 2025-07-12 10:22:43 -05:00
packet_consumer.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
packet_consumer_pool.ex Fix packet buffer overflow with parallel consumer pool 2025-07-19 14:49:52 -05:00
packet_counter.ex performance improvements 2025-07-14 16:35:58 -05:00
packet_pipeline_setup.ex add packet batcher 2025-06-24 15:06:09 -05:00
packet_pipeline_supervisor.ex Fix packet buffer overflow with parallel consumer pool 2025-07-19 14:49:52 -05:00
packet_producer.ex Revert all packet processing optimizations to fix buffer overflow 2025-07-15 08:44:26 -05:00
packet_replay.ex clean up warnings 2025-07-16 08:55:46 -05:00
packet_replay_behaviour.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
packets.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
packets_behaviour.ex refactor and performance improvements 2025-07-10 10:53:34 -05:00
passcode.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
postgres_notifier.ex more live updates and chart version update 2025-07-04 12:15:38 -05:00
postgres_types.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
presence.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
rate_limiter.ex update deps 2025-07-16 08:20:20 -05:00
rate_limiter_wrapper.ex Add Redis-based distributed caching and rate limiting 2025-07-26 15:29:38 -05:00
redis_cache.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
redis_rate_limiter.ex Fix comprehensive crash prevention and add missing RF path station markers 2025-07-28 11:56:00 -05:00
release.ex Fix code formatting in release.ex 2025-07-27 11:30:16 -05:00
repo.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
schema.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
sentry_filter.ex Fix Sentry.Event struct access error in SentryFilter 2025-07-24 19:21:23 -05:00
shutdown_handler.ex Fix ShutdownHandler terminating during normal startup 2025-07-26 15:55:56 -05:00
signal_handler.ex Fix ShutdownHandler terminating during normal startup 2025-07-26 15:55:56 -05:00
spatial_pubsub.ex Implement critical performance optimizations and error handling 2025-07-18 18:19:49 -05:00
streaming_packets_pubsub.ex Fix potential crashes and unsafe operations throughout the app 2025-07-28 08:35:12 -05:00
system_monitor.ex Fix packet buffer overflow and system load adjustment issues 2025-07-15 08:16:11 -05:00