Skip to content

disconnect paths silently swallow errors #351

@cachebag

Description

@cachebag

several disconnect/deactivation paths discard errors and return Ok(()), making it impossible for callers to know if the operation actually succeeded.

disconnect_vpncore/vpn.rs:282-286:

if deactivate_connection fails, it logs a warning and returns Ok(()). caller thinks vpn disconnected when it may not have.

bluetooth disconnectcore/bluetooth.rs:226-227:

let _ = raw.call_method("Disconnect", &()).await;

dbus error from Disconnect is fully discarded.

ensure_disconnectedcore/connection.rs:535-558:

deactivates all active connections (including vpn, wired — not just wifi) when switching wifi, and swallows per-connection deactivation failures with warn!. this is also overbroad — it tears down non-wifi connections as a side effect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bluetoothBluetooth device/adapter managementbugSomething isn't workingnmrsChanges to nmrsvpnChanges to VPN surface

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions