system/ui: prevent duplicate WiFi connections when retrying with new password (#35174)

Prevent duplicate WiFi connections when retrying with new password
dtr-driving
Dean Lee 2 weeks ago committed by GitHub
parent 7147c26954
commit eaa595958c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 14
      system/ui/lib/wifi_manager.py

@ -136,7 +136,10 @@ class WifiManager:
await nm_iface.call_delete()
if self._current_connection_ssid == ssid:
self._current_connection_ssid = None
if ssid in self.saved_connections:
del self.saved_connections[ssid]
return True
except DBusError as e:
cloudlog.error(f"Failed to delete connection for SSID: {ssid}. Error: {e}")
@ -158,6 +161,17 @@ class WifiManager:
"""Connect to a selected Wi-Fi network."""
try:
self._current_connection_ssid = ssid
if ssid in self.saved_connections:
# Forget old connection if new password provided
if password:
await self.forget_connection(ssid)
await asyncio.sleep(0.2) # NetworkManager delay
else:
# Just activate existing connection
await self.activate_connection(ssid)
return
connection = {
'connection': {
'type': Variant('s', '802-11-wireless'),

Loading…
Cancel
Save