···248248 // A Radicle Explorer URL's host is always the shared frontend
249249 // (e.g. radicle.cyberwild.org) — the actual node lives in the path,
250250 // /nodes/<node-host>/<rid>/... — so different Radicle nodes get
251251- // distinct labels instead of collapsing into one "radicle.cyberwild".
251251+ // distinct labels instead of collapsing into one shared one.
252252 if segs := strings.Split(strings.TrimPrefix(u.Path, "/"), "/"); len(segs) >= 2 && segs[0] == "nodes" {
253253 host = segs[1]
254254 }
255255- parts := strings.Split(host, ".")
256256- if len(parts) > 1 {
257257- parts = parts[:len(parts)-1]
258258- }
259259- return strings.Join(parts, ".")
255255+ return host
260256}
261257262258// buildSeriesRows groups entries by their Series (one row per monitored