feat(web): merge network quality detail into server detail tabs#158
Merged
Conversation
Move the server detail tab bar to the top of the page and sink the cost/traffic/uptime overview blocks into the metrics tab. Add a Network tab hosting the full network quality experience (latency chart, targets, anomalies, traceroute, target management, CSV export) extracted from the standalone /network/$serverId page, which now redirects to the tab with its hour-based range mapped to metrics-style keys. The tab shares the server detail range search param so the window carries across tabs. In-flight traceroute state (request id, latest full-state stream frame, selection) is hoisted into a per-server zustand store so switching tabs resumes the live progress view. Public status pages integrate the same way: the public server detail gains a redacted Network tab gated on show_network, and the standalone /status/network/$serverId redirects into it when show_server_detail is enabled, remaining as a fallback for network-only status pages (see docs/adr/0001).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/network/$serverIdpage./network/$serverIdnow redirects to/servers/$id?tab=network, mapping the legacy hour-basedrangevalues (1/6/24/168/720) to metrics-style keys (1h/…/30d). Network overview cards deep-link to the tab.rangesearch param, so the selected time window carries across tabs (e.g. spot an anomaly in Metrics at 7d, switch to Network still at 7d).traceroute_updateWS frame carries the full hop state, so resume needs no reconnect logic.Public status pages
show_networktoggle, with a?tab=search param for deep links./status/network/$serverIdredirects into the tab whenshow_server_detailis enabled, and keeps rendering standalone as a fallback for status pages configured withshow_server_detail=false+show_network=true— both config toggles keep their existing semantics. Rationale recorded indocs/adr/0001-network-detail-as-server-tab.md.Testing
bun run typecheck,bun x ultracite check, andbun run test(668 tests) all pass.