aprs.me/lib/aprsme_web
Graham McIntire f225f57044
perf(packets): keyset-based pagination for recent-packet queries
get_recent_packets/1 and get_recent_packets_for_map/1 now accept a
:cursor option (%{received_at: DateTime, id: uuid}) instead of :offset
for deep paging. On the 100M-row partitioned packets table, offset
scanning was linear in page depth; keyset is constant.

Ordering tightened to (received_at DESC, id DESC) so the cursor is
stable across ties. idx_packets_received_desc still covers the lookup;
a dedicated (received_at DESC, id DESC) index isn't worth its size
given microsecond timestamp granularity.

historical_loader migrated from batch_offset*batch_size scheduling to
a sequential cursor chain. The old loader fanned out N Process.send_after
batches up-front which could arrive out-of-order; the cursor version
waits for batch N before scheduling N+1, and also short-circuits the
remaining schedule when an under-full batch signals exhaustion.

mobile_channel load_historical_packets dropped its meaningless
`offset: 0`; callsign history already lacked offset.

No LiveView or WebSocket payload shapes changed. offset: 0 (or omitted)
still behaves as first page; non-zero offsets are silently ignored.
2026-04-21 10:15:04 -05:00
..
channels perf(packets): keyset-based pagination for recent-packet queries 2026-04-21 10:15:04 -05:00
components fix: address security vulnerabilities and concurrency issues 2026-03-23 16:59:09 -05:00
controllers chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
live perf(packets): keyset-based pagination for recent-packet queries 2026-04-21 10:15:04 -05:00
plugs chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
aprs_symbol.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
endpoint.ex fix: performance improvements and bug fixes across backend and frontend 2026-03-19 12:41:36 -05:00
gettext.ex more languages 2025-07-06 10:08:58 -05:00
router.ex feat: add sitemap.xml, api-catalog, and agent-discovery Link headers 2026-04-17 13:31:21 -05:00
telemetry.ex Fix code review findings: security, correctness, performance, dead code 2026-02-19 18:49:27 -06:00
time_helpers.ex improve dialyzer 2025-10-13 10:02:15 -05:00
time_utils.ex improve dialyzer 2025-10-13 10:02:15 -05:00
user_auth.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00
weather_units.ex Refactor conditionals to use multi-clause pattern matching 2026-02-10 17:15:49 -06:00