NM applet doesn't show all available Wi-Fi profiles in case of set BSSID properties
Consider this case: a Wi-Fi profile called network_any is available for connecting to a multiple-AP Wi-Fi network, with no BSSID property set and thus allowing roaming between all available access points with the given SSID. If an user, for example, also configures additional profiles preventing roaming (let's say they are called network_indoor and network_outdoor), with the BSSID property set, the NM applet does not show all of the available profiles when it should. This ticket describes cases when user is not able to select a certain profile and when the currently-selected profile is not displayed (properly).
In the first case, when Wi-Fi not connected, NM applet only shows two available profiles out of three (with both APs being in range of course) in a two-element submenu - the network_any one and randomly one of the other two. The other (third) one is not shown and is not selectable.
After connecting via the network_any profile, the story remains similar. NM applet again only shows two profiles - network_any and also the one with the same BSSID as the current AP (let's say it is a network_indoor one). When roaming to the other AP, the second displayed profile changes accordingly. This is a very useful hacky way to check the current AP in the GUI and it makes sense that these two profiles are displayed together in a sub-menu. However:
There is no indication that network_any is the currently-selected profile. SSID in the network list is bolded, but the selected profile in the two-item submenu is not. At first I propose this small visual change for a more informative UI.
Again only the first two profiles are displayed in the SSID-submenu (network_any and network_indoor) and there is no way to select the network_outdoor profile.
If user then reconnects via the network_indoor profile for example, the story is similar for the third time. The only difference is that this time the output is predictable. The displayed profiles in the submenu are network_any and the selected one (network_indoor), but the two main shortcomings described above still apply. It is not clear which Wi-Fi profile specifically is the selected one and there is again no way to connect to network_outdoor from the GUI.
Even in the case of only having the network_indoor and network_outdoor profiles configured (without network_any), NM applet's behavior is not consistent. In this case, no specific profile can be selected at all. Only the SSID is displayed in the list and the user is not able to select one or the other profile even after blindly connecting to one of them via the SSID menu entry. It is unclear as to which profile is the "selected" one in this case.
I verified that both APs were seen during these tests with nmcli. NM version 1.26.0 was used. An obvious GUI-side solution to everything is to extend the two-item submenu to an N-item one containing all the relevant profiles (and also boldfacing the currently-selected one for clear indication).