Skip to content

Convert notification settings manager to use atomic reads/writes - #5762

Merged
rbev merged 3 commits into
masterfrom
rhys/atomic-commit
Aug 14, 2026
Merged

rbev merged 3 commits into
masterfrom
rhys/atomic-commit

Conversation

@rbev

@rbev rbev commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

This pull request refactors the notifications settings persistence layer to simplify its interface and implementation, removing the INotificationsManager abstraction in favor of direct LoadSettings and SaveSettings methods on INotificationsDataStore. It also updates the tests to match the new API and adds cancellation support. The changes affect both EFCore and RavenDB persistence implementations, as well as their respective test suites.

Persistence Layer Refactoring

  • Removed the INotificationsManager abstraction and its implementations (NotificationsManager for both EFCore and RavenDB), replacing them with direct LoadSettings and SaveSettings methods on INotificationsDataStore. This simplifies how notification settings are loaded and saved throughout the codebase. [1] [2] [3] [4]
  • Updated the EFCore and RavenDB implementations of INotificationsDataStore to provide the new methods, ensuring settings are loaded and saved directly via the data store. [1] [2]

Test Suite Updates

  • Refactored all affected tests to use the new LoadSettings and SaveSettings API instead of the removed manager abstraction, and added tests to verify cancellation token propagation. [1] [2]
  • Added helper methods in test context classes to check for the existence of notification settings in both EFCore and RavenDB implementations. [1] [2]

Application Code Updates

  • Updated the SetupNotificationSettings class in acceptance tests to use the new LoadSettings and SaveSettings methods directly, reflecting the removal of the manager abstraction.

@rbev rbev self-assigned this Aug 13, 2026
@rbev
rbev marked this pull request as ready for review August 13, 2026 03:32
@rbev
rbev force-pushed the rhys/atomic-commit branch 4 times, most recently from 4d6cf1c to fb42b2a Compare August 14, 2026 03:51
@rbev
rbev force-pushed the rhys/atomic-commit branch from fb42b2a to 16a649e Compare August 14, 2026 05:09
@rbev
rbev merged commit 56dcb23 into master Aug 14, 2026
54 checks passed
@rbev
rbev deleted the rhys/atomic-commit branch August 14, 2026 05:26
@rbev rbev added this to the 6.20.0 milestone Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants