Skip to content

Copilot/replace maui with avaloniaui - #9

Merged
sassdawe merged 2 commits into
mainfrom
copilot/replace-maui-with-avaloniaui
Aug 7, 2026
Merged

Copilot/replace maui with avaloniaui#9
sassdawe merged 2 commits into
mainfrom
copilot/replace-maui-with-avaloniaui

Conversation

@sassdawe

@sassdawe sassdawe commented Aug 7, 2026

Copy link
Copy Markdown
Owner

This pull request migrates the desktop GUI from .NET MAUI to Avalonia UI, unifying cross-platform support and simplifying the build and packaging process. The changes update the project files, workflow, and documentation to reflect the new Avalonia-based implementation and remove all MAUI-specific code and assets.

Migration to Avalonia UI:

  • Replaced the MAUI-based application with a new Avalonia UI implementation, adding App.axaml and App.axaml.cs as the new application entry points and removing all MAUI-specific files such as App.xaml, App.xaml.cs, AppShell.xaml, AppShell.xaml.cs, MainPage.xaml, and MainPage.xaml.cs. [1] [2] [3] [4] [5] [6] [7] [8]

  • Updated the project file AtsScanner.Gui.csproj to target Avalonia UI, referencing Avalonia packages and removing all MAUI-specific references, properties, and assets. The target framework is now net10.0 for all platforms.

Build and Packaging Workflow Updates:

  • Simplified the GitHub Actions workflow in .github/workflows/release.yml to build and package Avalonia apps for Windows, macOS (x64 and arm64), and Linux, removing MAUI workload steps and platform-specific target frameworks. [1] [2] [3] [4]

Documentation Updates:

  • Updated the README.md to reflect the migration from MAUI to Avalonia UI, clarifying that the GUI now targets Windows, macOS, and Linux with the standard .NET SDK and no longer requires the MAUI workload.

Copilot AI and others added 2 commits August 6, 2026 14:28
Co-authored-by: sassdawe <10754765+sassdawe@users.noreply.github.com>
Co-authored-by: sassdawe <10754765+sassdawe@users.noreply.github.com>
@sassdawe
sassdawe requested a lite review from Copilot August 7, 2026 08:53
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedavalonia@​12.1.184100100100100
Addedavalonia.fonts.inter@​12.1.1100100100100100
Addedavalonia.themes.fluent@​12.1.1100100100100100
Addedavalonia.desktop@​12.1.1100100100100100

View full report

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the desktop GUI (src/AtsScanner.Gui) from .NET MAUI to Avalonia UI to provide a single cross-platform desktop target (Windows/macOS/Linux) and simplify publishing/packaging.

Changes:

  • Replaced MAUI app entry points/pages/resources with an Avalonia App.axaml + MainWindow.axaml implementation and updated the GUI ViewModels for Avalonia types (e.g., IBrush).
  • Updated AtsScanner.Gui.csproj to a single net10.0 target with Avalonia package references, removing MAUI-specific configuration/assets.
  • Simplified the release workflow to publish self-contained GUI builds for win-x64, osx-x64, osx-arm64, and linux-x64 without MAUI workload steps; updated README accordingly.

Reviewed changes

Copilot reviewed 32 out of 37 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/AtsScanner.Gui/ViewModels/ScanResultViewModel.cs Switches score color output from MAUI Color to Avalonia IBrush for UI bindings.
src/AtsScanner.Gui/ViewModels/IssueDisplay.cs Switches severity icon color output from MAUI Color to Avalonia IBrush.
src/AtsScanner.Gui/ViewModels/MainViewModel.cs Removes MAUI file picker logic; adapts commands to Avalonia-friendly ICommand implementations.
src/AtsScanner.Gui/ViewModels/RelayCommand.cs Adds a simple synchronous ICommand implementation for Avalonia.
src/AtsScanner.Gui/ViewModels/AsyncRelayCommand.cs Adds an async ICommand implementation for scan execution.
src/AtsScanner.Gui/Resources/Styles/Styles.xaml Removes MAUI style resources.
src/AtsScanner.Gui/Resources/Styles/Colors.xaml Removes MAUI color resources.
src/AtsScanner.Gui/Resources/Splash/splash.svg Removes MAUI splash asset.
src/AtsScanner.Gui/Resources/Raw/AboutAssets.txt Removes MAUI raw-asset template file.
src/AtsScanner.Gui/Resources/AppIcon/appiconfg.svg Removes MAUI icon foreground asset.
src/AtsScanner.Gui/Resources/AppIcon/appicon.svg Removes MAUI icon asset.
src/AtsScanner.Gui/Properties/launchSettings.json Renames the debug launch profile to a clearer GUI-specific name.
src/AtsScanner.Gui/Program.cs Adds Avalonia app bootstrap (classic desktop lifetime, Inter font, trace logging).
src/AtsScanner.Gui/Platforms/Windows/Package.appxmanifest Removes MAUI/WinUI packaging manifest.
src/AtsScanner.Gui/Platforms/Windows/App.xaml.cs Removes MAUI WinUI host app entry point.
src/AtsScanner.Gui/Platforms/Windows/App.xaml Removes MAUI WinUI XAML host.
src/AtsScanner.Gui/Platforms/Windows/app.manifest Removes MAUI Windows manifest.
src/AtsScanner.Gui/Platforms/MacCatalyst/Program.cs Removes MAUI MacCatalyst entry point.
src/AtsScanner.Gui/Platforms/MacCatalyst/Info.plist Removes MAUI MacCatalyst plist.
src/AtsScanner.Gui/Platforms/MacCatalyst/Entitlements.plist Removes MAUI MacCatalyst entitlements.
src/AtsScanner.Gui/Platforms/MacCatalyst/AppDelegate.cs Removes MAUI MacCatalyst app delegate.
src/AtsScanner.Gui/MauiProgram.cs Removes MAUI app builder/bootstrap code.
src/AtsScanner.Gui/MainWindow.axaml.cs Adds Avalonia Window code-behind for file picking, result expansion toggle, and sponsor link.
src/AtsScanner.Gui/MainWindow.axaml Adds Avalonia UI layout for file selection, platform selection, scanning, and results display.
src/AtsScanner.Gui/MainPage.xaml.cs Removes MAUI page code-behind.
src/AtsScanner.Gui/MainPage.xaml Removes MAUI page XAML.
src/AtsScanner.Gui/AtsScanner.Gui.csproj Replaces MAUI multi-target configuration with Avalonia packages and a single net10.0 target.
src/AtsScanner.Gui/AppShell.xaml.cs Removes MAUI Shell code-behind.
src/AtsScanner.Gui/AppShell.xaml Removes MAUI Shell XAML.
src/AtsScanner.Gui/App.xaml.cs Removes MAUI app class.
src/AtsScanner.Gui/App.xaml Removes MAUI application XAML/resources.
src/AtsScanner.Gui/App.axaml.cs Adds Avalonia Application initialization and desktop main window creation.
src/AtsScanner.Gui/App.axaml Adds Avalonia application styling (Fluent theme).
README.md Updates GUI documentation/commands to reflect Avalonia and standard .NET SDK usage.
.github/workflows/release.yml Updates GUI build matrix to win-x64/osx-x64/osx-arm64/linux-x64, removes MAUI workload steps, and adjusts publish verification/packaging.

@sassdawe
sassdawe merged commit 1d3fdd3 into main Aug 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants