diff --git a/frontend_tests/node_tests/stream_data.js b/frontend_tests/node_tests/stream_data.js index 9d52b6b6ef..d22a4e493b 100644 --- a/frontend_tests/node_tests/stream_data.js +++ b/frontend_tests/node_tests/stream_data.js @@ -645,60 +645,60 @@ run_test('notifications', () => { stream_data.clear_subscriptions(); stream_data.add_sub(india); - assert(!stream_data.receives_notifications('Indiana', "desktop_notifications")); - assert(!stream_data.receives_notifications('Indiana', "audible_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "desktop_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "audible_notifications")); page_params.enable_stream_desktop_notifications = true; page_params.enable_stream_audible_notifications = true; - assert(stream_data.receives_notifications('India', "desktop_notifications")); - assert(stream_data.receives_notifications('India', "audible_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "desktop_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "audible_notifications")); page_params.enable_stream_desktop_notifications = false; page_params.enable_stream_audible_notifications = false; - assert(!stream_data.receives_notifications('India', "desktop_notifications")); - assert(!stream_data.receives_notifications('India', "audible_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "desktop_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "audible_notifications")); india.desktop_notifications = true; india.audible_notifications = true; - assert(stream_data.receives_notifications('India', "desktop_notifications")); - assert(stream_data.receives_notifications('India', "audible_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "desktop_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "audible_notifications")); india.desktop_notifications = false; india.audible_notifications = false; page_params.enable_stream_desktop_notifications = true; page_params.enable_stream_audible_notifications = true; - assert(!stream_data.receives_notifications('India', "desktop_notifications")); - assert(!stream_data.receives_notifications('India', "audible_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "desktop_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "audible_notifications")); page_params.wildcard_mentions_notify = true; - assert(stream_data.receives_notifications('India', "wildcard_mentions_notify")); + assert(stream_data.receives_notifications(india.stream_id, "wildcard_mentions_notify")); page_params.wildcard_mentions_notify = false; - assert(!stream_data.receives_notifications('India', "wildcard_mentions_notify")); + assert(!stream_data.receives_notifications(india.stream_id, "wildcard_mentions_notify")); india.wildcard_mentions_notify = true; - assert(stream_data.receives_notifications('India', "wildcard_mentions_notify")); + assert(stream_data.receives_notifications(india.stream_id, "wildcard_mentions_notify")); page_params.wildcard_mentions_notify = true; india.wildcard_mentions_notify = false; - assert(!stream_data.receives_notifications('India', "wildcard_mentions_notify")); + assert(!stream_data.receives_notifications(india.stream_id, "wildcard_mentions_notify")); page_params.enable_stream_push_notifications = true; - assert(stream_data.receives_notifications('India', "push_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "push_notifications")); page_params.enable_stream_push_notifications = false; - assert(!stream_data.receives_notifications('India', "push_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "push_notifications")); india.push_notifications = true; - assert(stream_data.receives_notifications('India', "push_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "push_notifications")); page_params.enable_stream_push_notifications = true; india.push_notifications = false; - assert(!stream_data.receives_notifications('India', "push_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "push_notifications")); page_params.enable_stream_email_notifications = true; - assert(stream_data.receives_notifications('India', "email_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "email_notifications")); page_params.enable_stream_email_notifications = false; - assert(!stream_data.receives_notifications('India', "email_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "email_notifications")); india.email_notifications = true; - assert(stream_data.receives_notifications('India', "email_notifications")); + assert(stream_data.receives_notifications(india.stream_id, "email_notifications")); page_params.enable_stream_email_notifications = true; india.email_notifications = false; - assert(!stream_data.receives_notifications('India', "email_notifications")); + assert(!stream_data.receives_notifications(india.stream_id, "email_notifications")); const canada = { stream_id: 103, diff --git a/static/js/notifications.js b/static/js/notifications.js index 295a720c46..10eb6d9c83 100644 --- a/static/js/notifications.js +++ b/static/js/notifications.js @@ -467,7 +467,7 @@ exports.should_send_desktop_notification = function (message) { // For streams, send if desktop notifications are enabled for all // message on this stream. if (message.type === "stream" && - stream_data.receives_notifications(message.stream, "desktop_notifications")) { + stream_data.receives_notifications(message.stream_id, "desktop_notifications")) { return true; } @@ -493,7 +493,7 @@ exports.should_send_desktop_notification = function (message) { // wildcard mentions if (message.mentioned && - stream_data.receives_notifications(message.stream, "wildcard_mentions_notify")) { + stream_data.receives_notifications(message.stream_id, "wildcard_mentions_notify")) { return true; } @@ -504,7 +504,7 @@ exports.should_send_audible_notification = function (message) { // For streams, ding if sounds are enabled for all messages on // this stream. if (message.type === "stream" && - stream_data.receives_notifications(message.stream, "audible_notifications")) { + stream_data.receives_notifications(message.stream_id, "audible_notifications")) { return true; } @@ -529,7 +529,7 @@ exports.should_send_audible_notification = function (message) { // wildcard mentions if (message.mentioned && - stream_data.receives_notifications(message.stream, "wildcard_mentions_notify")) { + stream_data.receives_notifications(message.stream_id, "wildcard_mentions_notify")) { return true; } diff --git a/static/js/stream_data.js b/static/js/stream_data.js index b2292a5be4..52609097ab 100644 --- a/static/js/stream_data.js +++ b/static/js/stream_data.js @@ -431,8 +431,8 @@ exports.update_message_retention_setting = function (sub, message_retention_day sub.message_retention_days = message_retention_days; }; -exports.receives_notifications = function (stream_name, notification_name) { - const sub = exports.get_sub(stream_name); +exports.receives_notifications = function (stream_id, notification_name) { + const sub = exports.get_sub_by_id(stream_id); if (sub === undefined) { return false; } @@ -753,7 +753,7 @@ exports.get_unmatched_streams_for_notification_settings = function () { for (const notification_name of settings_config.stream_specific_notification_settings) { const prepend = notification_name === 'wildcard_mentions_notify' ? "" : "enable_stream_"; const default_setting = page_params[prepend + notification_name]; - const stream_setting = exports.receives_notifications(row.name, notification_name); + const stream_setting = exports.receives_notifications(row.stream_id, notification_name); settings_values[notification_name] = stream_setting; if (stream_setting !== default_setting) { diff --git a/static/js/stream_ui_updates.js b/static/js/stream_ui_updates.js index 0eb86dabe1..38bc59e8c8 100644 --- a/static/js/stream_ui_updates.js +++ b/static/js/stream_ui_updates.js @@ -103,7 +103,7 @@ exports.update_notification_setting_checkbox = function (notification_name) { } const stream_id = stream_row.data('stream-id'); $(`#${notification_name}_${stream_id}`).prop("checked", stream_data.receives_notifications( - stream_data.maybe_get_stream_name(stream_id), notification_name)); + stream_id, notification_name)); }; exports.update_stream_row_in_settings_tab = function (sub) {