aprs.me/lib/aprsme
Graham McIntire ff3a478bbd
perf: add LIMIT to unbounded DISTINCT ON, guard device table scan, add DB indexes
Bound batch DISTINCT ON queries by input count. Guard Repo.all(Devices) with exists? check. Add trigram GIN index on base_callsign and (has_weather, received_at DESC) partial index.

Ultraworked with Sisyphus

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-01 16:49:48 -05:00
..
accounts refactor: split if/else in Accounts.User password helpers 2026-04-23 14:24:29 -05:00
cluster Remove :slow test tag; make slow tests run fast via configurable timeouts 2026-05-09 09:05:16 -05:00
is faster tests 2026-04-24 19:00:24 -05:00
packets perf: add LIMIT to unbounded DISTINCT ON, guard device table scan, add DB indexes 2026-06-01 16:49:48 -05:00
performance refactor: pattern-match over conditionals in Navigation and InsertOptimizer 2026-04-23 13:38:24 -05:00
prom_ex/plugins Add PromEx Prometheus exporter and /metrics endpoint 2026-05-08 10:41:06 -05:00
swoosh chore: remove unused deps, replace resend with custom Swoosh adapter, fix test isolation 2026-04-24 13:04:18 -05:00
telemetry Optimize prod: scale deployment, drop expensive metric queries, fix slow callsign and nearby-stations queries 2026-05-12 17:48:58 -05:00
workers Partition packets table by day and simplify cleanup 2026-02-20 11:25:16 -06:00
accounts.ex Fix callsign registration to be case-insensitive 2026-02-19 13:20:07 -06:00
application.ex perf: add persistent ETS weather cache for N+1 prevention 2026-06-01 16:48:28 -05:00
bad_packet.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
broadcast_task_supervisor.ex Speed up the slowest tests 2026-05-09 10:56:03 -05:00
cache.ex fix(cache): use case instead of rescue to handle :undefined table info; expand Cache tests 2026-04-23 17:31:56 -05:00
callsign.ex Fix code review findings: security, correctness, performance, dead code 2026-02-19 18:49:27 -06:00
circuit_breaker.ex refactor: promote hot-path GenServer state maps to structs 2026-04-21 10:26:20 -05:00
cleanup_scheduler.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
connection_monitor.ex types: add @type t to last two untyped GenServer structs 2026-04-21 10:18:26 -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 chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
deployment_notifier.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
device_cache.ex faster tests 2026-04-24 19:00:24 -05:00
device_identification.ex perf: add LIMIT to unbounded DISTINCT ON, guard device table scan, add DB indexes 2026-06-01 16:49:48 -05:00
device_parser.ex refactor 2025-10-12 10:56:49 -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 fix elixir type warnings 2026-05-29 14:00:29 -05:00
encoding_utils.ex refactor: pattern-match in HealthCheck, EncodingUtils, and StatusLive helpers 2026-04-23 14:02:50 -05:00
error_handler.ex clean up warnings 2025-07-16 08:55:46 -05:00
error_notifier.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
geo_utils.ex refactor: dedupe utilities, prefer pattern matching, tighten specs 2026-04-28 14:18:58 -05:00
log_sanitizer.ex refactor: more pattern matching + drop unreachable get_field_value clause 2026-04-23 14:09:53 -05:00
maidenhead.ex Partition packets table by day and simplify cleanup 2026-02-20 11:25:16 -06: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 Remove dead code: round_coordinate non-float heads, unreachable get_nearby_stations branch, redundant pattern-match guards 2026-05-08 17:49:23 -05:00
packet_consumer.ex refactor: promote hot-path GenServer state maps to structs 2026-04-21 10:26:20 -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_field_whitelist.ex Consolidate 24 packet columns into JSONB data field 2026-02-20 13:02:47 -06:00
packet_pipeline_supervisor.ex Fix multiple TODO bugs: drain handler, callsign dedup, packet pipeline 2026-02-19 18:27:25 -06:00
packet_producer.ex refactor: split PacketProducer.handle_cast into pattern-matched heads 2026-04-23 14:26:23 -05:00
packet_replay.ex fix(packet_replay): order sanitize_value clauses; update state on stop; test send_packet paths 2026-04-24 08:17:23 -05:00
packet_replay_behaviour.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
packet_sanitizer.ex perf: reduce per-packet allocations in ingest pipeline 2026-04-19 13:33:16 -05:00
packets.ex Remove dead code: round_coordinate non-float heads, unreachable get_nearby_stations branch, redundant pattern-match guards 2026-05-08 17:49:23 -05:00
packets_behaviour.ex refactor: Remove CachedQueries and rename optimized functions 2025-07-30 13:17:56 -05:00
partition_manager.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
postgres_notifier.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
postgres_types.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
prom_ex.ex Add PromEx Prometheus exporter and /metrics endpoint 2026-05-08 10:41:06 -05:00
rate_limiter.ex update deps 2025-07-16 08:20:20 -05:00
regex_cache.ex fix elixir type warnings 2026-05-29 14:00:29 -05:00
release.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -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
shutdown_handler.ex refactor: pattern-match ShutdownHandler + add tests 2026-04-23 14:21:15 -05:00
signal_handler.ex fix: address security vulnerabilities and concurrency issues 2026-03-23 16:59:09 -05:00
spatial_pubsub.ex fix elixir type warnings 2026-05-29 14:00:29 -05:00
streaming_packets_pubsub.ex fix elixir type warnings 2026-05-29 14:00:29 -05:00
weather_cache.ex perf: add persistent ETS weather cache for N+1 prevention 2026-06-01 16:48:28 -05:00