Fix notification preference update handling and verification messaging AB#17079#6722
Open
BrianMaki wants to merge 8 commits into
Open
Fix notification preference update handling and verification messaging AB#17079#6722BrianMaki wants to merge 8 commits into
BrianMaki wants to merge 8 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts notification preference update semantics (single-model vs multi-model) to avoid unintentionally overwriting omitted channel values, improves PHSA/outbox event target construction, and refines the profile UI behavior around notification toggles and SMS verification.
Changes:
- Updated Gateway API notification setting updates to treat EmailEnabled/SmsEnabled as optional inputs and to emit preference events that preserve existing channel values where appropriate.
- Refined WebClient notification toggling/verification flows (switch state handling, SMS verification/profile refresh, and verified SMS messaging behavior).
- Removed obsolete JobScheduler backfill/cleanup jobs and their configuration.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Testing/functional/tests/cypress/integration/ui/user/profileNotificationSettings.js | Updates Cypress assertions for rollback behavior during failed notification preference saves. |
| Apps/WebClient/src/ClientApp/src/components/private/profile/VerifySmsDialogComponent.vue | Adds a profile refresh on successful SMS verification before emitting verified. |
| Apps/WebClient/src/ClientApp/src/components/private/profile/UserProfileSmsComponent.vue | Resets the “verified SMS” message when the user’s email changes. |
| Apps/WebClient/src/ClientApp/src/components/private/profile/UserProfileNotificationsComponent.vue | Simplifies channel state initialization and switch binding/rollback on save failure. |
| Apps/JobScheduler/src/Startup.cs | Removes obsolete job option bindings. |
| Apps/JobScheduler/src/appsettings.json | Removes obsolete job configuration blocks. |
| Apps/JobScheduler/src/Models/BatchJobOptionsBase.cs | Removed (obsolete batch job options base). |
| Apps/JobScheduler/src/Models/NotificationBackfillOptions.cs | Removed (obsolete notification backfill options). |
| Apps/JobScheduler/src/Models/ClearSmsNumberOptions.cs | Removed (obsolete clear-SMS-number options). |
| Apps/JobScheduler/src/Jobs/NotificationBackfillJob.cs | Removed (obsolete notification backfill job). |
| Apps/JobScheduler/src/Jobs/ClearSmsNumberJob.cs | Removed (obsolete clear-SMS-number job). |
| Apps/GatewayApi/src/Services/UserProfileNotificationSettingService.cs | Implements optional-channel update behavior and event target construction for both overloads. |
| Apps/GatewayApi/src/Services/IUserProfileNotificationSettingService.cs | Updates contract docs to reflect optional channel inputs and event behavior. |
| Apps/GatewayApi/test/unit/Services.Test/UserProfileNotificationSettingServiceTests.cs | Expands/adjusts unit tests to cover combined target logic and null/commit behaviors. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
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.
Fixes or Implements AB#17079
Description
Summary
This PR fixes notification preference handling for both single-model and multi-model update flows.
Service Changes
UI Changes
Testing
Unit tests:
Functional Tests:
https://cloud.cypress.io/projects/ofnepc/runs/6741/overview?roarHideRunsWithDiffGroupsAndTags=1
Testing
UI Changes
No visual change but refresh logic was modified.
Notes
Items to Review: