Commit Graph
66 Commits
Author SHA1 Message Date
Enot (ded) Skelly b58e5a1edc feat(api): differentiate traces and pings 2026-06-11 14:52:31 -07:00
Enot (ded) Skelly ad8e410856 feat(api): add knownNeighborCount to nodesummary and publicKey to node neighbor 2026-06-11 13:47:58 -07:00
Enot (ded) Skelly ef5257db66 fix(stats): fix radio presets query 2026-06-10 13:46:21 -07:00
Enot (ded) Skelly 205eaafbe9 feat(stats): add node type breakdown
/stats/node-types w/ filters for iata/region

closes #55
2026-06-10 13:18:26 -07:00
Enot (ded) Skelly 5e0274d778 fix(telemetry): incorrect truncation on observer telemetry 2026-06-10 13:04:02 -07:00
Enot (ded) Skelly a9b0025b1d fix(stats): support multiple IATAs and region filtering on all stats endpoints
closes: #53 and #54
2026-06-10 09:52:02 -07:00
Enot (ded) Skelly 632f858376 fix(sql): observer telemetry for airtime and errors
changes from average to the calculated delta of the min
and max with a guard against negatives

closes #52
2026-06-10 08:29:10 -07:00
Enot (ded) Skelly ddd0c473fb chore: remove unused queries 2026-06-09 15:56:26 -07:00
Enot (ded) Skelly 4147a93e8b feat(observers): add telemetry bucketing to rest api
closes #37
2026-06-08 12:32:22 -07:00
Enot (ded) Skelly 149452f066 feat(routes): add resolved hop nodes to known routes API
closes #44
2026-06-08 11:30:26 -07:00
Enot (ded) Skelly 68c254ce04 feat: add observation count to routes 2026-06-08 10:59:46 -07:00
Enot (ded) Skelly 32e6e9939a feat: cross iata routes
adds cross iata route finding

closes #42
2026-06-08 10:30:49 -07:00
Enot (ded) Skelly 7d25b8480f feat: node neighbors
limited to repeaters and room servers

stores high confidence matches from the nodes advert
packet path first hops
2026-06-08 09:36:20 -07:00
Enot (ded) Skelly cbf2c0bc5f fix: message cursor direction
closes: #39
2026-06-06 11:21:12 -07:00
Enot (ded) Skelly c792029d3d fix: routes pagination cursor
closes #41
2026-06-06 11:14:13 -07:00
Enot (ded) Skelly c0051606ee fix: route search should have src and dest in order
previous just checked if the route contained the hashes
at all, not if the src was actually before the dest
2026-06-05 16:44:28 -07:00
Enot (ded) Skelly 65cb8c9d61 add routes api
any route observer where all hops are high confidence
are now stored and available at /routes

you can also search for a src dest route and it will
return any recored route subset that can link the src
and dest hash
2026-06-05 15:57:08 -07:00
Enot (ded) Skelly f0c57fde45 add traces endpoint 2026-06-05 15:20:53 -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 ae14d948d0 add scopes api 2026-06-05 12:31:35 -07:00
Enot (ded) Skelly 588b3705c9 add packet and message backfill api
/packets/backfill, /messages/backfill

both take afterId and limit. the id is the message or
packet observation last received to backfill after
2026-06-05 12:05:24 -07:00
Enot (ded) Skelly fdbcad28d8 add decrypted channel msg to packet details
also caught a bug where we never set the packet as
being decrypted even when it had been
2026-06-05 11:06:02 -07:00
Enot (ded) Skelly 594cd7281e add scope stats api endpoint 2026-06-04 11:17:58 -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 fcc7bb1b23 add transport scopes
new config for transport scope keys seeded to db

new transport keystore to lookup matching keys and tag
- packets with scope key
- nodes with default scope
- observers with all supported scopes it forwards

allow filtering by region scope key on: packets, nodes, observers
2026-06-04 10:32:03 -07:00
Enot (ded) Skelly cba1690470 add region filter to observers 2026-06-03 15:07:36 -07:00
Enot (ded) Skelly 67e60de76f add region filter to nodes 2026-06-03 14:59:26 -07:00
Enot (ded) Skelly a49c64b4b5 add region filtering to packets 2026-06-03 14:37:18 -07:00
Enot (ded) Skelly 8c71277de8 add radio-presets stats 2026-06-03 13:56:31 -07:00
Enot (ded) Skelly 153a8cb7cc fix: packet payload filter for request (0) 2026-06-03 09:42:44 -07:00
Enot (ded) Skelly 335ff9662e add path resolution 2026-06-02 16:26:32 -07:00
Enot (ded) Skelly 29e3378093 nit: reorder listnodes query placeholders 2026-06-02 08:08:32 -07:00
Enot (ded) Skelly 523f9484dc fix: get node bigint cast 2026-06-02 07:50:06 -07:00
Enot (ded) Skelly beadf5dc62 feat: allow filter by not supporting multibyte path/trace
depends on path resolution so will not return true yet for any nodes
2026-06-01 16:23:56 -07:00
Enot (ded) Skelly e3084ce444 feat: add lastheard TS for node IATAs 2026-06-01 15:42:28 -07:00
Enot (ded) Skelly 8addb401cc feat: add radio params to node summaries
observers and nodes now include Radio which is in the
format FreqMhz,BWKhz,SF (910.525,63.5,7)
2026-06-01 14:54:01 -07:00
Enot (ded) Skelly bff849e20f feat: add observer status to nodes
IsObserver and ObserverID in summary and details
2026-06-01 10:44:10 -07:00
Enot (ded) Skelly cb39913e40 fix: packet observation count
uses actual rows for packet observations for count, no
more counter
2026-06-01 10:20:14 -07:00
Enot (ded) Skelly da35122433 fix: iata filtered nodes should include iata list 2026-06-01 09:35:01 -07:00
Enot (ded) Skelly 0e82f8adbf api: packet: split header and payload 2026-05-29 12:16:23 -07:00
Enot (ded) Skelly 8a57824889 api: nodes: include iata 2026-05-29 11:35:12 -07:00
Enot (ded) Skelly 222c83c3c9 fix: node observations sort order by DESC
was ASC giving old data first
2026-05-29 11:23:50 -07:00
Enot (ded) Skelly 2597192e89 add observation count to messages 2026-05-29 11:02:03 -07:00
Enot (ded) Skelly 5bd820e0c1 add materialized view refresh timers 2026-05-28 14:15:31 -07:00
Enot (ded) Skelly 71f5cbae3b add stats api 2026-05-28 13:07:22 -07:00
Enot (ded) Skelly 203c5f1b2f add packets api 2026-05-28 12:22:49 -07:00
Enot (ded) Skelly 335389426a make all iata case insensitive ilike 2026-05-28 10:52:49 -07:00
Enot (ded) Skelly 5763346a34 add search by name to observers
search if name includes {name}
make iata case-insensitive as well
2026-05-28 10:50:21 -07:00
Enot (ded) Skelly e1b6761168 add nodes api 2026-05-28 10:40:44 -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