Fix build break from auto-fix commits (v2.1.3 release failed; 2.1.3 partially published) - #38
Open
michaelstonis wants to merge 1 commit into
Open
Fix build break from auto-fix commits (v2.1.3 release failed; 2.1.3 partially published)#38michaelstonis wants to merge 1 commit into
michaelstonis wants to merge 1 commit into
Conversation
… release The v2.1.3 release workflow failed: Stellar.Avalonia did not compile, which cancelled the remaining matrix jobs and left 2.1.3 published for only 4 of 11 packages (StellarUI, .Maui, .WinUI, .FluentValidation pushed before the cancel; .Uno, .Avalonia, .Wpf, .Blazor, .DiskDataCache, .SourceGenerators and .Maui.PopUp never shipped). Cause: the "Potential fix for pull request finding" commits on #37 rewrote both ICreatesObservableForProperty implementations and introduced three breakages in each: - quotes escaped inside an interpolated string ($"... ?? \"null\"") - the opening brace of the Handler local function deleted (Avalonia) - the SA1313 parameter-naming fix reverted (Avalonia) They also dedented the method out of its class indentation. This keeps the two guards those commits legitimately added - beforeChanged returning Observable.Never, and honouring suppressWarnings when the property is not registered - and restores valid syntax around them. Verified: Release build of Stellar.slnf, 259/259 unit tests, pack rehearsal of Stellar/.Avalonia/.Uno, and the live Uno desktop runtime test still passing (control-rooted WhenAnyValue 3/3 emissions, scheduler marshaling, full lifecycle). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes the v2.1.3 release build break by restoring valid C# syntax/structure in the custom ICreatesObservableForProperty implementations for Uno and Avalonia, while retaining the intended behavioral guards for beforeChanged and suppressWarnings scenarios.
Changes:
- Restores correct interpolated-string syntax and block structure in Uno’s
DependencyObjectObservableForProperty. - Restores correct function bracing/indentation and parameter naming in Avalonia’s
AvaloniaObjectObservableForProperty. - Preserves the defensive
beforeChanged => Observable.Never(...)behavior and the “suppress warnings when property not registered” behavior in both implementations.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Stellar.Uno/DependencyObjectObservableForProperty.cs | Fixes invalid string escaping/formatting and keeps defensive guards for before-changed and suppressed-missing-property cases. |
| Stellar.Avalonia/AvaloniaObjectObservableForProperty.cs | Fixes broken bracing/indentation and restores valid handler declaration while keeping the same guard behaviors. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
The v2.1.3 release failed and left NuGet in a partial state
Stellar.Avaloniafailed to compile in the tag release run (run 31336102154). The pack matrix has nofail-fast: false, so the failure cancelled the remaining jobs — but four had already pushed.Live on nuget.org at 2.1.3:
StellarUI,StellarUI.Maui,StellarUI.WinUI,StellarUI.FluentValidationNever shipped:
StellarUI.Uno,StellarUI.Avalonia,StellarUI.Wpf,StellarUI.Blazor,StellarUI.DiskDataCache,StellarUI.SourceGenerators,StellarUI.Maui.PopUpNotably
StellarUI.Uno— the package carrying theWhenAnyValuefix — is one of the missing ones.Cause
The three
Potential fix for pull request findingcommits on #37 rewrote bothICreatesObservableForPropertyimplementations and introduced, in each file:$"... {sender?.GetType().FullName ?? \"null\"}."→error CS1056: Unexpected character '\'Handlerlocal function deleted (Avalonia) → cascading brace errors22 compiler errors reproduce locally on
develop.This PR
Restores valid syntax while keeping the two guards those commits legitimately added:
beforeChanged→Observable.Never(defensive;GetAffinityForObjectalready declines those requests)suppressWarningswhen the property isn't registered, rather than always throwingVerification
Stellar.slnf— succeeds (vs. 22 errors ondevelop)Stellar,Stellar.Avalonia,Stellar.Unoall produce nupkgsWhenAnyValue3/3 emissions, background→UI scheduler marshaling, full Stellar lifecycleAfter merging
2.1.3is burned for the four packages already on nuget.org (NuGet allows unlisting, not deletion), so cutv2.1.4rather than retagging.Worth considering separately: the release matrix pushes each package as its own job, so any single failure yields a partially-published version. Building all projects before pushing any would make releases atomic.
🤖 Generated with Claude Code