zulip/zerver/views
Sahil Batra 1d026d9b2b streams: Make sure an anonymous group is used for only one setting.
When creating multiple streams using "POST /users/me/subscriptions"
endpoint, same anonymous group was being used for settings of all
the streams, like if can_subscribe_group was being set to an
anonymous group, all streams created using that endpoint would
use the same anonymous group for can_subscribe_group setting.

Using the same anonymous groups for multiple streams caused
unintended behavior  -

- Changing a setting for one stream also changed it for all
other streams sharing the the same anonymous group, because
eventually the members and subgroups of the group were updated.

- Changing the setting to a named user group failed because
`do_change_stream_permission_group` attempts to delete the
anonymous group during the update. However, deletion of
anonymous group is restricted if they are still referenced
by setting fields.

This commit fixes this so that one anonymous group is used
only for one setting for a single stream.
2025-11-04 11:51:31 -08:00
..
development slack_import: Ask importer for default email address visibility. 2025-11-02 14:36:20 -08:00
__init__.py
alert_words.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
antispam.py altcha: More error-proofing around settings validation. 2025-07-25 22:29:51 -07:00
attachments.py attachments: Correct attachment_id type from string to integer. 2023-10-22 17:06:34 -07:00
auth.py auth: Pass None as default_subdomain to verify the host. 2025-07-28 10:59:38 -07:00
channel_folders.py channel-folders: Add PATCH method to reorder channel folders. 2025-08-06 16:34:40 -07:00
compatibility.py django: Use HttpRequest.headers. 2022-05-13 20:42:20 -07:00
custom_profile_fields.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
digest.py mypy: Fix most AnonymousUser type errors. 2021-07-24 14:55:46 -07:00
documentation.py docs: Remove trailing slash from canonical URL for non-root docs. 2025-10-22 13:48:23 -04:00
drafts.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
errors.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
events_register.py api: Add support for passing partial to include_subscribers parameter. 2025-08-04 18:43:14 -07:00
health.py health: Disable RabbitMQ check if not USING_RABBITMQ. 2024-10-13 11:42:49 -07:00
home.py ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
invite.py ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
message_edit.py message: Use .is_channel_message column instead of is_stream_message(). 2025-08-19 23:37:07 -07:00
message_fetch.py narrow: Skip topic mutes for DM narrows. 2025-07-22 20:57:36 -07:00
message_flags.py ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
message_report.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
message_send.py zephyr: Remove Zephyr mirroring support. 2025-09-16 11:18:18 -07:00
message_summary.py settings: Add setting to control permission for topic summarization. 2025-02-12 12:05:04 -08:00
muted_users.py bots: Fix muting of cross realm bots. 2023-11-27 16:16:23 -08:00
navigation_views.py navigation_view: Add reminders to built-in view fragments. 2025-10-19 17:39:13 -07:00
onboarding_steps.py onboarding_steps: Add 'navigation_tour_video' for new users. 2025-03-13 14:38:16 -07:00
presence.py zephyr: Remove Zephyr mirroring support. 2025-09-16 11:18:18 -07:00
push_notifications.py push_notification: Add support to send E2EE test push notification. 2025-08-13 00:13:50 -07:00
reactions.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
read_receipts.py message: Make is_modifying_message a mandatory kwarg. 2025-02-28 10:10:33 -08:00
realm_domains.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
realm_emoji.py realm: Migrate smaller files to typed_endpoint. 2024-07-15 16:49:32 -07:00
realm_export.py export: Also add guardrail to the management command. 2025-03-28 17:44:58 -07:00
realm_icon.py upload: Pass down content-type of realm icon/logo to backend. 2024-07-11 07:31:39 -07:00
realm_linkifiers.py realm: Migrate smaller files to typed_endpoint. 2024-07-15 16:49:32 -07:00
realm_logo.py realm: Migrate smaller files to typed_endpoint. 2024-07-15 16:49:32 -07:00
realm_playgrounds.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
realm.py bots: Add a setting to customize the Welcome Bot message. 2025-08-08 18:59:37 -07:00
registration.py slack_import: Ask importer for default email address visibility. 2025-11-02 14:36:20 -08:00
reminders.py message_reminders: Add support for notes. 2025-08-07 17:13:12 -07:00
report.py csp_violations: Migrate has_request_variables to typed_endpoint. 2024-03-08 11:26:00 -08:00
saved_snippets.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
scheduled_messages.py zerver: Add endpoints and events for reminders. 2025-07-02 12:47:00 -07:00
sentry.py ruff: Fix UP038 Use X | Y in isinstance call instead of (X, Y). 2024-07-13 22:28:22 -07:00
storage.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
streams.py streams: Make sure an anonymous group is used for only one setting. 2025-11-04 11:51:31 -08:00
submessage.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
thumbnail.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
tusd.py confirmation: Rename REALM_CREATION to NEW_REALM_USER_REGISTRATION. 2025-08-04 18:41:00 -07:00
typing.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
unsubscribe.py email: Bulk clearing of scheduled emails for multiple users. 2025-07-11 14:15:49 -07:00
upload.py upload: Serve 0-byte files locally, not from S3. 2025-08-13 14:07:21 -07:00
user_groups.py views: Sort parameters alphabetically. 2025-06-30 09:13:25 -07:00
user_settings.py settings: Add user setting to ignore channel folders in left sidebar. 2025-08-01 09:18:19 -07:00
user_topics.py ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
users.py ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
video_calls.py ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
welcome_bot_custom_message.py onboarding: Improve welcome bot custom message wrapper. 2025-08-13 14:09:20 -07:00