Support Web Notifications for application notifications.
Major steps are likely to be:
- Notifications require an enrollment step where the browser asks users to confirm that they want notifications.
- Add Settings → Desktop Notifications and have that page check for enrollment and prompt the user to enroll.
- This panel should also let users disable desktop notifications completely.
- This panel should have a "Send test notification" button so users can confirm that notifications work and see what they look like.
- If users are enrolled, we should emit application notifications as desktop notifications.
- We may need to use JX.Leader to synchronize this (so multiple open tabs do not produce multiple identical notifications), or all browsers may be smart enough to deduplicate on their own.
- We may need some additional preferences to control which application notifications promote into desktop notifications, but we'll probably have to build it and see how it feels first.