fix(Android): support local network access on Android 16+ - #1083
Open
aviadlevy wants to merge 1 commit into
Open
fix(Android): support local network access on Android 16+#1083aviadlevy wants to merge 1 commit into
aviadlevy wants to merge 1 commit into
Conversation
Android 16 gates access to local network addresses behind the ACCESS_LOCAL_NETWORK runtime permission for apps targeting SDK 36+. Fladder never declared it, so the platform silently dropped every connection to a Jellyfin server on the user's own network. Nothing was logged and no error surfaced; the request simply went nowhere and timed out. The local URL indicator stayed red and the app fell back to the remote URL, reporting Offline even though the server was reachable from any browser on the same network. Declare the permission and request it where it is needed: when a local URL is saved, and on startup when one is already configured. Android only prompts once, so after a denial the profile settings page shows a warning that opens the app's system settings page and re-checks the permission on resume. Also make the local server probe tolerate a slow first connection. It is re-run once access is granted instead of latching on the result of a probe that ran while traffic was still blocked, and its timeout is raised from 1s to 3s, which a cold Wi-Fi handshake can exceed.
aviadlevy
force-pushed
the
fix/android-local-network-access
branch
from
August 10, 2026 10:31
8a3bcd2 to
370c2af
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
Adds support for Android 16's Local Network Protection, which requires apps to explicitly declare and request the
ACCESS_LOCAL_NETWORKpermission before they can talk to devices on the local network. Fladder never declared it, so on Android 16+ the system quietly blocked every connection to a Jellyfin server on the user's own network.Changes:
android.permission.ACCESS_LOCAL_NETWORKin the manifest. Older Android versions don't know the permission and ignore it, so nothing changes there.The platform side is a small Pigeon host API (
pigeons/local_network_access.dart), matching the existingbattery_optimizationsetup.AI assistance
Root-cause investigation and the patch were done with Claude Code; diagnosis, fix design, and on-device validation were human-reviewed and -owned.
Issue Being Fixed
On Android 16+ devices, Fladder cannot reach a Jellyfin server on the local network. The "Local Jellyfin URL" indicator stays red and the app reports Offline, even though the server is reachable from every other device and browser on the same LAN.
Tested On
Checklist