From 4a5ebd41f343ccf9a668bdc8ccff0bbc2a3905f0 Mon Sep 17 00:00:00 2001 From: Owen Date: Mon, 19 Jan 2026 15:57:20 -0800 Subject: [PATCH] Dont start holepunching if we rebind while in low power mode --- olm/olm.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/olm/olm.go b/olm/olm.go index ec0b6dc..fb528f9 100644 --- a/olm/olm.go +++ b/olm/olm.go @@ -827,11 +827,18 @@ func (o *Olm) RebindSocket() error { logger.Info("Successfully rebound UDP socket on port %d", newPort) - // Trigger a hole punch to re-establish NAT mappings with the new socket - if o.holePunchManager != nil { + // Check if we're in low power mode before triggering hole punch + o.powerModeMu.Lock() + isLowPower := o.currentPowerMode == "low" + o.powerModeMu.Unlock() + + // Only trigger hole punch if not in low power mode + if !isLowPower && o.holePunchManager != nil { o.holePunchManager.TriggerHolePunch() o.holePunchManager.ResetServerHolepunchInterval() logger.Info("Triggered hole punch after socket rebind") + } else if isLowPower { + logger.Info("Skipping hole punch trigger due to low power mode") } return nil