zulip/zerver/lib
Prakhar Pratyush 58568a60d6 settings: Add automatically follow and unmute topics policy settings.
This commit adds two user settings, named
* `automatically_follow_topics_policy`
* `automatically_unmute_topics_in_muted_streams_policy`

The settings control the user's preference on which topics they
will automatically 'follow' or 'unmute in muted streams'.

The policies offer four options:
1. Topics I participate in
2. Topics I send a message to
3. Topics I start
4. Never (default)

There is no support for configuring the settings through the UI yet.
2023-10-04 13:04:29 -07:00
..
markdown markdown: Add support for inline video thumbnails. 2023-10-02 22:39:02 -07:00
upload base: Play videos in new tab instead of downloading them. 2023-10-02 22:39:39 -07:00
url_preview
webhooks webhooks: Migrate check_send_webhook_message to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
__init__.py
addressee.py
alert_words.py
async_utils.py
attachments.py
avatar.py
avatar_hash.py
bot_config.py
bot_lib.py
bot_storage.py
bulk_create.py i18n: Fix default language for users created via API/LDAP. 2023-10-01 21:10:13 +02:00
cache.py ruff: Fix PERF401 Use a list comprehension to create a transformed list. 2023-08-07 17:23:55 -07:00
cache_helpers.py models: Fetch "recipient" object when along with "Huddle" object. 2023-08-10 17:35:43 -07:00
camo.py
ccache.py python: Delete superfluous parens. 2023-09-13 13:40:19 -07:00
compatibility.py
context_managers.py
create_user.py i18n: Fix default language for users created via API/LDAP. 2023-10-01 21:10:13 +02:00
data_types.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
db.py python: Annotate type aliases with TypeAlias. 2023-08-07 10:02:49 -07:00
debug.py
default_streams.py
dev_ldap_directory.py
digest.py digest: Increase size of stream cache. 2023-09-13 13:25:59 -07:00
display_recipient.py mypy: Improve type checks for user display recipients. 2023-08-10 18:13:43 -07:00
domains.py
drafts.py drafts: Migrate drafts to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
email_mirror.py mypy: Improve type checks for user display recipients. 2023-08-10 18:13:43 -07:00
email_mirror_helpers.py
email_notifications.py email_notifications: Make stream_id_map optional to build_message_list. 2023-09-13 13:25:59 -07:00
email_validation.py
emoji.py
emoji_utils.py emoji: Match emoji sequences in markdown. 2023-08-23 16:18:15 -07:00
event_schema.py tests: Update events and schemas for drafts events. 2023-10-03 09:05:22 -07:00
events.py sent_by_human: Add "test suite" to the set of Zulip UI-style clients. 2023-10-04 13:04:29 -07:00
exceptions.py views: Add a /health healthcheck endpoint. 2023-09-20 09:53:59 -07:00
export.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
external_accounts.py
fix_unreads.py ruff: Fix PERF401 Use a list comprehension to create a transformed list. 2023-08-07 17:23:55 -07:00
generate_test_data.py ruff: Fix PERF401 Use a list comprehension to create a transformed list. 2023-08-07 17:23:55 -07:00
github.py
home.py models: Always search Messages with a realm_id or id limit. 2023-09-11 15:00:37 -07:00
hotspots.py onboarding: Finish renaming display settings -> preferences. 2023-09-27 11:30:11 -07:00
html_diff.py
html_to_text.py widgets: Rename confusing attribute name in `tabbed_sections.py`. 2023-08-31 11:55:28 -07:00
i18n.py i18n: Fix default language for users created via API/LDAP. 2023-10-01 21:10:13 +02:00
import_realm.py invite: Add new setting for "Who can create multiuse invite links". 2023-09-07 14:21:01 -07:00
initial_password.py
integrations.py integrations: Extract integration event types returning function. 2023-08-30 15:54:13 -07:00
logging_util.py
management.py send_email: Use a consistent order when sending custom emails to users. 2023-09-14 17:16:36 -07:00
mdiff.py
mention.py
message.py settings: Add automatically follow and unmute topics policy settings. 2023-10-04 13:04:29 -07:00
migrate.py coverage: Skip zerver.lib.migrate coverage. 2023-09-11 15:00:37 -07:00
mobile_auth_otp.py
muted_users.py
name_restrictions.py
narrow.py narrow: Add usermessage "private" flag limit to direct message queries. 2023-09-27 10:22:42 -07:00
narrow_helpers.py
notes.py
notification_data.py python: Delete superfluous parens. 2023-09-13 13:40:19 -07:00
onboarding.py help: Delete "Start a new topic" page in favor of "Starting a new topic". 2023-09-21 08:41:40 -07:00
outgoing_http.py
outgoing_webhook.py
per_request_cache.py per-request caches: Add per_request_cache library. 2023-08-11 11:09:34 -07:00
presence.py
profile.py
push_notifications.py push_notifications: Send timestamp with only second granularity. 2023-09-29 14:33:44 -07:00
pysa.py
queue.py bots: Remove private stream subscriptions on changing bot owner. 2023-08-16 15:37:37 -07:00
rate_limiter.py ruff: Fix PERF102 Using only the keys/values of a dict. 2023-08-07 17:23:55 -07:00
realm_description.py
realm_icon.py
realm_logo.py
recipient_users.py models: Remove get_huddle_recipient and use get_or_create_huddle. 2023-08-10 17:35:43 -07:00
redis_utils.py
remote_server.py
request.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
response.py response: Remove "result: partially_completed" for success responses. 2023-09-18 13:18:24 -07:00
rest.py
retention.py models: Always search Messages with a realm_id or id limit. 2023-09-11 15:00:37 -07:00
safe_session_cached_db.py
scheduled_messages.py models: Always search Messages with a realm_id or id limit. 2023-09-11 15:00:37 -07:00
scim.py scim: Add supporting for syncing the user role. 2023-09-15 13:15:45 -07:00
scim_filter.py
send_email.py django: Use .exists() instead of .count() when possible. 2023-09-11 15:00:37 -07:00
server_initialization.py invite: Add new setting for "Who can create multiuse invite links". 2023-09-07 14:21:01 -07:00
sessions.py
singleton_bmemcached.py
soft_deactivation.py soft_deactivation: Stop computing "new messages" in Python. 2023-09-29 10:26:04 -07:00
sounds.py
sqlalchemy_utils.py
storage.py
stream_color.py
stream_subscription.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
stream_topic.py
stream_traffic.py stream_traffic: Update get_streams_traffic to return None for zephyr realm. 2023-08-21 15:21:58 -07:00
streams.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
string_validation.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
subdomains.py
subscription_info.py ruff: Enable B023 Function definition does not bind loop variable. 2023-09-11 18:03:45 -07:00
templates.py
test_classes.py tests: Make soft-reactivation tests readable. 2023-09-18 16:55:06 -07:00
test_console_output.py
test_data.source.txt
test_fixtures.py
test_helpers.py api: Rewrite argument type test for clarity. 2023-09-08 08:20:17 -07:00
test_runner.py python: Replace functools.partial with type-safe returns.curry.partial. 2023-09-11 18:03:45 -07:00
tex.py
thumbnail.py
timeout.py
timestamp.py
timezone.py
topic.py topic: Add comments calling out case-sensitive index usage. 2023-09-27 10:22:42 -07:00
transfer.py
typed_endpoint.py typed_endpoint: Rename WebhookPayload to JsonBodyPayload. 2023-09-27 14:21:42 -07:00
types.py settings: Disallow everyone group for new setting. 2023-09-07 14:21:01 -07:00
url_encoding.py narrow urls: Avoid complicated optional types. 2023-08-10 18:13:43 -07:00
url_redirects.py help: Delete "Start a new topic" page in favor of "Starting a new topic". 2023-09-21 08:41:40 -07:00
user_agent.py
user_counts.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
user_groups.py user_groups: Do not allow empty group names in backend. 2023-09-20 15:35:26 -07:00
user_message.py
user_status.py
user_topics.py unread_msgs: Fix all unreads in muted stream being treated as muted. 2023-09-27 13:11:20 -07:00
users.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
utils.py
validator.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
widget.py widgets: Fix bug where a new line right after /todo broke rendering. 2023-09-08 15:39:07 -07:00
zcommand.py
zephyr.py