Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: reactiveui/ReactiveUI.SourceGenerators
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.0.0
Choose a base ref
...
head repository: reactiveui/ReactiveUI.SourceGenerators
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v4.0.1
Choose a head ref
  • 1 commit
  • 7 files changed
  • 1 contributor

Commits on Sep 26, 2026

  1. fix: stop the WinForms hosts relying on WhenAny, and generate them in…

    … their own namespace (#504)
    
    The [RoutedControlHost] and [ViewModelControlHost] constructors called
    WhenAny, WhenAnyValue and WhenAnyObservable. With ReactiveUI built on
    ReactiveUI.Binding, those calls are dispatched by Binding's generator, which
    cannot see call sites in another generator's output, so constructing a host
    threw "No generated WhenAny dispatch matched this call site".
    
    The hosts now follow their own properties through a nested PropertyObservable
    over their PropertyChanged event, switching to the selected observable on each
    change as WhenAnyObservable does. The events call
    SubscribePropertyChangedEvents and SubscribePropertyChangingEvents on first
    subscription, as ReactiveObject and the [IReactiveObject] generator do; without
    that ReactiveUI never raised them for a host. No generated code now calls an
    API ReactiveUI.Binding has to intercept.
    
    The hosts were also written into `namespace {TargetNamespace}` as-is, so a host
    in the global namespace produced an unnamed namespace and a separate type, and
    a nested host produced a top-level type. They now open the namespace and any
    containing types as the other generators do.
    glennawatson authored Sep 26, 2026
    Configuration menu
    Copy the full SHA
    ac6d0b7 View commit details
    Browse the repository at this point in the history
Loading
⌂ 换网址