fix(wireguard): сохранять меню действий при перерисовке

This commit is contained in:
Denozordec committed 2026-10-08 22:32:57 +07:00
1 parent 4c4ba02b44
commit 6a46fb1e40
13 files changed
+466 -85

No files matched your search

@@ -0,0 +1,16 @@
{
"date": "2026-10-08",
"before": {
"servers": 2,
"speedHistory": 9,
"retentionDays": 14,
"migrations": 9
},
"after": {
"servers": 2,
"speedHistory": 9,
"retentionDays": 14,
"migrations": 9
},
"unchanged": true
}
@@ -0,0 +1,36 @@
{
"date": "2026-10-08",
"names": [
"mm-acceptance-wg-ui-1791472667527",
"mm-acceptance-wg-ui-1791472879650"
],
"results": [
{
"serverId": 1,
"ownInterfaces": 0,
"ownPeers": 0,
"ownAddresses": 0,
"ownRoutes": 0,
"totalInterfaces": 0,
"totalPeers": 0,
"totalAddresses": 1,
"totalRoutes": 4
},
{
"serverId": 2,
"ownInterfaces": 0,
"ownPeers": 0,
"ownAddresses": 0,
"ownRoutes": 0,
"totalInterfaces": 0,
"totalPeers": 0,
"totalAddresses": 2,
"totalRoutes": 5
}
],
"keysOmitted": true,
"limits": [
"Independent final absence check; original baseline of second attempt lost after observer exit",
"First attempt full selected baseline was verified"
]
}
@@ -0,0 +1,199 @@
{
"date": "2026-10-08",
"backendSource": "3722fad",
"frontendSource": "3722fad",
"name": "mm-acceptance-wg-ui-1791472667527",
"listenPort": 51879,
"subnet": "198.18.255.240/30",
"realRouterOs": true,
"pings": [
{
"round": 1,
"results": [
{
"serverId": 1,
"received": 3,
"summary": {
"sent": "3",
"received": "3",
"packet-loss": "0",
"avg-rtt": "55ms80us"
}
},
{
"serverId": 2,
"received": 3,
"summary": {
"sent": "3",
"received": "3",
"packet-loss": "0",
"avg-rtt": "55ms40us"
}
}
],
"passed": true
}
],
"cleanup": [
{
"serverId": 1,
"/interface/wireguard": true,
"/interface/wireguard/peers": true,
"/ip/address": true,
"/ip/route": true,
"/ip/firewall/filter": true,
"/ip/firewall/nat": true,
"/ip/firewall/mangle": true
},
{
"serverId": 2,
"/interface/wireguard": true,
"/interface/wireguard/peers": true,
"/ip/address": true,
"/ip/route": true,
"/ip/firewall/filter": true,
"/ip/firewall/nat": true,
"/ip/firewall/mangle": true
}
],
"uiCreatesOnly": true,
"nativePeerAssociationConfirmed": true,
"connectedState": [
{
"serverId": 1,
"host": "194.226.121.150",
"expectedAddress": "198.18.255.241/30",
"interface": {
"rosId": "*9",
"appId": "1:*9",
"name": "mm-acceptance-wg-ui-1791472667527",
"listenPort": "51879",
"mtu": "1420",
"disabled": "false",
"running": "true",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"keyGenerated": true
},
"addresses": [
"198.18.255.241/30"
],
"peers": [
{
"rosId": "*5",
"allowedAddresses": "198.18.255.242/32",
"endpoint": "104.165.244.7:51879",
"keepalive": "5s",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"disabled": "false",
"handshake": "2s",
"rx": "756",
"tx": "848"
}
]
},
{
"serverId": 2,
"host": "104.165.244.7",
"expectedAddress": "198.18.255.242/30",
"interface": {
"rosId": "*5",
"appId": "2:*5",
"name": "mm-acceptance-wg-ui-1791472667527",
"listenPort": "51879",
"mtu": "1420",
"disabled": "false",
"running": "true",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"keyGenerated": true
},
"addresses": [
"198.18.255.242/30"
],
"peers": [
{
"rosId": "*3",
"allowedAddresses": "198.18.255.241/32",
"endpoint": "194.226.121.150:51879",
"keepalive": "5s",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"disabled": "false",
"handshake": "2s",
"rx": "700",
"tx": "756"
}
]
}
],
"afterBrowser": [
{
"serverId": 1,
"host": "194.226.121.150",
"expectedAddress": "198.18.255.241/30",
"interface": {
"rosId": "*9",
"appId": "1:*9",
"name": "mm-acceptance-wg-ui-1791472667527",
"listenPort": "51879",
"mtu": "1420",
"disabled": "false",
"running": "true",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"keyGenerated": true
},
"addresses": [
"198.18.255.241/30"
],
"peers": [
{
"rosId": "*5",
"allowedAddresses": "198.18.255.242/32",
"endpoint": "104.165.244.7:51879",
"keepalive": "5s",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"disabled": "false",
"handshake": "1m54s",
"rx": "1552",
"tx": "1028"
}
]
},
{
"serverId": 2,
"host": "104.165.244.7",
"expectedAddress": "198.18.255.242/30",
"interface": {
"rosId": "*5",
"appId": "2:*5",
"name": "mm-acceptance-wg-ui-1791472667527",
"listenPort": "51879",
"mtu": "1420",
"disabled": "false",
"running": "true",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"keyGenerated": true
},
"addresses": [
"198.18.255.242/30"
],
"peers": [
{
"rosId": "*3",
"allowedAddresses": "198.18.255.241/32",
"endpoint": "194.226.121.150:51879",
"keepalive": "5s",
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791472667527",
"disabled": "false",
"handshake": "1m54s",
"rx": "880",
"tx": "1552"
}
]
}
],
"limits": [
"Only own WireGuard resources; no default route or firewall changes",
"Public keys transferred to browser only in memory; no keys persisted in report",
"Short handshake/ICMP, not throughput or failure/RBAC acceptance",
"WireGuard revision audit retained"
]
}
@@ -0,0 +1,19 @@
{
"date": "2026-10-08",
"name": "mm-acceptance-wg-ui-1791472879650",
"results": [
{
"serverId": "1",
"status": 200
},
{
"serverId": "2",
"status": 200
}
],
"applicationCatalogAbsent": true,
"limits": [
"Cleanup recovered after transient observer 401; separate native reads verify no own remnants",
"Only exact name/ownership comment fixtures deleted"
]
}
@@ -0,0 +1,17 @@
{
"date": "2026-10-08",
"name": "mm-acceptance-wg-ui-1791472879650",
"observerError": {
"status": 401,
"path": "/interface/wireguard",
"stage": "final native read before cleanup"
},
"cleanupSkippedByObserver": true,
"recoveredViaApplicationDelete": true,
"finalNativeOwnObjectsAbsent": true,
"limits": [
"Cause of transient 401 not established; later app/native reads succeeded",
"Passwords were not changed",
"Second in-memory baseline was lost; no claim of exact second baseline equality"
]
}