feat: support ReactiveUI 24 and updated analyzers - #470
Open
ChrisPulman wants to merge 2 commits into
Open
Conversation
ReactiveUI compatibility: - detect legacy, Primitives-based, and reactive package profiles - generate RxVoid-based commands for the ReactiveUI 24 API surface - make generated WinForms hosts lifecycle-safe, serialized, and terminal-aware - preserve routed-host default content during view resolution Analyzer migration: - adopt StyleSharp, PerformanceSharp, and SecuritySharp 3.40 - remediate compiler and analyzer diagnostics across generators, code fixes, tests, and samples - remove the legacy StyleCop configuration Validation: - add TUnit coverage for ReactiveUI package profiles and generated host behavior - update verified generator output and application samples - build the complete Release solution with zero warnings and errors
ChrisPulman
marked this pull request as ready for review
July 29, 2026 01:00
Line endings: - enforce LF checkout for C# sources so SST1532 passes on Windows runners Cross-platform tests: - add a cached platform-neutral metadata-reference set - compile generated WinForms hosts against deterministic desktop stubs on every OS - model the control collection, docking, layout, and disposal APIs used by generated output Validation: - clean Release solution build succeeds with zero warnings and errors - all 906 TUnit executions pass with coverage enabled
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.
What kind of change does this PR introduce?
Feature and maintenance update that adds ReactiveUI 24 package-profile compatibility and remediates diagnostics from the StyleSharp, PerformanceSharp, and SecuritySharp 3.40 analyzer update.
Closes #469
What is the new behavior?
The generators detect ReactiveUI 23 legacy, ReactiveUI 24 base/Primitives, and ReactiveUI 24 Reactive profiles, emit the matching APIs, and use lifecycle-safe serialized disposable composition for generated WinForms hosts. The full solution is analyzer-clean.
What is the current behavior?
The previous implementation targets the legacy ReactiveUI surface, relies on System.Reactive-specific command output, and reports analyzer errors and warnings after the analyzer package update. Host composition also has disposal and terminal-state edge cases.
Checklist
Additional information