This adds a new table UserNotificationSchedules which stores monday-friday start and ends times that each user would like to receive notifications (with a Boolean enabled to remove the use of the schedule). There is then a background job that runs every day and creates do_not_disturb_timings for each user with an enabled notification schedule. The job schedules timings 2 days in advance. The job is designed so that it can be run at any point in time, and it will not create duplicate records. When a users saves their notification schedule, the schedule processing service will run and schedule do_not_disturb_timings. If the user should be in DND due to their schedule, the user will immediately be put in DND (message bus publishes this state). The UI for a user's notification schedule is in user -> preferences -> notifications. By default every day is 8am - 5pm when first enabled. |
||
|---|---|---|
| .. | ||
| anonymous_shadow_creator_spec.rb | ||
| auto_silence_spec.rb | ||
| badge_granter_spec.rb | ||
| color_scheme_revisor_spec.rb | ||
| destroy_task_spec.rb | ||
| email_style_updater_spec.rb | ||
| flag_sockpuppets_spec.rb | ||
| group_action_logger_spec.rb | ||
| group_mentions_updater_spec.rb | ||
| group_message_spec.rb | ||
| heat_settings_updater_spec.rb | ||
| inline_uploads_spec.rb | ||
| notification_emailer_spec.rb | ||
| post_action_notifier_spec.rb | ||
| post_alerter_spec.rb | ||
| post_owner_changer_spec.rb | ||
| push_notification_pusher_spec.rb | ||
| random_topic_selector_spec.rb | ||
| search_indexer_spec.rb | ||
| site_settings_spec.rb | ||
| staff_action_logger_spec.rb | ||
| themes_spec.rb | ||
| topic_status_updater_spec.rb | ||
| topic_timestamp_changer_spec.rb | ||
| trust_level_granter_spec.rb | ||
| user_activator_spec.rb | ||
| user_anonymizer_spec.rb | ||
| user_authenticator_spec.rb | ||
| user_destroyer_spec.rb | ||
| user_merger_spec.rb | ||
| user_notification_schedule_processor_spec.rb | ||
| user_silencer_spec.rb | ||
| user_updater_spec.rb | ||
| username_changer_spec.rb | ||
| username_checker_service_spec.rb | ||
| wildcard_domain_checker_spec.rb | ||
| wildcard_url_checker_spec.rb | ||
| word_watcher_spec.rb | ||