From 87da56b7a985617b79445d7bda622e88fd76d6c1 Mon Sep 17 00:00:00 2001
From: Lorenz Stechauner <lorenz.stechauner@necronda.net>
Date: Thu, 21 Mar 2024 10:23:44 +0100
Subject: [PATCH] App: Improve auto update behaviour

---
 Elwig/App.xaml.cs      | 3 +++
 Elwig/Helpers/Utils.cs | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/Elwig/App.xaml.cs b/Elwig/App.xaml.cs
index 69dcd55..21d5e46 100644
--- a/Elwig/App.xaml.cs
+++ b/Elwig/App.xaml.cs
@@ -104,6 +104,9 @@ namespace Elwig {
             try {
                 await AppDbUpdater.CheckDb();
             } catch (Exception e) {
+                if (Config.UpdateUrl != null && Utils.HasInternetConnectivity()) {
+                    await CheckForUpdates();
+                }
                 MessageBox.Show($"Invalid Database:\n\n{e.Message}", "Invalid Database", MessageBoxButton.OK, MessageBoxImage.Error);
                 Shutdown();
                 return;
diff --git a/Elwig/Helpers/Utils.cs b/Elwig/Helpers/Utils.cs
index 0d0b8be..0741f0e 100644
--- a/Elwig/Helpers/Utils.cs
+++ b/Elwig/Helpers/Utils.cs
@@ -407,9 +407,11 @@ namespace Elwig.Helpers {
                 using var client = new HttpClient() {
                     Timeout = TimeSpan.FromSeconds(5),
                 };
+                client.DefaultRequestHeaders.Accept.Clear();
+                client.DefaultRequestHeaders.Accept.Add(new("application/json"));
                 var res = JsonNode.Parse(await client.GetStringAsync(url));
                 var data = res!["data"]![0]!;
-                return ((string)data["version"]!, (string)data["url"]!, (int)data["size"]!);
+                return ((string)data["version"]!, (string)data["url"]!, (long)data["size"]!);
             } catch {
                 return null;
             }