7 Commits
Author SHA1 Message Date
MrAlders0n 276ef903fb Handle API rate limiting in the client and back off WS reconnects 2026-09-02 19:50:35 -04:00
MrAlders0n e50501879a feat: discover renderers, neighbor map lines, live packet flow
- Discover packets decoded: DISCOVER_REQ/DISCOVER_RESP render real fields
  (type-filter roles, tag, node-to-node request SNR) instead of a raw dump.
- Neighbor lines on the map: On/Selected/Off control draws links between nodes
  and their known neighbors.
- Live packet flow: a play button animates packets hop-to-hop between repeaters
  in real time (off by default).
2026-07-05 22:08:54 -04:00
MrAlders0n f4093cf508 ws: fix subscription leak, stale sockets and half-open links
The big one: updateSubscription before the previous subscribe was acked
never unsubscribed it (the server keeps scopes additively), so a region
change right after connect left the old all-regions sub alive and the
live feed stayed a firehose. Subscribes now carry a tracked id and an
ack for a superseded subscribe is unsubscribed on arrival.

Also:
- doConnect/disconnect tear down the old socket and detach handlers, so
  a late close from a dead socket can't spawn a parallel reconnect loop
  (the StrictMode dev warning came from this)
- subscription ids are cleared per-connection instead of leaking a
  stale id onto the next socket
- pings now double as a liveness check: no pong for two intervals
  forces a reconnect instead of showing LIVE on a half-open link
- a server-sent close 1000 reconnects instead of going permanently dark
- after a reconnect the manager synthesizes a lag notice so live views
  refetch what they missed during the outage
2026-06-10 06:34:28 -04:00
MrAlders0n b8b1f5f27d Feat/scopes routes traces (#7)
* feat: replace getScopeStats with getScopes and update related tests
bug: lastSeen/sentAt was set to string instead of number by mistake

* feat: update timestamp handling and formatting across components

- WS messages carry epoch ms now instead of ISO strings
- new Timestamp component (relative/absolute), used in RouteTable and RouteDetailPanel
- IataChip and ScopeTag chips
- TraceDetailPanel and TraceList for trace drill-down
- tests updated for the timestamp change
2026-06-07 00:19:54 -04:00
MrAlders0n eb961c0c92 Fixed the scrollbar anchoring and some bug fixes 2026-05-29 20:21:59 -04:00
MrAlders0n a0caf65a18 added channel & observers 2026-05-27 19:27:48 -04:00
MrAlders0n 8718bf3563 Initial commit 2026-05-23 21:49:14 -04:00