GNOME Bugzilla – Bug 322266
Last modified: 2018-05-24 10:54:45 UTC
This would mean that Rhythmbox would know when the network is available (the NM
bindings would either say that the network is available, unavailable or not
handled by NM):
- Disable Podcasts downloading and auto-updating
- Disable Internet Radios
- Don't try to load DAAP shares
- Don't load CD metadata
- Hide files on network shares from the library
Marking as enhancement.
Created attachment 72371 [details] [review]
basic interface + podcast changes
This adds a simple wrapper around libnm-glib, emitting a signal when network availability changes. If NM is not running, we consider the network to be available.
It also adds network availability awareness to the podcast code. It won't try to update podcasts while the network is down, and episode downloads will be queued until the network comes back. If the podcast update timer expires while the network is down, the update will be done when the network comes back (hopefully; I didn't test that particularly well).
I don't think we need to do anything for DAAP shares. Avahi will remove DAAP
shares that are no longer reachable when network interfaces disappear.
Would it be possible to just use the D-Bus interface directly to avoid an explicit dependency on libnm? That way if the service is available we use it but if it isn't then we ignore it.
I intend to do that once I've got added network awareness to everything that needs it. Using libnm-glib was just easier for now.
Should we add a random delay between the network availability notification and any attempts at downloading/submitting data? It'd probably suck a bit to have everything on your desktop hit the network at the same time.
It would be great to have this commited. Everytime I resume my machine from standby, there is one error dialog for every podcast source I have in the list that tells me that it couldn't connect to the corresponding server. A bit annoying :-)
*** Bug 428145 has been marked as a duplicate of this bug. ***
I haven't been able to work on this for some time, due to some sad incompatibility between network manager and my wireless nic (bcm43xx). If anyone else could carry on the work, I'd be happy to help out.
I'll add this to my TODO list.
I'm not sure that using DBus directly is a good idea. Using nm-glib shields us from the DBus API changes in NetworkManager, which is probably a good idea these days, especially when NM is able to handle multiple network cards.
*** Bug 546402 has been marked as a duplicate of this bug. ***
Is there an option not depending on NetworkManager? Sometimes I just want to take rhythmbox offline while the rest of system is still online.
Same code paths anyway...
-- GitLab Migration Automatic Message --
This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/93.