diff --git a/Modules/Net/popup.swift b/Modules/Net/popup.swift index 8e38d2e9..b82d3287 100644 --- a/Modules/Net/popup.swift +++ b/Modules/Net/popup.swift @@ -455,8 +455,14 @@ internal class Popup: PopupWrapper { } } - if self.localIPField?.stringValue != value.laddr { - self.localIPField?.stringValue = value.laddr ?? localizedString("Unknown") + var privateIP = localizedString("Unknown") + if let v4 = value.laddr.v4, !v4.isEmpty { + privateIP = v4 + } else if let v6 = value.laddr.v6, !v6.isEmpty { + privateIP = v6 + } + if self.localIPField?.stringValue != privateIP { + self.localIPField?.stringValue = privateIP } if let view = self.publicIPv4View { @@ -465,11 +471,12 @@ internal class Popup: PopupWrapper { self.addressView?.addArrangedSubview(view) self.recalculateHeight() } - if self.publicIPv4Field?.stringValue != addr { - self.publicIPv4Field?.stringValue = addr - if let cc = value.raddr.countryCode { - self.publicIPv4Field?.stringValue += " (\(cc))" - } + var ip = addr + if let cc = value.raddr.countryCode { + ip += " (\(cc))" + } + if self.publicIPv4Field?.stringValue != ip { + self.publicIPv4Field?.stringValue = ip } } else if view.superview != nil { view.removeFromSuperview() @@ -484,8 +491,12 @@ internal class Popup: PopupWrapper { self.addressView?.addArrangedSubview(view) resized = true } - if self.publicIPv6Field?.stringValue != addr { - self.publicIPv6Field?.stringValue = addr + var ip = addr + if let cc = value.raddr.countryCode { + ip += " (\(cc))" + } + if self.publicIPv6Field?.stringValue != ip { + self.publicIPv6Field?.stringValue = ip } } else if view.superview != nil { view.removeFromSuperview()