Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Connectivity plus returns only ConnectivityResult.ethernet even when device is connected via LAN and WiFi #3073

Open
8 tasks done
Vera-Spoettl opened this issue Jul 3, 2024 · 3 comments
Labels
connectivity_plus Connectivity Plus enhancement New feature or request ios macos

Comments

@Vera-Spoettl
Copy link

Platform

MacOS 14.4.1

Plugin

connectivity_plus

Version

6.0.3

Flutter SDK

Flutter 3.22.0 • channel stable

Steps to reproduce

Run https://github.com/fluttercommunity/plus_plugins/blob/main/packages/connectivity_plus/connectivity_plus/example/lib/main.dart

Even while my Mac is connected to ethernet and Wifi, only the ethernet connection is shown. As a list of ConnectivityResult is returned,

Code Sample

Example app from repo.
https://github.com/fluttercommunity/plus_plugins/blob/main/packages/connectivity_plus/connectivity_plus/example/lib/main.dart

Logs

flutter: Connectivity changed: [ConnectivityResult.ethernet]
flutter: Connectivity changed: [ConnectivityResult.none]
flutter: Connectivity changed: [ConnectivityResult.ethernet]

after disconnecting from lan network
flutter: Connectivity changed: [ConnectivityResult.none]
flutter: Connectivity changed: [ConnectivityResult.wifi]

plugging in to lan again
flutter: Connectivity changed: [ConnectivityResult.ethernet]

Flutter Doctor

[✓] Flutter (Channel stable, 3.22.0, on macOS 14.4.1 23E224 darwin-arm64, locale de-DE)
    • Flutter version 3.22.0 on channel stable at /Users/vsz/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (8 weeks ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/vsz/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15F31d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.90.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.90.0

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 126.0.6478.127
    ! Error: Browsing on the local area network for iPad von Vera. Ensure the device is unlocked and attached with a cable or
      associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Checklist before submitting a bug

  • I searched issues in this repository and couldn't find such bug/problem
  • I Google'd a solution and I couldn't find it
  • I searched on StackOverflow for a solution and I couldn't find it
  • I read the README.md file of the plugin
  • I'm using the latest version of the plugin
  • All dependencies are up to date with flutter pub upgrade
  • I did a flutter clean
  • I tried running the example project
@Vera-Spoettl Vera-Spoettl added bug Something isn't working triage labels Jul 3, 2024
@miquelbeltran
Copy link
Member

Hi @Vera-Spoettl

The plugin exposes the interface used in the connections using NWPathMonitor method usesInterfaceType, documented here: https://developer.apple.com/documentation/network/nwpath/2998729-usesinterfacetype

I expect that it will only report on the actual connection used (in this case ethernet) rather than on all the available connections.

If listing all the available interfaces is a use case you need, you would have to use instead availableInterfaces, which I think would list them all: https://developer.apple.com/documentation/network/nwpath/2998720-availableinterfaces

Adding this is not on our plans, but we could make this a feature request, or you are also welcome to submit a PR with an idea for it.

@miquelbeltran miquelbeltran added enhancement New feature or request connectivity_plus Connectivity Plus ios macos and removed bug Something isn't working triage labels Jul 5, 2024
@vbuberen
Copy link
Collaborator

vbuberen commented Jul 8, 2024

Adding this is not on our plans

In fact I wanted to take a look at it as have an adapter to connect Ethernet to USB-C in MacBook. Also did this research for available API features and curios about how availableInterfaces would work here.

@vbuberen
Copy link
Collaborator

Recently I wanted to complete my PR with adding a new API to get all available types as it was suggested in the review, but had a second thought on the reasoning to expand the API this way. It doesn't make much sense to have all these types listed as the OS uses only one for network activity anyway.

@Vera-Spoettl Would you mind sharing use cases when having all types listed is beneficial?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
connectivity_plus Connectivity Plus enhancement New feature or request ios macos
Projects
None yet
3 participants