coralproject / talk

A better commenting experience from Vox Media
https://coralproject.net
Other
1.89k stars 355 forks source link

[CORL-3031]: User preferences for in-page notifications #4500

Closed kabeaty closed 7 months ago

kabeaty commented 7 months ago

What does this PR do?

These changes update the user preferences to show in-page notification settings (with provided defaults) as well as the ability for the user to update their in-page notification settings.

These changes will impact:

What changes to the GraphQL/Database Schema does this PR introduce?

These changes add inPageNotifications to the user model with 6 initial configuration fields. They also add in the updateUserInPageNotificationSettings mutation to change a user's inPageNotifications settings.

Does this PR introduce any new environment variables or feature flags?

no

If any indexes were added, were they added to INDEXES.md?

n/a

How do I test this PR?

Make sure that Z_KEY isn't enabled. See that email notification settings are showing in user preferences for a logged-in user. See that they can still be updated, etc., as expected.

Enable Z_KEY. See that now in-page notification settings are showing. You should see an active bell icon beside the In-page notifications header in user preferences. Enable/disable the settings and see that the changes are correctly persisted to the user model for the commenter you are logged in as.

Were any tests migrated to React Testing Library?

How do we deploy this PR?