Skip to content

feat(topology): full-width legend and links table with ping column - #1387

Merged
gnacho merged 8 commits into
mainfrom
fix/1384-bottom-cards
Oct 12, 2026
Merged

gnacho merged 8 commits into
mainfrom
fix/1384-bottom-cards

Conversation

@gnacho

@gnacho gnacho commented Oct 12, 2026

Copy link
Copy Markdown
Owner

Request (#1384)\n\nThe legend and links table under the map sat side by side (5/7 cols), the managed-switch uplink was missing from the table, and hypervisor cables showed no speed.\n\n## Changes\n\n- Legend: full-width card; sections in one row (bands, link samples in three columns, status) with fixed 50px side padding and column gaps, summary line spanning the full width below. Mobile sheet keeps the stacked layout.\n- Links table: full width, new ping column with the destination unit's probed latency. The server already polled per-router latency but only persisted it to metrics; the overview now exposes it as latencyMs. A stale-rounded 0 from older agents shows as "<1 ms"; units without a probe show -.\n- Switch uplinks listed: the table now lists the uplink of every non-gateway fleet unit (APs and managed switches), not just APs. This surfaces the gateway <-> switch link (2.5 Gbps) that was on the map but not in the table.\n- Hypervisor cable speed: new fillWiredSpeeds fills wired link speed only when the parent is a directly polled fleet router that measured that port up (same conservative criterion as fillUplinkSpeeds); links behind a distnode or device hub keep an honest dash.\n- Ping parser: ParsePingSummary no longer rounds to integer (sub-ms LAN pings became 0); formatting is the UI's job.\n\n## Verification\n\n- Suite 48/48 incl. new TestFillWiredSpeeds (6 cases) and sub-ms ping case; agent probe suite 10/10; eslint 0; vite build OK.\n- Live preview on the home fleet: legend one row with bottom summary; table shows gateway<->switch at 2.5 Gbps, hypervisors (lan5/lan8) at 2.5 Gbps, WAN ping 7.0 ms, AP pings <1 ms, unprobed units as -.\n\nCloses #1384

…1384)

The legend and the links table under the map sat side by side (5/7
cols). Both are now full width and stacked:

- Legend: its sections (bands, link styles, status, summary) lay out as
  one horizontal row of columns at lg; the mobile bottom sheet keeps
  the stacked layout.
- Links table: new ping column showing the destination unit's probed
  latency. The server already polls router->gateway latency on
  non-gateway units (and WAN latency on the gateway) but only persisted
  it to metrics; the overview now exposes it per router as latencyMs.
  Units without a probe (agent-only/external/SNMP) show -. The WAN row
  moves its latency from the signal column to the ping column.

Closes #1384
…row (#1384)

The links section lays out in two columns and the summary line
(online clients, VPN peers, active links) spans the full card width
at the bottom instead of being a fourth column.
New fillWiredSpeeds mirrors the conservative fillUplinkSpeeds criterion
for kind=wired sem links: speed is asserted only when the parent is a
directly polled fleet router (gateway or beacon-managed switch like the
KP-9000) that measured that EthPort up. Links behind a distnode or a
device hub (hypervisor CTs) keep SpeedMbps=0 so the front prints an
honest dash. Real fleet: switch16->citadel-01 (lan5) and
switch16->beelink-nas (lan8) now carry 2500 Mbps.
…n links table (#1384)

The backhauls loop only listed AP uplinks, so the managed-switch uplink
(Flint2 <-> KP-9000 at 2.5 Gbps) was in the semantics and on the map but
missing from the table; now every non-gateway fleet node (APs + switches)
gets its uplink row. No duplication with the dist loop: the switch shadow
distnode is absorbed server-side (#1374/#1376). The wired-<host> row now
reads the parent-measured sem wired speed (fillWiredSpeeds) before
falling back to the controller-sealed device speedMbps.
The links section spans two grid columns so its six samples lay out
in three columns (wired/wifi | lldp/inferred | hypervisor/ct grid);
the summary row keeps the full width below.
@gnacho
gnacho merged commit a4d7585 into main Oct 12, 2026
2 checks passed
@gnacho
gnacho deleted the fix/1384-bottom-cards branch October 12, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant