Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Source/3rdparty/Dragablz
Submodule Dragablz updated 64 files
+4 −4 Dragablz/CanvasOrganiser.cs
+3 −3 Dragablz/Converters/BooleanAndToVisibilityConverter.cs
+3 −3 Dragablz/Converters/ShowDefaultCloseButtonConverter.cs
+7 −7 Dragablz/Core/CollectionTeaser.cs
+1 −1 Dragablz/Core/FuncComparer.cs
+1 −1 Dragablz/Core/InterTabTransfer.cs
+6 −6 Dragablz/Core/MultiComparer.cs
+5 −5 Dragablz/Core/Native.cs
+1 −1 Dragablz/Core/TabHeaderDragStartInformation.cs
+5 −5 Dragablz/DefaultInterLayoutClient.cs
+2 −2 Dragablz/DefaultInterTabClient.cs
+8 −8 Dragablz/Dockablz/Branch.cs
+4 −4 Dragablz/Dockablz/BranchAccessor.cs
+1 −1 Dragablz/Dockablz/BranchResult.cs
+5 −5 Dragablz/Dockablz/DropZone.cs
+2 −2 Dragablz/Dockablz/DropZoneLocation.cs
+2 −2 Dragablz/Dockablz/Finder.cs
+2 −2 Dragablz/Dockablz/FloatRequestedEvent.cs
+1 −1 Dragablz/Dockablz/FloatTransfer.cs
+2 −2 Dragablz/Dockablz/FloatingItemSnapShot.cs
+94 −94 Dragablz/Dockablz/Layout.cs
+4 −4 Dragablz/Dockablz/LayoutAccessor.cs
+2 −2 Dragablz/Dockablz/LocationSnapShot.cs
+2 −2 Dragablz/Dockablz/Tiler.cs
+5 −5 Dragablz/Dockablz/TilerCalculator.cs
+1 −1 Dragablz/Dragablz.csproj
+2 −2 Dragablz/DragablzColors.cs
+3 −3 Dragablz/DragablzDragCompletedEventArgs.cs
+3 −3 Dragablz/DragablzDragDeltaEventArgs.cs
+1 −1 Dragablz/DragablzDragStartedEventArgs.cs
+1 −1 Dragablz/DragablzIcon.cs
+2 −1 Dragablz/DragablzItem.cs
+1 −1 Dragablz/DragablzItemEventArgs.cs
+42 −42 Dragablz/DragablzItemsControl.cs
+20 −20 Dragablz/DragablzWindow.cs
+11 −11 Dragablz/HeaderedDragablzItem.cs
+1 −1 Dragablz/HorizontalOrganiser.cs
+1 −1 Dragablz/IInterLayoutClient.cs
+1 −1 Dragablz/IItemsOrganiser.cs
+12 −12 Dragablz/InterTabController.cs
+1 −1 Dragablz/LocationChangedEventArgs.cs
+1 −1 Dragablz/LocationHint.cs
+5 −5 Dragablz/Properties/AssemblyInfo.cs
+13 −13 Dragablz/StackOrganiser.cs
+3 −3 Dragablz/StoryboardCompletionListener.cs
+2 −2 Dragablz/TabEmptiedResponse.cs
+132 −131 Dragablz/TabablzControl.cs
+1 −1 Dragablz/TabablzHeaderSizeConverter.cs
+2 −2 Dragablz/Themes/MaterialDesignAssist.cs
+2 −2 Dragablz/Themes/SystemCommandIcon.cs
+11 −11 Dragablz/Trapezoid.cs
+1 −1 DragablzDemo/AnotherCommandImplementation.cs
+4 −4 DragablzDemo/BasicExampleMainModel.cs
+1 −1 DragablzDemo/BasicExampleMainWindow.xaml.cs
+2 −2 DragablzDemo/BasicExampleTemplateModel.cs
+1 −1 DragablzDemo/BasicExampleTemplateWindow.xaml.cs
+8 −8 DragablzDemo/Boot.cs
+3 −3 DragablzDemo/BoundExampleInterTabClient.cs
+2 −2 DragablzDemo/BoundExampleNewItem.cs
+4 −4 DragablzDemo/LayoutManagementExampleViewModel.cs
+549 −549 DragablzDemo/Properties/Annotations.cs
+4 −4 DragablzDemo/Properties/AssemblyInfo.cs
+1 −1 DragablzDemo/SimpleViewModel.cs
+2 −2 DragablzDemo/TabablzControlProxy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using System.Windows.Input;
using log4net;
using NetworkInterface = NETworkManager.Models.Network.NetworkInterface;
using System.Net.Sockets;

namespace NETworkManager.ViewModels;

Expand Down Expand Up @@ -760,6 +761,14 @@ private Task CheckConnectionComputerAsync(CancellationToken ct)
await NetworkInterface.DetectLocalIPAddressBasedOnRoutingAsync(
IPAddress.Parse(SettingsManager.Current.Dashboard_PublicIPv4Address));

if (detectedLocalIPv4Address == null)
{
Log.Debug("CheckConnectionComputerAsync - Local IPv4 address detection via routing failed, trying network interfaces...");

detectedLocalIPv4Address = await NetworkInterface.DetectLocalIPAddressFromNetworkInterfaceAsync(
AddressFamily.InterNetwork);
}

if (detectedLocalIPv4Address != null)
{
Log.Debug("CheckConnectionComputerAsync - Local IPv4 address detected: " + detectedLocalIPv4Address);
Expand Down Expand Up @@ -787,6 +796,14 @@ await NetworkInterface.DetectLocalIPAddressBasedOnRoutingAsync(
await NetworkInterface.DetectLocalIPAddressBasedOnRoutingAsync(
IPAddress.Parse(SettingsManager.Current.Dashboard_PublicIPv6Address));

if (detectedLocalIPv6Address == null)
{
Log.Debug("CheckConnectionComputerAsync - Local IPv6 address detection via routing failed, trying network interfaces...");

detectedLocalIPv6Address = await NetworkInterface.DetectLocalIPAddressFromNetworkInterfaceAsync(
AddressFamily.InterNetworkV6);
}

if (detectedLocalIPv6Address != null)
{
Log.Debug("CheckConnectionComputerAsync - Local IPv6 address detected: " + detectedLocalIPv6Address);
Expand Down Expand Up @@ -896,6 +913,9 @@ private Task CheckConnectionRouterAsync(CancellationToken ct)
await NetworkInterface.DetectLocalIPAddressBasedOnRoutingAsync(
IPAddress.Parse(SettingsManager.Current.Dashboard_PublicIPv4Address));

detectedLocalIPv4Address ??= await NetworkInterface.DetectLocalIPAddressFromNetworkInterfaceAsync(
AddressFamily.InterNetwork);

if (detectedLocalIPv4Address != null)
{
Log.Debug("CheckConnectionRouterAsync - Computer IPv4 address detected: " + detectedLocalIPv4Address);
Expand Down Expand Up @@ -939,6 +959,9 @@ await NetworkInterface.DetectGatewayFromLocalIPAddressAsync(
await NetworkInterface.DetectLocalIPAddressBasedOnRoutingAsync(
IPAddress.Parse(SettingsManager.Current.Dashboard_PublicIPv6Address));

detectedComputerIPv6 ??= await NetworkInterface.DetectLocalIPAddressFromNetworkInterfaceAsync(
AddressFamily.InterNetworkV6);

if (detectedComputerIPv6 != null)
{
Log.Debug("CheckConnectionRouterAsync - Computer IPv6 address detected: " + detectedComputerIPv6);
Expand Down
4 changes: 4 additions & 0 deletions Website/docs/changelog/next-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ Release date: **xx.xx.2025**
- Settings format migrated from `XML` to `JSON`. The settings file will be automatically converted on first start after the update. [#3282](https://github.com/BornToBeRoot/NETworkManager/pull/3282)
- Create a daily backup of the settings file before saving changes. Up to `10` backup files are kept in the `Backups` subfolder of the settings directory. [#3283](https://github.com/BornToBeRoot/NETworkManager/pull/3283)

**Dashboard**

- Enhance local IP detection logic: If local IP cannot be determined via routing, now iterates over active network adapters and selects the first valid IPv4/IPv6 address (with link-local addresses (`169.254.x.x`, `fe80::..`) given lower priority). [#3296](https://github.com/BornToBeRoot/NETworkManager/pull/3296)

**IP Scanner**

- Improved local subnet detection: If local IP cannot be determined via routing, now iterates over active network adapters and selects the first valid IPv4 address (with link-local addresses (`169.254.x.x`) given lower priority). [#3288](https://github.com/BornToBeRoot/NETworkManager/pull/3288)
Expand Down