public static void CheckForUpdate(string branchName, VersionNumber currentVersion) { Task.Run(() => { try { var request = WebRequest.Create("https://fourtf.com/chatterino/version.json"); if (AppSettings.IgnoreSystemProxy) { request.Proxy = null; } using (var response = request.GetResponse()) using (var stream = response.GetResponseStream()) { var parser = new JsonParser(); dynamic json = parser.Parse(stream); dynamic branches = json["branches"]; foreach (var branch in branches) { if (branchName == (string)branch["name"]) { VersionNumber onlineVersion = VersionNumber.Parse(branch["version"]); string url = branch["url"]; if (onlineVersion.IsNewerThan(currentVersion)) { UpdateFound?.Invoke(null, new UpdateFoundEventArgs(onlineVersion, url)); } break; } } } } catch (Exception exc) { Console.WriteLine(exc.Log("updates")); } }); }
public UpdateFoundEventArgs(VersionNumber version, string url) { Version = version; Url = url; }