feat(wireguard): QR-Modal nach Peer-Erstellung automatisch öffnen
Wenn beim Anlegen eines neuen Peers ein Schlüsselpaar server-seitig generiert wurde (has_private_key=true), öffnet sich das QR-Modal direkt nach dem Speichern — kein manuelles Klicken nötig. Außerdem: version-Fallback-Strings in allen drei Binaries auf 1.1.80 synct. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -60,7 +60,7 @@ import (
|
|||||||
usersvc "git.netcell-it.de/projekte/edgeguard-native/internal/services/users"
|
usersvc "git.netcell-it.de/projekte/edgeguard-native/internal/services/users"
|
||||||
)
|
)
|
||||||
|
|
||||||
var version = "1.1.79"
|
var version = "1.1.80"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
addr := os.Getenv("EDGEGUARD_API_ADDR")
|
addr := os.Getenv("EDGEGUARD_API_ADDR")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
"git.netcell-it.de/projekte/edgeguard-native/internal/services/setup"
|
"git.netcell-it.de/projekte/edgeguard-native/internal/services/setup"
|
||||||
)
|
)
|
||||||
|
|
||||||
var version = "1.1.79"
|
var version = "1.1.80"
|
||||||
|
|
||||||
const usage = `edgeguard-ctl — EdgeGuard CLI
|
const usage = `edgeguard-ctl — EdgeGuard CLI
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import (
|
|||||||
"git.netcell-it.de/projekte/edgeguard-native/internal/services/tlscerts"
|
"git.netcell-it.de/projekte/edgeguard-native/internal/services/tlscerts"
|
||||||
)
|
)
|
||||||
|
|
||||||
var version = "1.1.79"
|
var version = "1.1.80"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// renewTickInterval — how often we re-evaluate expiring certs.
|
// renewTickInterval — how often we re-evaluate expiring certs.
|
||||||
|
|||||||
@@ -360,10 +360,17 @@ function PeerDrawer({ iface, onClose }: PeerDrawerProps) {
|
|||||||
if (editing) return (await apiClient.put(`/wireguard/peers/${editing.id}`, v)).data
|
if (editing) return (await apiClient.put(`/wireguard/peers/${editing.id}`, v)).data
|
||||||
return (await apiClient.post(`/wireguard/interfaces/${ifaceID}/peers`, v)).data
|
return (await apiClient.post(`/wireguard/interfaces/${ifaceID}/peers`, v)).data
|
||||||
},
|
},
|
||||||
onSuccess: () => {
|
onSuccess: (envelope, _, ctx) => {
|
||||||
|
void ctx
|
||||||
message.success(t('common.save'))
|
message.success(t('common.save'))
|
||||||
|
const wasCreating = !editing
|
||||||
setEditing(null); setCreating(false); form.resetFields()
|
setEditing(null); setCreating(false); form.resetFields()
|
||||||
void qc.invalidateQueries({ queryKey: ['wg', 'peers', ifaceID] })
|
void qc.invalidateQueries({ queryKey: ['wg', 'peers', ifaceID] })
|
||||||
|
// Auto-open QR when we just created a peer with a generated keypair.
|
||||||
|
if (wasCreating && isEnvelope(envelope)) {
|
||||||
|
const peer = envelope.data as WGPeer
|
||||||
|
if (peer?.has_private_key) setQrPeer(peer)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onError: (e: Error) => message.error(e.message),
|
onError: (e: Error) => message.error(e.message),
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user