MrAlders0n
f43f469250
Color observation card edges by SNR, align card stats, join the expanded row
2026-09-02 22:25:03 -04:00
MrAlders0n
276ef903fb
Handle API rate limiting in the client and back off WS reconnects
2026-09-02 19:50:35 -04:00
MrAlders0n
d0aa7f9c8e
Show observation cards in the expanded row below md
2026-07-29 23:17:09 -04:00
MrAlders0n
bc3bed78e4
Preserve linebreaks in message bodies
2026-07-28 21:42:44 -04:00
MrAlders0n
b74dcdb0cf
Animate the live map path from source through to destination
...
Share the endpoint-gating chain builder with the path map so both plot
source and destination when the backend resolved them unambiguously.
2026-07-28 21:27:15 -04:00
MrAlders0n
b2adc5276f
Open the analyzer from an observation and add a hash size column
...
Drops the Open analyzer and Copy link buttons from the expansion; the analyzer popup keeps its own copy link. Table rows butt up against each other now, so the whole strip is a click target.
2026-07-27 22:23:53 -04:00
MrAlders0n
1f3fb5b7c9
Collapse the packet row to a single line with hops and endpoints
...
The header and the rows are separate grids, so the shared track list can't use ch or auto — each resolved them differently and the columns drifted apart. Observer moves into the expansion to free the column.
2026-07-27 22:06:05 -04:00
MrAlders0n
9c037bc923
Close the analyzer on a mobile tab change and add an expanded-row copy link
2026-07-27 21:08:19 -04:00
MrAlders0n
cdda2a00ff
Keep the widest heard window when a live packet is re-observed
2026-07-27 21:08:19 -04:00
MrAlders0n
907b42e7be
Keep the packet card layout below md
2026-07-27 20:47:31 -04:00
MrAlders0n
663eeef775
Stop stripping ?hash on mount, it breaks deep links to older packets
...
The analyzer drawer and path-map restore both read the live ?hash and
fetch by hash directly, independent of whether the packet is in the
loaded list. Deleting the param once the first page settles without a
match unmounts the drawer and can drop path-map restores, for any
shared link more than a couple of minutes old.
2026-07-27 20:41:57 -04:00
MrAlders0n
f44f1ac0a1
Carry the picked observation into the analyzer and finish two other spec gaps
...
- Stop resetting selectedObservationId when opening the analyzer, so picking an
observation inside an expanded row lands the drawer on it instead of observations[0]
- Disable View path on map in the expanded row when the detail has no resolvable path,
matching the drawer's existing button
- Strip a ?hash deep link once the first page has loaded and it matches no packet
2026-07-27 20:32:31 -04:00
MrAlders0n
9582aaaa09
Wire the packet table and expandable rows into the virtual list
2026-07-27 20:04:36 -04:00
MrAlders0n
64b822f4fa
Reorder PacketExpansion to show errors before empty state
2026-07-27 19:43:58 -04:00
MrAlders0n
f400dc5f76
Add the expanded packet region with skeleton, error and empty states
2026-07-27 19:37:18 -04:00
MrAlders0n
16ee220abe
Fix PathData sizing and add null-SNR test to ObservationTable
2026-07-27 19:30:16 -04:00
MrAlders0n
7dfb363265
Add the nested observation table for expanded packet rows
2026-07-27 19:24:39 -04:00
MrAlders0n
9300eefad1
Add the sticky packet table header
2026-07-27 19:20:10 -04:00
MrAlders0n
8bd0f92aff
Restore n/a fallback in observer and IATA cells, scope the covering test
2026-07-27 19:17:03 -04:00
MrAlders0n
8795c360ff
Add the two-line packet table row
2026-07-27 19:10:07 -04:00
MrAlders0n
dbed149679
Cover endpoint pairs, high tint, and unresolved-run chips in PacketPathLine
2026-07-27 19:01:34 -04:00
MrAlders0n
bdf7ac45e4
Render the packet path line with truncation and confidence tints
2026-07-27 18:56:03 -04:00
MrAlders0n
48587a0437
Cover pathBytes-absent and unresolved-endpoint cases in path summary tests
2026-07-27 18:52:10 -04:00
MrAlders0n
75124250d6
Add a pure path-summary model for the packet table's path line
2026-07-27 18:45:11 -04:00
MrAlders0n
89a8980212
Split ?hash into row expansion and ?analyze for the analyzer drawer
2026-07-27 18:19:09 -04:00
MrAlders0n
1dbbce1ad8
Extract usePacketDetail and share it across the analyzer and overlay
2026-07-27 18:08:21 -04:00
MrAlders0n
161f481576
Carry path and endpoint fields from WS observations into packet summaries
2026-07-27 18:01:32 -04:00
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
f1a69fa121
Mark each top advertiser with its IATA
2026-07-24 09:11:32 -04:00
MrAlders0n
e526c08fa4
Send multi-select packet filters to the server
2026-07-24 08:47:19 -04:00
MrAlders0n
1303e952a7
Add tests for path endpoint, trace, and clock-drift edge cases
2026-07-24 06:19:19 -04:00
MrAlders0n
948cfa25b0
Fix public-key node search field switching and non-hex input
2026-07-24 06:19:19 -04:00
MrAlders0n
badd919e0d
Only plot unambiguously-resolved path endpoints on the map
2026-07-24 06:16:51 -04:00
MrAlders0n
913151c610
Show device clock drift on the node detail panel
2026-07-23 23:31:05 -04:00
MrAlders0n
88ae52bdf4
Show packet source and destination on the path map and analyzer
2026-07-23 22:53:02 -04:00
MrAlders0n
02ec63cc0f
Add path-map deep links, per-observer propagation, and tappable nodes
2026-07-18 13:37:42 -04:00
MrAlders0n
01b722b5c5
Add 'view path on map' popup to the packet analyzer
2026-07-18 09:16:27 -04:00
MrAlders0n
11b06000b5
Back out frontend zero-frame filter; fixing at the source instead
2026-07-15 22:04:42 -04:00
MrAlders0n
fb376901f9
Drop empty observer telemetry frames and show airtime as duration
2026-07-15 21:44:11 -04:00
MrAlders0n
43ebcd9638
Show loading feedback while packet history loads
2026-07-14 22:57:07 -04:00
MrAlders0n
2e2b845137
Filter packet history on the server when a single type, route or scope is selected
2026-07-14 22:31:50 -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
58016bc773
Keep the packets list static while scrolled down instead of jumping on new packets
2026-07-13 18:51:56 -04:00
MrAlders0n
c3979326aa
Add a name search that spotlights matches and dims the rest of the mesh
2026-07-11 22:19:05 -04:00
MrAlders0n
6b0486f3f4
Gate the neighbour graph to a region and size labels by busyness
2026-07-11 22:11:16 -04:00
MrAlders0n
45669d7c26
Focus the neighbour graph into an ego view on click
2026-07-11 19:53:41 -04:00
MrAlders0n
25bd3ce30e
Add a neighbour graph under the renamed Analytics tab
2026-07-11 18:56:58 -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
105e68ec04
map: rework live mode — packet dot, dashed trail, per-hop flash
2026-07-07 22:49:48 -04:00