Not long ago we started using snap packages for our Airtame desktop application (https://snapcraft.io/airtame-application/listing).
One of the key features of the Airtame desktop application is the possibility of setting up a new Airtame device (https://airtame.com/). This is done using the node-wifi module (https://github.com/friedrith/node-wifi) and it works as follows:
- the Airtame application periodically scans for new wifi networks.
- if a network matching a certain SSID name is discovered (airtame-oob-someextrastuff) we display it as un-configured device and let the user set it up.
- the setup consists in the application switching to the device networks, sending user settings and then resetting the network back to previews state.
All this is done using the node-wifi module mentioned above which depends on nmcli. My understanding from this thread (Access nmcli command from network-manager via interface) is that a user will have to manually connect to the network manager interface which is a big UX blocker for us and therefore we request the approval of classic confinement.