Stabilize ephemeral connections in the face of new BSSIDs.
Currently we only check whether the most recently seen BSSID has a
score before deciding to disconnect an ephemeral network. This causes
unnecessary flapping - if multiple BSSIDs are in visible range, and
the scorer likes one of them but has no score for the other (or is
still looking up the score), we will drop the connection.
Instead, as long as we've recently seen a scored BSSID (in the last
minute), we keep the connection alive.
A scorer can still initiate an immediate disconnect from an unwanted
network by nulling scores for all BSSIDs.
The timeout (and whether we use this new behavior at all) is
controlled by a Settings.Global flag.
2 files changed