diff --git a/src/shared/versions.js b/src/shared/versions.js index 39f5443..305702d 100644 --- a/src/shared/versions.js +++ b/src/shared/versions.js @@ -1,6 +1,6 @@ export const HARBOR_VERSIONS = Object.freeze({ - macClient: '0.17.3', - gatewayClient: '0.18.3', + macClient: '0.17.5', + gatewayClient: '0.18.5', gatewayBackend: '0.18.0', }); diff --git a/src/web/components/ClientOverviewPage.jsx b/src/web/components/ClientOverviewPage.jsx index 16abec8..e929a92 100644 --- a/src/web/components/ClientOverviewPage.jsx +++ b/src/web/components/ClientOverviewPage.jsx @@ -627,7 +627,7 @@ export function ClientOverviewPage({ } }); const [editingSubscription, setEditingSubscription] = useState(!state?.hasSubscription); - const [showIntro, setShowIntro] = useState(!hasSubscription); + const [showIntro, setShowIntro] = useState(true); const [subscriptionContentReady, setSubscriptionContentReady] = useState(hasSubscription); const [copyFeedback, setCopyFeedback] = useState(null); const [subscriptionValidation, setSubscriptionValidation] = useState({ @@ -1113,7 +1113,7 @@ export function ClientOverviewPage({ return (
diff --git a/src/web/components/DevicesPanel.jsx b/src/web/components/DevicesPanel.jsx index 5ced2cc..7ec4075 100644 --- a/src/web/components/DevicesPanel.jsx +++ b/src/web/components/DevicesPanel.jsx @@ -16,6 +16,8 @@ const AUTO_REFRESH_MS = 15_000; const DEVICE_MOVE_MS = 520; const COPY_FEEDBACK_MS = 800; const TRAFFIC_DELTA_MS = 2_200; +const TRAFFIC_CHART_HEADROOM = 10; +const trafficChartY = (ratio) => 100 - ratio * (100 - TRAFFIC_CHART_HEADROOM); function Tooltip({ children }) { return {children}; @@ -62,8 +64,8 @@ function TrafficChart({ samples, scale, capacity, routeLabel, pinned }) { x: (firstSlot + index) * 100 / Math.max(1, capacity - 1), gateway, proxy, - gatewayY: 100 - trafficScaleRatio(gateway, max, scale) * 100, - proxyY: 100 - trafficScaleRatio(proxy, max, scale) * 100, + gatewayY: trafficChartY(trafficScaleRatio(gateway, max, scale)), + proxyY: trafficChartY(trafficScaleRatio(proxy, max, scale)), }; }); const previous = points.slice(0, -1); @@ -108,7 +110,15 @@ function TrafficChart({ samples, scale, capacity, routeLabel, pinned }) { document.body, ); - return + return {pinned && max > 0n &&