ViennaRSS / vienna-rss

Vienna is a free and open-source RSS/Atom newsreader for macOS.
https://www.vienna-rss.com
Apache License 2.0
1.85k stars 227 forks source link

Vienna requests access to local network devices in macOS 15 #1817

Open Eitot opened 2 months ago

Eitot commented 2 months ago

When I woke up my MacBook I was greeted with this prompt:

Scherm­afbeelding 2024-09-17 om 14 52 09

Vienna was running in the background. This is what the message would look like in English:

Scherm­afbeelding 2024-09-17 om 15 24 16

Apple added this prompt in macOS 15 (https://developer.apple.com/wwdc24/10123) and it is caused by system API that request any of these permissions:

Scherm­afbeelding 2024-09-17 om 15 27 11

I suspect that the NSHost class and maybe SCNetworkReachability functions are involved, e.g. https://github.com/ViennaRSS/vienna-rss/blob/c307127f8fcb31da3fac64d613afeb8948836a2c/Vienna/Sources/Fetching/RefreshManager.m#L171-L182

Eitot commented 2 weeks ago

@barijaona I was looking into this a bit more and checked out the above-mentioned use of NSHost. I checked the result of address numerous times and it seems to always return the address 127.0.0.1 on my MacBook, regardless whether I am connected to my local router via Wi-Fi, connected to my iPhone via LTE (hotspot) or connected to a VPN. Vienna stores the value of address and compares it to the current value when the computer wakes from sleep, but I am not sure what result is expected here.

Is this working as intended?

NSHost has also been declared deprecated (since the macOS 12 SDK it seems). I wonder if the Network framework and specifically nw_path_monitor_* might a substitute to listen for network changes more effectively.