diff --git a/zerver/views/streams.py b/zerver/views/streams.py index 7c0feb20bc..daadacdbc0 100644 --- a/zerver/views/streams.py +++ b/zerver/views/streams.py @@ -617,9 +617,16 @@ def add_subscriptions_backend( group_settings_map[setting_name] = get_stream_permission_default_group( setting_name, system_groups_name_dict, creator=user_profile ) - setting_groups_dict[group_settings_map[setting_name].id] = group_settings_map[ - setting_name - ].id + if permission_configuration.default_group_name == "stream_creator_or_nobody": + # Default for some settings like "can_administer_channel_group" + # is anonymous group with stream creator. + setting_groups_dict[group_settings_map[setting_name].id] = ( + AnonymousSettingGroupDict(direct_subgroups=[], direct_members=[user_profile.id]) + ) + else: + setting_groups_dict[group_settings_map[setting_name].id] = group_settings_map[ + setting_name + ].id for stream_obj in streams_raw: # 'color' field is optional