Support [[ http://www.w3.org/TR/notifications/ | 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 {nav 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.