Skip to content

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
developfrom
fix/release-2.1.3-build-break
Open

Fix build break from auto-fix commits (v2.1.3 release failed; 2.1.3 partially published)#38
michaelstonis wants to merge 1 commit into
developfrom
fix/release-2.1.3-build-break

Conversation

@michaelstonis

Copy link
Copy Markdown
Contributor

The v2.1.3 release failed and left NuGet in a partial state

Stellar.Avalonia failed to compile in the tag release run (run 31336102154). The pack matrix has no fail-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.FluentValidation
Never shipped: StellarUI.Uno, StellarUI.Avalonia, StellarUI.Wpf, StellarUI.Blazor, StellarUI.DiskDataCache, StellarUI.SourceGenerators, StellarUI.Maui.PopUp

Notably StellarUI.Uno — the package carrying the WhenAnyValue fix — is one of the missing ones.

Cause

The three Potential fix for pull request finding commits on #37 rewrote both ICreatesObservableForProperty implementations and introduced, in each file:

  • quotes escaped inside an interpolated string$"... {sender?.GetType().FullName ?? \"null\"}."error CS1056: Unexpected character '\'
  • the opening brace of the Handler local function deleted (Avalonia) → cascading brace errors
  • the SA1313 parameter-naming fix reverted (Avalonia), reintroducing the StyleCop error
  • methods dedented out of their class indentation

22 compiler errors reproduce locally on develop.

This PR

Restores valid syntax while keeping the two guards those commits legitimately added:

  • beforeChangedObservable.Never (defensive; GetAffinityForObject already declines those requests)
  • honouring suppressWarnings when the property isn't registered, rather than always throwing

Verification

  • Release build of Stellar.slnf — succeeds (vs. 22 errors on develop)
  • 259/259 unit tests pass
  • Pack rehearsal: Stellar, Stellar.Avalonia, Stellar.Uno all produce nupkgs
  • Live Uno desktop runtime test still passes: control-rooted WhenAnyValue 3/3 emissions, background→UI scheduler marshaling, full Stellar lifecycle

After merging

2.1.3 is burned for the four packages already on nuget.org (NuGet allows unlisting, not deletion), so cut v2.1.4 rather 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

… 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>
Copilot AI lite review requested due to automatic review settings August 9, 2026 21:20

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

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants