diff --git a/DesktopEdge/MainMenu.xaml b/DesktopEdge/MainMenu.xaml
index 7e3a10ce..7e10e8fe 100644
--- a/DesktopEdge/MainMenu.xaml
+++ b/DesktopEdge/MainMenu.xaml
@@ -102,6 +102,9 @@
+
+
+
diff --git a/DesktopEdge/MainMenu.xaml.cs b/DesktopEdge/MainMenu.xaml.cs
index b4e8879c..77f664de 100644
--- a/DesktopEdge/MainMenu.xaml.cs
+++ b/DesktopEdge/MainMenu.xaml.cs
@@ -452,5 +452,22 @@ namespace ZitiDesktopEdge {
IdListView.Children.Add(item);
}
}
+
+ public void SetAppUpgradeAvailableText(string msg) {
+ this.Dispatcher.Invoke(() => {
+ VersionOlder.Content = msg;
+ VersionNewer.Content = "";
+ VersionOlder.Visibility = Visibility.Visible;
+ VersionNewer.Visibility = Visibility.Collapsed;
+ });
+ }
+ public void SetAppIsNewer(string msg) {
+ this.Dispatcher.Invoke(() => {
+ VersionNewer.Content = msg;
+ VersionOlder.Content = "";
+ VersionNewer.Visibility = Visibility.Visible;
+ VersionOlder.Visibility = Visibility.Collapsed;
+ });
+ }
}
}
\ No newline at end of file
diff --git a/DesktopEdge/MainWindow.xaml.cs b/DesktopEdge/MainWindow.xaml.cs
index c5b06ccc..bfa01ae1 100644
--- a/DesktopEdge/MainWindow.xaml.cs
+++ b/DesktopEdge/MainWindow.xaml.cs
@@ -14,6 +14,7 @@ using System.Threading.Tasks;
using ZitiDesktopEdge.Models;
using ZitiDesktopEdge.DataStructures;
using ZitiDesktopEdge.ServiceClient;
+using ZitiDesktopEdge.Utility;
using NLog;
using NLog.Config;
@@ -282,6 +283,7 @@ namespace ZitiDesktopEdge {
monitorClient.OnClientConnected += MonitorClient_OnClientConnected;
monitorClient.OnServiceStatusEvent += MonitorClient_OnServiceStatusEvent;
monitorClient.OnShutdownEvent += MonitorClient_OnShutdownEvent;
+ monitorClient.OnReconnectFailure += MonitorClient_OnReconnectFailure;
Application.Current.Properties.Add("MonitorClient", monitorClient);
Application.Current.Properties.Add("Identities", new List());
@@ -308,6 +310,31 @@ namespace ZitiDesktopEdge {
Placement();
}
+ string nextVersionStr = null;
+ private void MonitorClient_OnReconnectFailure(object sender, object e) {
+ if(nextVersionStr == null) {
+ // check for the current version
+ nextVersionStr = "checking for update";
+ Version nextVersion = VersionUtil.NormalizeVersion(GithubAPI.GetVersion(GithubAPI.GetJson(GithubAPI.ProdUrl)));
+ nextVersionStr = nextVersion.ToString();
+ Version currentVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; //fetch from ziti?
+
+ int compare = currentVersion.CompareTo(nextVersion);
+ if (compare < 0) {
+ MainMenu.SetAppUpgradeAvailableText("Upgrade available: " + nextVersionStr);
+ logger.Info("upgrade is available. Published version: {} is newer than the current version: {}", nextVersion, currentVersion);
+ //UpgradeAvailable();
+ } else if (compare > 0) {
+ logger.Info("the version installed: {0} is newer than the released version: {1}", currentVersion, nextVersion);
+ MainMenu.SetAppIsNewer("This version is newer than the latest: " + nextVersionStr);
+ } else {
+ logger.Info("Current version installed: {0} is the same as the latest released version {1}", currentVersion, nextVersion);
+ MainMenu.SetAppUpgradeAvailableText("");
+ }
+
+ }
+ }
+
private void MonitorClient_OnShutdownEvent(object sender, StatusEvent e) {
Application.Current.Shutdown();
}
@@ -433,6 +460,7 @@ namespace ZitiDesktopEdge {
private void MonitorClient_OnClientConnected(object sender, object e) {
logger.Debug("MonitorClient_OnClientConnected");
+ MainMenu.SetAppUpgradeAvailableText("");
}
async private void LogLevelChanged(string level) {
diff --git a/DesktopEdge/Properties/AssemblyInfo.cs b/DesktopEdge/Properties/AssemblyInfo.cs
index 7841b0c5..206acfd2 100644
--- a/DesktopEdge/Properties/AssemblyInfo.cs
+++ b/DesktopEdge/Properties/AssemblyInfo.cs
@@ -50,6 +50,6 @@ using System.Windows;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.7.6.0")]
-[assembly: AssemblyVersion("1.7.6.0")]
-[assembly: AssemblyFileVersion("1.7.6.0")]
+// [assembly: AssemblyVersion("1.7.8.0")]
+[assembly: AssemblyVersion("1.7.8.0")]
+[assembly: AssemblyFileVersion("1.7.8.0")]
diff --git a/Installer/ZitiDesktopEdge.aip b/Installer/ZitiDesktopEdge.aip
index 73373d6d..862c6a01 100644
--- a/Installer/ZitiDesktopEdge.aip
+++ b/Installer/ZitiDesktopEdge.aip
@@ -22,10 +22,10 @@
-
+
-
+
diff --git a/ZitiDesktopEdge.Client/ServiceClient/AbstractClient.cs b/ZitiDesktopEdge.Client/ServiceClient/AbstractClient.cs
index 00b8031d..81053e52 100644
--- a/ZitiDesktopEdge.Client/ServiceClient/AbstractClient.cs
+++ b/ZitiDesktopEdge.Client/ServiceClient/AbstractClient.cs
@@ -15,6 +15,10 @@ using ZitiDesktopEdge.DataStructures;
namespace ZitiDesktopEdge.ServiceClient {
public abstract class AbstractClient {
+ public event EventHandler