From ca57400771de0a74f46f2376b5dcb2534bdeda25 Mon Sep 17 00:00:00 2001 From: YashRE42 <33805964+YashRE42@users.noreply.github.com> Date: Wed, 24 Nov 2021 21:27:54 +0530 Subject: [PATCH] stream_create: Always insert change-stream-privacy button. Previously, if an admin created a private stream with shared history or a private stream with protected history, they would see the general tab for that stream in the right side of the subscriptions_overlay as expected, but, they would not see the pencil button to change stream privacy unless they clicked a different stream and came back. The reason for this has to do with how we receive events when we create a sub. We first get an event with type "stream" and op "create", we then get an event with type "subscription" and op "add" ie we create the stream and then sub ourselves to it. Now, we render `stream_settings.hbs` while handling the "stream create" event, at this time we pass `can_change_stream_permissions` as false since `(!sub.invite_only || sub.subscribed)` is false because we're not subscribed yet. This causes us to skip the insertion of the "change-stream-privacy" block which is a problem because when we're handling the "subscription add" event, we run `stream_ui_updates.update_change_stream_privacy_settings(sub)` which tries to show the element via `.show()` but can't since the element does not exist and as a result the admin user does not see the pencil edit button. This commit fixes the above bug by changing the template such that we always insert the button, but conditionally apply `style="display:none"`. Fixes: #20345. --- static/templates/stream_settings/stream_settings.hbs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/static/templates/stream_settings/stream_settings.hbs b/static/templates/stream_settings/stream_settings.hbs index c06ea3f2ba..f3df573c45 100644 --- a/static/templates/stream_settings/stream_settings.hbs +++ b/static/templates/stream_settings/stream_settings.hbs @@ -46,14 +46,12 @@