Update VPN client and gateway behavior
Build and Deploy Gateway / build-and-push (push) Successful in 19s
Build and Deploy Gateway / deploy (push) Successful in 6s

This commit is contained in:
2026-08-11 08:50:44 +03:00
parent 396c5d1917
commit 79ffff194f
35 changed files with 1036 additions and 590 deletions
+38 -28
View File
@@ -75,7 +75,6 @@
.client-diagnostics-refresh-wrap > .client-tooltip {
right: 0;
left: auto;
text-transform: none;
transform: translate(0, 2px);
}
@@ -96,8 +95,9 @@
align-items: center;
gap: 12px;
color: oklch(0.68 0.15 28);
font-size: 9px;
line-height: 1.5;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
}
.client-diagnostics-error button {
@@ -105,7 +105,7 @@
border: 0;
background: transparent;
color: inherit;
font-weight: 700;
font-weight: var(--font-weight-bold);
cursor: pointer;
}
@@ -122,10 +122,9 @@
justify-content: space-between;
gap: 14px;
color: var(--client-muted);
font-size: 9px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
}
.client-diagnostics-section-title button {
@@ -133,7 +132,9 @@
border: 0;
background: transparent;
color: var(--client-accent);
font: 700 9px/1.2 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
cursor: pointer;
}
@@ -173,10 +174,9 @@
padding-top: 2px;
padding-bottom: 7px;
color: var(--client-muted);
font-size: 8px;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
}
.client-diagnostics-table tbody tr {
@@ -219,8 +219,9 @@
.client-diagnostics-table tbody th {
color: var(--client-text);
font-size: 9px;
font-weight: 600;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
transition: color 420ms ease, text-shadow 520ms ease;
}
@@ -239,10 +240,9 @@
.client-diagnostics-service-header {
padding: 2px 0 7px;
color: var(--client-muted);
font-size: 8px;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
}
.client-diagnostics-service-header > span,
@@ -257,12 +257,12 @@
isolation: isolate;
min-height: 37px;
border-top: 1px solid color-mix(in oklch, var(--client-border) 48%, transparent);
animation: client-local-rule-enter 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
animation: client-row-enter 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
.client-diagnostics-service-row.is-removing {
pointer-events: none;
animation: client-local-rule-leave 820ms cubic-bezier(0.7, 0, 0.84, 0) both;
animation: client-row-leave 820ms cubic-bezier(0.7, 0, 0.84, 0) both;
}
.client-diagnostics-service-row.is-running .client-diagnostics-service-name {
@@ -273,8 +273,9 @@
.client-diagnostics-service-name {
overflow-wrap: anywhere;
color: var(--client-text);
font-size: 9px;
font-weight: 600;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
transition: color 420ms ease, text-shadow 520ms ease;
}
@@ -284,7 +285,10 @@
max-width: 100%;
overflow-wrap: anywhere;
color: var(--client-text);
font: 600 9px/1.4 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
font-variant-numeric: var(--numeric-tabular);
}
.client-diagnostics-status.is-good {
@@ -338,7 +342,9 @@
outline: 0;
background: transparent;
color: var(--client-text);
font: 500 9px/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
box-shadow: 0 1px 0 transparent;
transition: box-shadow 300ms ease, text-shadow 300ms ease;
}
@@ -369,7 +375,9 @@
border: 0;
background: transparent;
color: var(--client-accent);
font: 700 8px/1.2 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
font: var(--type-control);
letter-spacing: var(--type-control-tracking);
text-transform: var(--type-control-transform);
cursor: pointer;
transition: filter 260ms ease, text-shadow 300ms ease;
}
@@ -384,7 +392,9 @@
.client-diagnostics-services-empty {
padding: 14px 8px 4px;
color: var(--client-muted);
font-size: 9px;
font: var(--type-label);
letter-spacing: var(--type-label-tracking);
text-transform: var(--type-label-transform);
}
.client-diagnostics-add-slot {
@@ -420,7 +430,7 @@
grid-row: 2;
}
.client-diagnostics-service-draft > .client-local-rule-delete {
.client-diagnostics-service-draft > .client-row-delete {
grid-column: 2;
grid-row: 1 / 3;
width: 44px;