Dont go unregistered when low power mode

Former-commit-id: 0938564038
This commit is contained in:
Owen
2026-01-31 16:58:05 -08:00
parent 7fc3c7088e
commit 4a25a0d413
3 changed files with 7 additions and 10 deletions

View File

@@ -36,7 +36,7 @@ func (o *Olm) handleConnect(msg websocket.WSMessage) {
var wgData WgData
if o.connected {
if o.registered {
logger.Info("Already connected. Ignoring new connection request.")
return
}
@@ -208,7 +208,7 @@ func (o *Olm) handleConnect(msg websocket.WSMessage) {
o.apiServer.SetRegistered(true)
o.connected = true
o.registered = true
// Start ping monitor now that we are registered and connected
o.websocket.StartPingMonitor()

View File

@@ -157,7 +157,7 @@ func (o *Olm) handleWgPeerUpdateData(msg websocket.WSMessage) {
func (o *Olm) handleSync(msg websocket.WSMessage) {
logger.Debug("Received sync message: %v", msg.Data)
if !o.connected {
if !o.registered {
logger.Warn("Not connected, ignoring sync request")
return
}

View File

@@ -32,7 +32,7 @@ type Olm struct {
privateKey wgtypes.Key
logFile *os.File
connected bool
registered bool
tunnelRunning bool
uapiListener net.Listener
@@ -386,10 +386,10 @@ func (o *Olm) StartTunnel(config TunnelConfig) {
o.apiServer.SetConnectionStatus(true)
if o.connected {
if o.registered {
o.websocket.StartPingMonitor()
logger.Debug("Already connected, skipping registration")
logger.Debug("Already registered, skipping registration")
return nil
}
@@ -615,7 +615,7 @@ func (o *Olm) StopTunnel() error {
}
// Reset the running state BEFORE cleanup to prevent callbacks from accessing nil pointers
o.connected = false
o.registered = false
o.tunnelRunning = false
// Cancel the tunnel context if it exists
@@ -739,9 +739,6 @@ func (o *Olm) SetPowerMode(mode string) error {
logger.Info("Switching to low power mode")
// Mark as disconnected so we re-register on reconnect
o.connected = false
// Update API server connection status
if o.apiServer != nil {
o.apiServer.SetConnectionStatus(false)