fix(connectivity_plus): prevent crash when NetworkManager is unavailable on Linux#3741
Open
Hovirix wants to merge 1 commit intofluttercommunity:mainfrom
Open
fix(connectivity_plus): prevent crash when NetworkManager is unavailable on Linux#3741Hovirix wants to merge 1 commit intofluttercommunity:mainfrom
Hovirix wants to merge 1 commit intofluttercommunity:mainfrom
Conversation
…ble on Linux When NetworkManager is not installed or running on Linux systems, the plugin would crash with an uncaught DBus exception. This affected apps like AppFlowy and others on distributions without NetworkManager or with it disabled. Changes: - Add try-catch blocks to checkConnectivity() and _startListenConnectivity() - Return ConnectivityResult.none when NetworkManager is unavailable - Add explanatory comments about graceful degradation - Add unit tests for NetworkManager unavailable scenarios This ensures the plugin works on all Linux distributions regardless of their network management infrastructure, treating missing NetworkManager as an offline/unknown connectivity state rather than a fatal error. Fixes crashes on NixOS, minimal distributions, and systems with NetworkManager disabled or using alternative network managers (systemd-networkd, ConnMan, etc).
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.
Description
On Linux systems where NetworkManager is not installed or not running,
connectivity_pluscrashes with an uncaught DBus exception during startup.This affects applications such as AppFlowy and any Flutter Linux app running on:
Instead of failing gracefully, the plugin throws an uncaught platform error from DBus
and terminates the app.
What this PR changes
This ensures the plugin works correctly across all Linux distributions,
regardless of their network management infrastructure.
Expected Behavior After This Change
Related Issues
Checklist
Breaking Change
This change only affects error handling and does not modify public APIs or
expected return types.