Bump ilspycmd to 11.0.0.9375, migrate installer to FluentAvalonia, fix bootstrap SIGPIPE - #99
Merged
Merged
Conversation
…x bootstrap SIGPIPE Pin ilspycmd to 11.0.0.9375 across the config, bootstrap and install scripts, the C# compatibility fallback, and the tests. The range is now a single accepted version. Extend the base constructor fixup to rewrite the ILSpy 11 cast form ((BaseType)this)._002Ector(args) into : base(args), which ILSpy 11 emits for GameWindowNative and eight other files. Regenerate the four VintagestoryLib patches whose context shifted under the new decompiler output (EventManager, ClientEventManager, InventoryItemRenderer, ShaderRegistry). Migrate the Avalonia installer from SukiUI to FluentAvalonia for the native WinUI look: FluentAvaloniaTheme with the system accent and light/dark variant, standard Fluent controls, a numbered step rail, and no custom palette. Replace the auto-launch flow with a Finish button. Make the bootstrap patch detection immune to SIGPIPE by wrapping the find | head | grep probe in a subshell with pipefail off, so head closing the pipe does not surface exit 141 to the if condition and all 118 patches are detected and applied. Portable across Linux and macOS. Verified on Windows: bootstrap -Refresh reports 118 patches applied and 0 failed, the solution builds with 0 errors, and the installer and bootstrap test suites pass.
This was referenced Sep 16, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three changes to the Optimum client workspace.
ilspycmd 11.0.0.9375. The decompiler pin moves from the 10.1.x range to a single accepted version, 11.0.0.9375, across
.config/dotnet-tools.json,.config/ilspycmd-compat.json, the bootstrap and install scripts (PowerShell and shell), the C# compatibility fallback inIlspycmdVersion.cs, and the tests. ILSpy 11 changes its decompiled output, so two things had to follow. First, the base constructor fixup now also rewrites the ILSpy 11 cast form((BaseType)this)._002Ector(args)into: base(args); ILSpy 11 emits that form forGameWindowNativeand eight other files, and without the fixup the tree does not compile. Second, four VintagestoryLib patches whose context lines shifted were regenerated against the new baseline:EventManager,ClientEventManager,InventoryItemRenderer, andShaderRegistry.Installer moved to FluentAvalonia. The Avalonia installer now uses
FluentAvaloniaThemefor the native WinUI look: the system accent colour, the OS light or dark variant, standard Fluent controls, a numbered step rail, and no custom palette. The completion screen uses a Finish button instead of auto-launch.Bootstrap SIGPIPE fix. The patch detection probe is now immune to SIGPIPE (see the merge note below).
Verification
On Windows:
bootstrap.ps1 -Refreshreports 118 patches applied and 0 failed,dotnet build VintageStory.slnx -c Releasefinishes with 0 errors, and the installer and bootstrap test suites pass.