-
Notifications
You must be signed in to change notification settings - Fork 84
Update DSR notification UX #7192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
ENG-2303 Updates the privacy request error notification email template with new branding, improved copy, and enhanced UX in the notification configuration drawer.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
Greptile SummaryThis PR updates the DSR notification UX with improved branding and migrates the frontend from Chakra UI/Formik to Ant Design/React state. Key changes:
Critical issue:
Confidence Score: 3/5
Important Files Changed
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
6 files reviewed, 2 comments
clients/admin-ui/src/features/privacy-requests/drawers/ConfigureAlerts.tsx
Show resolved
Hide resolved
clients/admin-ui/src/features/privacy-requests/drawers/ConfigureAlerts.tsx
Outdated
Show resolved
Hide resolved
If you saved an email, then closed and reopened the tray, the email would disappear. this Fixes that.
|
@galvana There is technically a BE change here, cursor found a bug and updated it. If we don't want to include that we don't have to. LMK. |
ConfigureAlerts.tsx: Reorganized UI: global "Enable email notifications" toggle at top (defaults to ON) Updated copy: "Email addresses", "Send notification after [N] error(s)" with help text Form resets to defaults when drawer closes Split useEffect: one for query enable, one for data population Replaced div separators with Divider component Added array safety check to prevent dummy emails EmailChipList.tsx: Added disabled prop support Disables input and prevents email removal when disabled ProtectedRoute.tsx: Removed "/" from REDIRECT_IGNORES to fix 404 — unauthenticated users now redirect to login Result: Clearer UX with notifications enabled by default, threshold controls frequency, and no dummy emails pre-seeded.
|
Hey @jack-gale-ethyca what was the BE bug that Cursor found? |
|
The PUT endpoint for updating privacy request notifications was inconsistent: it used a hardcoded ", " to split email addresses, while the GET endpoint used the EMAIL_JOIN_STRING constant. This could cause issues if the constant changed and made the code harder to maintain. Code Changes Made Before: After: This aligns the PUT endpoint with the GET endpoint (line 674), which already used EMAIL_JOIN_STRING, ensuring consistent behavior and maintainability. Curious if you agree? |
Removed all BE code, redirects, etc. Simplifies the privacy request error notification email template to plain text copy, removing all styling, branding, and HTML structure. Changes Removed all CSS styling and complex HTML structure Removed branding elements (logos, banners, footer) Removed test email functionality Simplified to minimal HTML with plain text copy only Updated email copy to the new messaging Rationale Mailgun handles header, footer, and formatting. The template now provides only the email body copy, allowing Mailgun to apply consistent branding and styling. Email Copy The template now contains: Subject: Important information about your privacy request Body: Notification about processing issues and guidance to review in the admin dashboard This change ensures Mailgun can properly inject branding and formatting while maintaining the required notification content.
ENG-2303
Updates the privacy request error notification email template with new branding, improved copy, and enhanced UX in the notification configuration drawer.
Ticket ENG-2303
Description Of Changes
Email Template (
privacy_request_error_notification.html)Code Changes
Backend (
message_dispatch_service.py)unsent_errorsvariable wasn't being passed to templateorganization_nameandcompany_logo_urlvariablesFrontend (
ConfigureAlerts.tsx)Email Input Component (
EmailChipList.tsx)Steps to Confirm
Pre-Merge Checklist
CHANGELOG.mdupdatedmaindowngrade()migration is correct and works