Push notifications: admin UI polish + test reminder delivery fix#106
Merged
Conversation
The registered-devices line no longer uses the success color, and the test notification button is a secondary button so it stands out.
The Notifier dismisses appointment reminders once the user has answered with yes or no (AlreadyProcessedException). This also swallowed the admin test notification: the button reported success, but neither the bell nor a push ever arrived when the admin had already responded to the next open appointment. Test reminders now carry a 'test' subject parameter that skips the dismissal check, so the delivery chain can be verified end-to-end. The subject stays 'appointment_reminder', so older mobile clients are unaffected.
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.
Summary
UI (admin settings, push notifications section)
Fix: test notification never arrived for admins who already responded
The
Notifierdismissesappointment_remindernotifications viaAlreadyProcessedExceptiononce the user has answered the appointment with yes or no. Since the test button sends a regular reminder for the next open appointment, the test notification was silently swallowed whenever the admin had already responded: the button reported success, but nothing showed up in the bell and no push reached the devices (verified against the push relay delivery log — onlytype: backgrounddelete-pushes went out).Test reminders now carry a
testsubject parameter that skips the already-responded dismissal, so the button actually verifies the delivery chain end-to-end.Mobile compatibility: the subject stays
appointment_reminder; only an additional subject parameter is added. Older mobile clients are unaffected, no capability flag needed.Test plan
composer test:unit— 155 tests green, incl. newNotifierTestcovering dismissal, maybe-responder passthrough, and the test-reminder bypass🤖 Generated with Claude Code