From 0cc7ebb83e5a4c48a42ca0f361069d0855c61edb 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) (cherry picked from commit 99df4ca3cd569984314e3c383421411df9674d41) --- 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 f232eec..61a14c3 100644 --- a/internal/app/wireguard/wireguard_interfaces.go +++ b/internal/app/wireguard/wireguard_interfaces.go @@ -217,6 +217,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 {