Commit Graph
22 Commits
Author SHA1 Message Date
MrAlders0n a1aff810e9 fix(api): answer 404 only for missing rows
Lookups turned every error into a 404, and region filters into a 400, so a
transient database failure looked final to clients that don't retry 4xx.
Missing rows stay 404/400; anything else is a 500. Empty /regions and
/iatas lists are [] rather than null.
2026-10-02 19:03:46 -04:00
MrAlders0n 119be44c0d feat(channels): filter channel list by keyKnown
Also seed the cursor integration test with MeshMapper membership; it still
used channel_iatas after channel lists moved to region scoping.
2026-10-01 09:06:50 -04:00
MrAlders0n f8ee1ac884 feat(meshmapper): import regional channels and scope channel lists by region 2026-09-30 23:09:40 -04:00
n30nex f390086058 fix(channels): preserve timestamp ties in page cursors (#132) 2026-09-09 20:25:07 -04:00
n30nex 30327cd98d fix(api): bound list limits consistently (#112) 2026-09-06 10:20:45 -04:00
MrAlders0n ba0e85c44e fix(channels): review fixes for channel_iatas
Refresh last_heard on duplicate observations too, capped at hourly, so
steady traffic can't age a channel out of the filter while its packets
stay retained (dedup key has no heard_at). Guard the seed join against
the docker /dev/shm cap like the trace one, and drop the unused
last_heard index column so the upserts stay HOT.
2026-07-24 12:07:05 -07:00
MrAlders0n dff9c6cf00 perf(channels): track channel activity per IATA in its own table
The IATA filter ran a correlated EXISTS over packets/observations with
ILIKE, which skipped the iata index and took ~7s live. Keep a small
channel_iatas table at ingest (like node_iatas) and filter against it.
Also honor the iatas= param so multi-site regions stop getting the
global list. Filter now ages out with packet retention rather than
matching any retained packet.
2026-07-24 12:07:05 -07:00
Enot (ded) Skelly 983ebe126b fix: make hex query params case-insensitive 2026-06-09 10:49:55 -07:00
Enot (ded) Skelly cda4905815 docs: update SPDX license lines 2026-06-08 16:08:39 -07:00
Enot (ded) Skelly 14cb9e6e2d docs: add APGL3 license 2026-06-08 15:46:01 -07:00
Enot (ded) Skelly 8b23f8a4a2 change: channel messages descending
this changes channel messages fetched over the api to
return newest first so users can fetch back through time
2026-06-05 12:40:47 -07:00
Enot (ded) Skelly a943660778 rename to beacon 2026-06-05 08:10:43 -07:00
Enot (ded) Skelly 1e5ccc6e50 add filter by scope to messages
also adds the multi iata filter from other endpoints
for messages now on both routes
2026-06-04 11:07:54 -07:00
Enot (ded) Skelly afb4fe9053 update swag comments
fixes issue with generics not being parsed
2026-06-02 08:39:27 -07:00
Enot (ded) Skelly 31bcda03b9 add swagger
change to named functions in route handlers for swagger docs
2026-05-28 15:11:04 -07:00
Enot (ded) Skelly 90405bd07f breaking: add pagination
this adds pagination so the returned format changes to
include results as well as a bool for hasMore and the
cursor if any
2026-05-28 09:47:11 -07:00
Enot (ded) Skelly abf209c6c1 add iata filter to messages and channels
also small bugfix returning multiple observations of
the same message when querying messages
2026-05-26 12:43:44 -07:00
Enot (ded) Skelly 062a6e3381 add api details in router comments 2026-05-26 11:31:46 -07:00
Enot (ded) Skelly 3293c29d93 add api error response
follows api contract
2026-05-26 08:49:47 -07:00
Enot (ded) Skelly 9b242583d9 add messages enpoints
messages at /channels as well as generic /messages
2026-05-25 16:01:01 -07:00
Enot (ded) Skelly b5c9ca656f add channels api routes 2026-05-25 14:58:50 -07:00
Enot (ded) Skelly 84df3949d1 init 2026-05-20 11:40:04 -07:00