From 5d190988f303c4f3705c320aa37b1e8e33f116cd Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Mon, 11 Aug 2025 21:32:27 +0200 Subject: [PATCH] ensure hooks run after restart (#494) --- internal/app/wireguard/wireguard_interfaces.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/app/wireguard/wireguard_interfaces.go b/internal/app/wireguard/wireguard_interfaces.go index 22b6658..1a09822 100644 --- a/internal/app/wireguard/wireguard_interfaces.go +++ b/internal/app/wireguard/wireguard_interfaces.go @@ -225,6 +225,15 @@ func (m Manager) RestoreInterfaceState( if err != nil && !iface.IsDisabled() { slog.Debug("creating missing interface", "interface", iface.Identifier) + // temporarily disable interface in database so that the current state is reflected correctly + _ = m.db.SaveInterface(ctx, iface.Identifier, + func(in *domain.Interface) (*domain.Interface, error) { + now := time.Now() + in.Disabled = &now // set + in.DisabledReason = domain.DisabledReasonInterfaceMissing + return in, nil + }) + // try to create a new interface _, err = m.saveInterface(ctx, &iface) if err != nil {