NetIP doesn't fully reload an Interface speed/status that changed

Mandatory information

  • NetIP Version: v0.2.0
  • Operating System Version: Windows 10

Summary

NetIP doesn’t fully reload an Interface speed/status that changed while NetIP is running. This does not affect Interfaces which are enabled/disabled while NetIP is running (like a VPN).

Steps to reproduce

  1. Disconnect an Interface (such as a Wifi card), but keep it enabled.
  2. Launch NetIP, which detect the interface as Down
  3. Connect the card to a network
  4. Reload NetIP

Expected result

NetIP should display the updated status and speed of the interface.

Current result

The local IP and background color of the speed does update, but the icon and speed are not updated as they should.

Relevant logs and/or screenshots

image

Additional context

N/A

Possible fixes

This could be related to incorrect usage of Xaml Bindings to the NetInterface objects themselves with IValueConverter, which seems to lead to View updates inconsistencies despite calling OnPropertyChanged(string.Empty). A potential solution to test would be to:

  • only use direct properties bindings
  • convert the values to simple string/int within the ViewModel
  • use DataTrigger for UI changes (like the background color), aligning with the MVVM principles

Bug validated.

Issue 16 on the repository tracker.

Bug completed & merged into branch develop.

Scheduled for release v0.3.0.