From 6d1e39c1cc712d70198fa2836e75a04e371e686c Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 22 Nov 2025 00:01:11 +0100 Subject: [PATCH 1/3] Try HotReload 3.0 --- src/Artemis.Core/Constants.cs | 2 +- src/Artemis.UI.Windows/App.axaml.cs | 3 --- src/Artemis.UI.Windows/Program.cs | 5 ++++- src/Artemis.UI/SerilogAvaloniaSink.cs | 6 +++--- src/Directory.Packages.props | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Artemis.Core/Constants.cs b/src/Artemis.Core/Constants.cs index a05acf32c..6ad386c9f 100644 --- a/src/Artemis.Core/Constants.cs +++ b/src/Artemis.Core/Constants.cs @@ -40,7 +40,7 @@ public static class Constants /// /// The full path to the Artemis data folder /// - public static readonly string DataFolder = Path.Combine(BaseFolder, "Artemis"); + public static readonly string DataFolder = Path.Combine(BaseFolder, "Artemis-dev"); /// /// The full path to the Artemis logs folder diff --git a/src/Artemis.UI.Windows/App.axaml.cs b/src/Artemis.UI.Windows/App.axaml.cs index 824c8a9c4..3099777a6 100644 --- a/src/Artemis.UI.Windows/App.axaml.cs +++ b/src/Artemis.UI.Windows/App.axaml.cs @@ -16,7 +16,6 @@ using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Avalonia.ReactiveUI; using DryIoc; -using HotAvalonia; using ReactiveUI; namespace Artemis.UI.Windows; @@ -28,8 +27,6 @@ public class App : Application public override void Initialize() { - this.EnableHotReload(); - // If Artemis is already running, bring it to foreground and stop this process if (FocusExistingInstance()) { diff --git a/src/Artemis.UI.Windows/Program.cs b/src/Artemis.UI.Windows/Program.cs index f9fc5e1f6..1db782d20 100644 --- a/src/Artemis.UI.Windows/Program.cs +++ b/src/Artemis.UI.Windows/Program.cs @@ -2,8 +2,10 @@ using System; using Artemis.Core; using Artemis.Storage; using Avalonia; +using Avalonia.Logging; using Avalonia.ReactiveUI; using DryIoc; +using HotAvalonia; using Serilog; namespace Artemis.UI.Windows; @@ -36,7 +38,8 @@ internal class Program return AppBuilder.Configure() .UsePlatformDetect() .LogToTrace() - .UseReactiveUI(); + .UseReactiveUI() + .UseHotReload(); } public static void CreateLogger(IContainer container) diff --git a/src/Artemis.UI/SerilogAvaloniaSink.cs b/src/Artemis.UI/SerilogAvaloniaSink.cs index f40c83b28..b8dea3fcd 100644 --- a/src/Artemis.UI/SerilogAvaloniaSink.cs +++ b/src/Artemis.UI/SerilogAvaloniaSink.cs @@ -24,11 +24,11 @@ public class SerilogAvaloniaSink : ILogSink #if DEBUG // Except with binding errors, ignore anything that is information or lower - return (area == "Binding" || logLevel > SerilogLogLevel.Information) && _logger.IsEnabled(logLevel); - #else + return true; +#else // Ignore binding errors in release builds, shoo return area != "Binding" && logLevel > SerilogLogLevel.Information && _logger.IsEnabled(logLevel); - #endif +#endif } /// diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 96732544e..c018e282b 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -68,7 +68,7 @@ - - + + \ No newline at end of file From b7907a9fd9793833a3b955c7111686315e95be1a Mon Sep 17 00:00:00 2001 From: Kira-NT Date: Mon, 24 Nov 2025 09:46:17 +0000 Subject: [PATCH 2/3] Fix HotAvalonia setup --- src/Artemis.UI.Windows/Program.cs | 4 +--- src/Directory.Build.targets | 9 +-------- src/Directory.Packages.props | 3 --- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/src/Artemis.UI.Windows/Program.cs b/src/Artemis.UI.Windows/Program.cs index 1db782d20..c102c79eb 100644 --- a/src/Artemis.UI.Windows/Program.cs +++ b/src/Artemis.UI.Windows/Program.cs @@ -5,7 +5,6 @@ using Avalonia; using Avalonia.Logging; using Avalonia.ReactiveUI; using DryIoc; -using HotAvalonia; using Serilog; namespace Artemis.UI.Windows; @@ -38,8 +37,7 @@ internal class Program return AppBuilder.Configure() .UsePlatformDetect() .LogToTrace() - .UseReactiveUI() - .UseHotReload(); + .UseReactiveUI(); } public static void CreateLogger(IContainer container) diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index 4c08a9025..36f7bc3fd 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -1,12 +1,5 @@ - - - $(DefineConstants);ENABLE_XAML_HOT_RELOAD - - - - - + \ No newline at end of file diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index c018e282b..9a18d7209 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -66,9 +66,6 @@ - - - \ No newline at end of file From 63e3eadc356cd933d1cc611ee94da812d9b9a4a6 Mon Sep 17 00:00:00 2001 From: Kira-NT Date: Sun, 30 Nov 2025 16:28:44 +0000 Subject: [PATCH 3/3] Revert to using `.EnableHotReload()` --- src/Artemis.UI.Windows/App.axaml.cs | 2 ++ src/Artemis.UI.Windows/Artemis.UI.Windows.csproj | 1 + 2 files changed, 3 insertions(+) diff --git a/src/Artemis.UI.Windows/App.axaml.cs b/src/Artemis.UI.Windows/App.axaml.cs index 3099777a6..feb425d47 100644 --- a/src/Artemis.UI.Windows/App.axaml.cs +++ b/src/Artemis.UI.Windows/App.axaml.cs @@ -16,6 +16,7 @@ using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Avalonia.ReactiveUI; using DryIoc; +using HotAvalonia; using ReactiveUI; namespace Artemis.UI.Windows; @@ -40,6 +41,7 @@ public class App : Application LegacyMigrationService.MigrateToSqlite(_container); RxApp.MainThreadScheduler = AvaloniaScheduler.Instance; + this.EnableHotReload(); AvaloniaXamlLoader.Load(this); } diff --git a/src/Artemis.UI.Windows/Artemis.UI.Windows.csproj b/src/Artemis.UI.Windows/Artemis.UI.Windows.csproj index 074722051..9f301ae22 100644 --- a/src/Artemis.UI.Windows/Artemis.UI.Windows.csproj +++ b/src/Artemis.UI.Windows/Artemis.UI.Windows.csproj @@ -9,6 +9,7 @@ Artemis ..\Artemis.UI\Assets\Images\Logo\application.ico en + false