Commit Graph
15 Commits
Author SHA1 Message Date
MrAlders0n 464e701f76 Add a toggleable IATA border layer to the map
Draw each active IATA's GeoJSON region border as an outline over a faint
fill beneath the node markers, behind a Map Settings toggle that's off by
default and shareable via a URL param. IATAs with no border answer 204
and are skipped.
2026-07-24 22:21:12 -04:00
MrAlders0n 82a83fd33f Add Map deep-links for camera and settings with a copy-link button 2026-07-14 15:05:49 -04:00
MrAlders0n 92806faaa4 map: colour a selected node's neighbour lines by obs count and freshness 2026-07-08 09:33:57 -04:00
MrAlders0n 5462c08662 map: dim other nodes to spotlight a selected node and its neighbours 2026-07-08 08:41:00 -04:00
MrAlders0n 03d7a375a3 map: persist clustering + node-type, default neighbor lines to selected 2026-07-07 23:14:39 -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 4d6d76e451 round out the review fixes: chunk reload, spiderfy reset, search debounce
- a failed lazy chunk now offers 'reload' (React.lazy caches the
  rejection, so remounting could never recover Map/Stats)
- an open spiderfy fan closes on region/type-filter change instead of
  showing leaves from the previous dataset
- map settings persistence moved out of the setState updater
- observer search debounces 250ms and shows 'Search failed' instead of
  'No matches' on errors
- packet-detail staleTime drops to 30s so a reopened analyzer picks up
  new observations
- leaving Stats clears its statsTab/observerId/range URL params
- ws types now match the wire (batteryMv omitted not null, scopes can
  be null, lastObservationId isn't sent today); drop the unused
  microToDeg shim now that nothing imports it
2026-06-10 07:08:13 -04:00
MrAlders0n 12d5056e20 map: insert brand-new nodes from their nodeUpdate event
The WS patch only updated nodes already in the paged cache, and with
staleTime Infinity nothing ever refetched — a node that came up after
page load could never appear on the map. The event carries a full
summary, so unknown nodes are appended to the cache directly. The
Nodes table keeps patch-only behavior since its cache is filter-scoped.
2026-06-10 06:59:49 -04:00
MrAlders0n 84f235a3b4 Mobile support refactor and cleanup 2026-06-08 10:18:17 -04:00
MrAlders0n 8e2696b95a feat: loading pill for map and tables
- LoadingPill shows loading/error state in MapView, NodeTable and ObserverTable
- new useInfinitePages hook shares the pagination logic between them
- patchNodeSummary/patchObserverSummary now keep references stable
- tests for loading states, observer updates and infinite paging
2026-06-05 22:59:52 -04:00
MrAlders0n 81bdeec16b feat: implement paginated node fetching and add related tests 2026-06-05 20:23:17 -04:00
MrAlders0n 43ab0dbb3f feat: added region support (#3) 2026-06-04 22:26:05 -04:00
MrAlders0n 811c11db52 Feat/map openfreemap (#2)
* initial map page

* Nodes plotted and map in good shape to be merged
2026-05-31 15:15:06 -04:00
MrAlders0n 4ed88b1be6 Cleaning up UI 2026-05-29 23:18:23 -04:00
MrAlders0n 8718bf3563 Initial commit 2026-05-23 21:49:14 -04:00