-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Comparing changes
Open a pull request
base repository: reactiveui/ReactiveUI
base: 23.2.19
head repository: reactiveui/ReactiveUI
compare: 23.2.27
- 8 commits
- 9 files changed
- 2 contributors
Commits on May 4, 2026
-
Fixes 4331 Handle null load state; add tests (#4349)
<!-- Please be sure to read our [Contribute guide](https://www.reactiveui.net/contribute/index.html) before opening a PR. --> ## What kind of change does this PR introduce? <!-- Bug fix, feature, docs update, refactor, ci, ... --> Fix ## What is the current behavior? <!-- You can also link to an open issue here. Use "Closes #123" to auto-close on merge. --> Closes #4331 ## What is the new behavior? <!-- If this is a feature change --> Do not assign a potentially-null loaded state directly to AppState/AppStateValue. Capture the result of ISuspensionDriver.LoadState into a local (object? / TAppState?) and assign item.AppState/item.AppStateValue to the loaded value or fallback to CreateNewAppState/CreateNewAppStateTyped. Add tests in SuspensionHostExtensionsTests and SuspensionHostExtensionsAotTests that verify GetAppState creates and stores a new app state when no persisted state exists. Add ReturnNullOnLoad to TestSuspensionDriver to simulate drivers returning null. Change SuspensionHostTestExecutor to inherit from AppBuilderTestExecutor and delegate ExecuteTest to the base implementation (and add the required using). These changes ensure null-returning drivers are handled safely and covered by tests. ## What might this PR break? ## Checklist - [x] I have read the [Contribute guide](https://www.reactiveui.net/contribute/index.html) - [x] Tests have been added or updated (for bug fixes / features) - [ ] Docs have been added or updated (for bug fixes / features) - [x] Changes target the `main` branch - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/) ## Additional information
Configuration menu - View commit details
-
Copy full SHA for 03ccb2e - Browse repository at this point
Copy the full SHA 03ccb2eView commit details -
Fix 3921 Support inherited DependencyProperty lookup (#4350)
<!-- Please be sure to read our [Contribute guide](https://www.reactiveui.net/contribute/index.html) before opening a PR. --> ## What kind of change does this PR introduce? <!-- Bug fix, feature, docs update, refactor, ci, ... --> Fix ## What is the current behavior? <!-- You can also link to an open issue here. Use "Closes #123" to auto-close on merge. --> Closes #3921 ## What is the new behavior? <!-- If this is a feature change --> Use DependencyPropertyDescriptor.FromName to resolve dependency properties declared on base control types (via DependencyObjectType.SystemType) and return the descriptor's DependencyProperty when found; fall back to existing enumeration otherwise. Add System.ComponentModel using and unit tests covering inherited property lookup (Selector.SelectedValue, TextBoxBase.IsReadOnly) and a BindWithValidation test for ComboBox.SelectedValue, plus a small TestViewWithComboBox and SelectedValue on the test view model. ## What might this PR break? ## Checklist - [x] I have read the [Contribute guide](https://www.reactiveui.net/contribute/index.html) - [x] Tests have been added or updated (for bug fixes / features) - [ ] Docs have been added or updated (for bug fixes / features) - [x] Changes target the `main` branch - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/) ## Additional information
Configuration menu - View commit details
-
Copy full SHA for 79661cf - Browse repository at this point
Copy the full SHA 79661cfView commit details -
chore(deps): update dependency microsoft.windowsappsdk to v2 (#4347)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Microsoft.WindowsAppSDK](https://redirect.github.com/microsoft/windowsappsdk) | `1.8.260416003` → `2.0.1` |  |  | --- ### Release Notes <details> <summary>microsoft/windowsappsdk (Microsoft.WindowsAppSDK)</summary> ### [`v2.0.1`](https://redirect.github.com/microsoft/WindowsAppSDK/releases/tag/v2.0.1): Windows App SDK 2.0 (2.0.1) 🎉 WinAppSDK 2.0 is the next major release of the Windows App SDK, the first major version update since 1.0 (November 2021) and the first release on the new [Semantic Versioning](https://semver.org/) scheme. It ships new XAML capabilities, a modernized Storage Pickers surface, expanded popup and anchoring APIs in `Microsoft.UI.Content`, a new package deployment and validation framework, a refactored Windows ML stack, and additions across the Windows AI surface. ##### What's new in WinAppSDK 2.0: - **Semantic Versioning.** Windows App SDK 2.0 standardizes on [SemVer 2.0.0](https://semver.org/) and aligns the SDK version with the NuGet package version, so there's no separate date-based build number to track. The package family name now aligns with the major version, so the next side-by-side release will be 3.0.0. - **WebView2 (WinUI 3) drag support.** Dragging text, HTML, images, and URLs out of WebView2 content hosted in WinUI 3 is now supported, along with drag cancellation, custom drag visuals, and customizable drag data. (Requires WebView2 Runtime 144.0.3719.11 or higher.) - **Package deployment and validation.** The `Microsoft.Windows.Management.Deployment` namespace adds a new `IPackageValidator` framework with three built-in validators (`PackageCertificateEkuValidator`, `PackageFamilyNameValidator`, `PackageMinimumVersionValidator`), plus a new `PackageVolume` API for managing the storage volumes that packages are staged onto. - **Windows ML refactor.** Core Windows ML features have been refactored into a new base package, `Microsoft.Windows.AI.MachineLearning`, with a minimal set of dependencies that supports apps down to Windows 10 v1903. The existing `Microsoft.WindowsAppSDK.ML` package continues to support Windows 10 v1809. The included **ONNX Runtime** version has been updated to 1.24.5. - **Windows AI additions.** New `AIFeatureReadyState` values (`CapabilityMissing`, `NotCompatibleWithSystemHardware`, `OSUpdateNeeded`) help apps explain transient and durable failures during AI model acquisition so users get actionable guidance instead of a generic "not ready" condition. Phi Silica APIs are now enforced as part of a Limited Access Feature (LAF); see [Phi Silica](https://learn.microsoft.com/windows/ai/apis/phi-silica) for details. - **Storage Pickers updates.** The `Microsoft.Windows.Storage.Pickers` API (introduced in 1.8) is extended with file type choice grouping, persistent settings identifiers, suggested start folders, custom titles, multi-folder picking, and more, across `FileOpenPicker`, `FileSavePicker`, and `FolderPicker`. - **`SystemBackdropElement`** is a new lightweight `FrameworkElement` that lets apps place a system backdrop such as Mica or Acrylic anywhere within the XAML layout, with a `CornerRadius` property for rounded backdrop areas. It closes a long-standing WinUI 3 gap where in-app acrylic effects (previously straightforward in WinUI 2 via `AcrylicBrush.BackgroundSource`) had no direct equivalent. - **Custom XAML Conditionals (`IXamlCondition`)** enable developers to define custom conditions that integrate with XAML's conditional namespace syntax and are evaluated at XAML parse time. This replaces the experimental `IXamlPredicate` interface and unlocks conditional XAML based on feature flags, device capabilities, business logic, configuration settings, and other runtime conditions. - **Relative popup positioning** in `Microsoft.UI.Content`. The new `PopupAnchor` API allows `DesktopPopupSiteBridge` to anchor to its owning window or island instead of being limited to absolute screen coordinates, with new `AnchoringBehavior` and `AnchoringPixelAlignment` properties to control the behavior. ##### Notable bug fixes: - Fixed an issue where the WindowsAppSDK installer showed no progress during installation, making it appear stalled. The installer now provides clearer progress feedback. - Fixed `MSB8027` and `LNK4042` build warnings caused by duplicate `ClCompile` items in Windows App SDK NuGet `.targets` files. - Fixed a ListView crash that could occur during keyboard navigation (Tab/Shift+Tab) after the items list was updated. - Fixed an issue where WinUI 3 could crash if focus was moved to the `CoreWebView2Controller` while the controller was not visible. - Fixed a Windows ML bug where calling `RegisterCertifiedAsync` again in the same process incorrectly returned 0 execution providers (EP). **To see everything that's new and changed, including upgrade guidance and known issues, see the full [Windows App SDK 2.0 release notes](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/release-notes/windows-app-sdk-2-0?pivots=stable).** ##### Try it out - Download the [2.0.1 NuGet](https://www.nuget.org/packages/Microsoft.WindowsAppSDK/2.0.1) package to use WinAppSDK 2.0 in your app. - Download and update the [WinUI Gallery](https://www.microsoft.com/store/productId/9P3JFPWWDZRC) to see the WinUI 3 updates firsthand. ##### Getting started To get started using Windows App SDK to develop Windows apps, check out the following documentation: - [Install developer tools](https://docs.microsoft.com/windows/apps/windows-app-sdk/set-up-your-development-environment). - [Create a WinUI 3 app](https://docs.microsoft.com/windows/apps/winui/winui3/create-your-first-winui3-app). - [Continue your development journey](https://docs.microsoft.com/windows/apps/develop). </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/reactiveui/ReactiveUI). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJEZXBlbmRlbmN5IE1hbmFnZW1lbnQiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for adb2598 - Browse repository at this point
Copy the full SHA adb2598View commit details -
chore(deps): update dependency microsoft.testing.platform.msbuild to …
…2.2.2 (#4348) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Microsoft.Testing.Platform.MSBuild](https://redirect.github.com/microsoft/testfx) | `2.2.1` → `2.2.2` |  |  | --- ### Release Notes <details> <summary>microsoft/testfx (Microsoft.Testing.Platform.MSBuild)</summary> ### [`v2.2.2`](https://redirect.github.com/microsoft/testfx/releases/tag/v2.2.2) See release notes [here](https://redirect.github.com/microsoft/testfx/blob/main/docs/Changelog.md#222---2021-03-15). </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/reactiveui/ReactiveUI). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJEZXBlbmRlbmN5IE1hbmFnZW1lbnQiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 6eb0c7f - Browse repository at this point
Copy the full SHA 6eb0c7fView commit details -
chore(deps): update xamarin & androidx to 1.6.0 (#4340)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Xamarin.AndroidX.Collection.Jvm](https://aka.ms/android-libraries) ([source](https://redirect.github.com/xamarin/AndroidX)) | `1.5.0.5` → `1.6.0` |  |  | | [Xamarin.AndroidX.Collection.Ktx](https://aka.ms/android-libraries) ([source](https://redirect.github.com/xamarin/AndroidX)) | `1.5.0.5` → `1.6.0` |  |  | --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/reactiveui/ReactiveUI). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJEZXBlbmRlbmN5IE1hbmFnZW1lbnQiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 5cd13f6 - Browse repository at this point
Copy the full SHA 5cd13f6View commit details -
chore(deps): update dependency microsoft.windows.sdk.buildtools to 10…
….0.28000.1839 (#4346) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Microsoft.Windows.SDK.BuildTools](https://aka.ms/WinSDKProjectURL) | `10.0.28000.1721` → `10.0.28000.1839` |  |  | --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/reactiveui/ReactiveUI). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJEZXBlbmRlbmN5IE1hbmFnZW1lbnQiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0943b5d - Browse repository at this point
Copy the full SHA 0943b5dView commit details -
chore(deps): update akavache to v12 (major) (#4345)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Akavache.Sqlite3](https://redirect.github.com/reactiveui/akavache) | `11.6.1` → `12.0.12` |  |  | | [Akavache.SystemTextJson](https://redirect.github.com/reactiveui/akavache) | `11.6.1` → `12.0.12` |  |  | --- ### Release Notes <details> <summary>reactiveui/akavache (Akavache.Sqlite3)</summary> ### [`v12.0.12`](https://redirect.github.com/reactiveui/Akavache/releases/tag/12.0.12) [Compare Source](https://redirect.github.com/reactiveui/akavache/compare/12.0.8...12.0.12) ##### 🗞️ What's Changed ##### 🐛 Fixes - [reactiveui/Akavache@`6d921bd`](https://redirect.github.com/reactiveui/Akavache/commit/6d921bdf3c20ed08dc1696604e1aec9b7125e367) Fixed initialization example after v12 API changes ([#​1187](https://redirect.github.com/reactiveui/akavache/issues/1187)) [@​markuspalme](https://redirect.github.com/markuspalme) - [reactiveui/Akavache@`5b1a4cd`](https://redirect.github.com/reactiveui/Akavache/commit/5b1a4cd867fa1f6d94965888fd6091a8e0939dc0) fix: read Akavache 11.x encrypted databases with v12 ([#​1192](https://redirect.github.com/reactiveui/akavache/issues/1192)) [@​markuspalme](https://redirect.github.com/markuspalme) ##### 📦 Dependencies - [reactiveui/Akavache@`bc5628f`](https://redirect.github.com/reactiveui/Akavache/commit/bc5628faf5f4a424af556ef13e956c5911329054) chore(deps): update dependency microsoft.sourcelink.github to 10.0.203 ([#​1181](https://redirect.github.com/reactiveui/akavache/issues/1181)) [@​renovate](https://redirect.github.com/renovate)\[bot] ##### 📌 Other - [reactiveui/Akavache@`be23347`](https://redirect.github.com/reactiveui/Akavache/commit/be233471e3258d01d1d25723b557a86d2d79672a) Revise serializer compatibility details in README [@​glennawatson](https://redirect.github.com/glennawatson) 🔗 **Full Changelog**: <reactiveui/Akavache@12.0.8...12.0.12> ##### 🙌 Contributions 🌱 New contributors since the last release: [@​markuspalme](https://redirect.github.com/markuspalme) 💖 Thanks to all the contributors: [@​glennawatson](https://redirect.github.com/glennawatson), [@​markuspalme](https://redirect.github.com/markuspalme) 🤖 Automated services that contributed: [@​renovate](https://redirect.github.com/renovate)\[bot] ### [`v12.0.8`](https://redirect.github.com/reactiveui/Akavache/releases/tag/12.0.8) [Compare Source](https://redirect.github.com/reactiveui/akavache/compare/11.6.1...12.0.8) ##### DANGER. Note this is a major upgrade release. We have moved away from the high level SQLite library, and moved towards a low level library. ##### What's Changed - feat: V12 API modernization, AOT-safe assembly config, V10→V11 migration, and full coverage by [@​glennawatson](https://redirect.github.com/glennawatson) in [reactiveui/Akavache#1178](https://redirect.github.com/reactiveui/Akavache/pull/1178) - perf: allocation reduction sweep across Rx, SQLite and serializer hot paths by [@​glennawatson](https://redirect.github.com/glennawatson) in [reactiveui/Akavache#1179](https://redirect.github.com/reactiveui/Akavache/pull/1179) - breaking: replace sqlite-net-pcl with SQLitePCLRaw, extract Akavache.Http by [@​glennawatson](https://redirect.github.com/glennawatson) in [reactiveui/Akavache#1182](https://redirect.github.com/reactiveui/Akavache/pull/1182) - chore(deps): update dependency verify.tunit to 31.16.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [reactiveui/Akavache#1183](https://redirect.github.com/reactiveui/Akavache/pull/1183) - chore(deps): update dependency microsoft.windowsappsdk to 1.8.260416003 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [reactiveui/Akavache#1185](https://redirect.github.com/reactiveui/Akavache/pull/1185) - chore(deps): update dependency verify.tunit to 31.16.2 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [reactiveui/Akavache#1184](https://redirect.github.com/reactiveui/Akavache/pull/1184) - chore: Rename Akavache.Http → Akavache.HttpDownloader to avoid NuGet name collision by [@​Copilot](https://redirect.github.com/Copilot) in [reactiveui/Akavache#1186](https://redirect.github.com/reactiveui/Akavache/pull/1186) **Full Changelog**: <reactiveui/Akavache@11.6.1...12.0.8> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/reactiveui/ReactiveUI). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJEZXBlbmRlbmN5IE1hbmFnZW1lbnQiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for b54d29b - Browse repository at this point
Copy the full SHA b54d29bView commit details -
Fix for 4280 interaction async handler scheduling (#4351)
<!-- Please be sure to read our [Contribute guide](https://www.reactiveui.net/contribute/index.html) before opening a PR. --> ## What kind of change does this PR introduce? <!-- Bug fix, feature, docs update, refactor, ci, ... --> Fix ## What is the current behavior? <!-- You can also link to an open issue here. Use "Closes #123" to auto-close on merge. --> Closes #4280 ## What is the new behavior? <!-- If this is a feature change --> This pull request refactors the `Interaction` handler registration and execution logic in `ReactiveUI` to improve consistency, reliability, and testability, especially around asynchronous handler scenarios. It introduces a unified handler registration core, ensures asynchronous handlers yield to the current context, and updates tests to use modern async/await patterns. Several new tests are also added to verify scheduler release behavior for both task-based and observable handlers. **Core handler registration and async context improvements:** * Introduced a private `RegisterHandlerCore` method to centralize handler registration and disposal logic, replacing duplicated code in `RegisterHandler` overloads. [[1]](diffhunk://#diff-4c32538b51e31225de509d21d08ea6cfd573a7df738530957077df781d5d3ba9L90-R129) [[2]](diffhunk://#diff-4c32538b51e31225de509d21d08ea6cfd573a7df738530957077df781d5d3ba9R172-R192) * Added a private `YieldToCurrentContext` method to ensure asynchronous handlers (both `Task` and `IObservable`-based) yield execution before invoking user code, preventing scheduler trampoline issues and improving nested interaction support. [[1]](diffhunk://#diff-4c32538b51e31225de509d21d08ea6cfd573a7df738530957077df781d5d3ba9L90-R129) [[2]](diffhunk://#diff-4c32538b51e31225de509d21d08ea6cfd573a7df738530957077df781d5d3ba9R172-R192) **Test modernization and reliability:** * Updated all relevant tests in `InteractionsTest.cs` to use `async`/`await` and `ToTask()` instead of synchronous blocking (`Wait()`/`FirstAsync().Wait()`), improving test reliability and better reflecting real-world async usage. [[1]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceL26-R28) [[2]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceL45-R60) [[3]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceL177-R258) [[4]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceL210-R277) [[5]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceL225-R304) [[6]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceL264-R345) * Marked the `InteractionsTest` class with `[NotInParallel]` to ensure tests are not run in parallel, avoiding flakiness due to shared state. **Expanded test coverage for async handler behavior:** * Added tests to verify that both `Task`-based and `IObservable`-based handlers release the current scheduler before executing user code, ensuring nested interactions are not blocked and behave as expected. **Test improvements for handler precedence and subscription timing:** * Enhanced tests to more reliably detect when handlers are subscribed and to ensure correct handler precedence, especially in asynchronous scenarios, using `TaskCompletionSource` for precise subscription tracking. [[1]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceR100-R120) [[2]](diffhunk://#diff-f2ed870457c71b058a31b5f78fde682cb52406c51bd54a6626d8f71de439d2ceR129) These changes collectively make handler registration more robust, improve async interaction patterns, and ensure that both the implementation and test suite are future-proof and reliable. ## What might this PR break? ## Checklist - [x] I have read the [Contribute guide](https://www.reactiveui.net/contribute/index.html) - [x] Tests have been added or updated (for bug fixes / features) - [ ] Docs have been added or updated (for bug fixes / features) - [x] Changes target the `main` branch - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/) ## Additional information
Configuration menu - View commit details
-
Copy full SHA for 303d184 - Browse repository at this point
Copy the full SHA 303d184View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 23.2.19...23.2.27