From e6cc0ffcdd9e8aa8755171ad5b5557f0526b4829 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Tue, 16 May 2017 10:09:46 -0700 Subject: [PATCH] Eliminate PMs to non-subscribers when creating streams. This should make stream creation relatively fast again, since we will no longer send O(N) PMs out to tell folks the stream was created. --- zerver/tests/test_subs.py | 8 -------- zerver/views/streams.py | 20 -------------------- 2 files changed, 28 deletions(-) diff --git a/zerver/tests/test_subs.py b/zerver/tests/test_subs.py index 5bd33f545a..8eb6e1de22 100644 --- a/zerver/tests/test_subs.py +++ b/zerver/tests/test_subs.py @@ -1364,7 +1364,6 @@ class SubscriptionAPITest(ZulipTestCase): Calling POST /json/users/me/subscriptions should notify when a new stream is created. """ invitee = "iago@zulip.com" - invitee_full_name = 'Iago' current_stream = self.get_streams(invitee)[0] invite_streams = self.make_random_stream_names([current_stream])[:1] @@ -1378,13 +1377,6 @@ class SubscriptionAPITest(ZulipTestCase): ) self.assert_json_success(result) - msg = self.get_second_to_last_message() - self.assertEqual(msg.recipient.type, Recipient.PERSONAL) - self.assertEqual(msg.sender_id, self.notification_bot().id) - - expected_msg = "Hi there! %s just created a new stream #**%s**." % (invitee_full_name, invite_streams[0]) - self.assertEqual(msg.content, expected_msg) - def test_successful_subscriptions_notifies_stream(self): # type: () -> None """ diff --git a/zerver/views/streams.py b/zerver/views/streams.py index 9f010fc50b..a0393e24ec 100644 --- a/zerver/views/streams.py +++ b/zerver/views/streams.py @@ -330,26 +330,6 @@ def add_subscriptions_backend(request, user_profile, topic=topic, content=msg)) - else: - msg = ("Hi there! %s just created a new stream #**%s**." - % (user_profile.full_name, created_streams[0].name)) - - sender = get_user_profile_by_email(settings.NOTIFICATION_BOT) - for realm_user_dict in get_active_user_dicts_in_realm(user_profile.realm): - # Don't announce to yourself or to people you explicitly added - # (who will get the notification above instead). - if realm_user_dict['email'] in principals or realm_user_dict['email'] == user_profile.email: - continue - - recipient_email = realm_user_dict['email'] - - notifications.append( - internal_prep_private_message( - realm=user_profile.realm, - sender=sender, - recipient_email=recipient_email, - content=msg)) - if not user_profile.realm.is_zephyr_mirror_realm: for stream in created_streams: notifications.append(prep_stream_welcome_message(stream))