discover

actual fun discover(): Flow<LanHost>

ponytail: @SuppressLint("MissingPermission") is kept, but it is NOT a statement that no permission is needed — NSD discovery has always wanted INTERNET plus (historically) CHANGE_WIFI_MULTICAST_STATE, and Android 17 (API 37) introduces ACCESS_LOCAL_NETWORK as a runtime permission gating mDNS/DNS-SD outright. The suppression exists because this is a library module with no manifest of its own; the consuming app declares and requests. Left in place so the module still lints clean, documented here so the next reader does not mistake it for "no permission required" — which is exactly what it would have meant on API 37.

expect fun discover(): Flow<LanHost>
actual fun discover(): Flow<LanHost>
actual fun discover(): Flow<LanHost>
actual fun discover(): Flow<LanHost>