From 99df4ca3cd569984314e3c383421411df9674d41 Mon Sep 17 00:00:00 2001 From: h44z Date: Tue, 12 Aug 2025 21:47:04 +0200 Subject: [PATCH] ensure hooks run after restart (#494) (#497) --- 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 {