zulip/zerver/lib
Mateusz Mandera 824ab0fb2f import_realm: Reset special user permissions at import time.
Elevated permissions such as is_staff are not safe to import into a new
server.

(cherry picked from commit 44fa45d1ce1f9c55aff3ab391813d4d5f6d2194a)
2026-03-31 15:31:57 -04:00
..
markdown ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
upload upload: Strip out NULL bytes from the uploaded filename. 2026-03-30 14:34:49 -04:00
url_preview python: Replace deprecated BeautifulSoup.findAll. 2025-02-18 22:04:43 -08:00
webhooks ruff: Fix PLC0207 String is split more times than necessary. 2026-02-09 16:26:05 -05:00
__init__.py
addressee.py scheduled_messages: Set read_by_sender for self-DMs using DM group. 2025-07-21 22:46:38 -07:00
alert_words.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
async_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
attachments.py CVE-2026-25742: Anonymous file access after disabling spectator access. 2026-03-31 15:31:57 -04:00
avatar_hash.py avatars: Encode version into the filename. 2024-07-07 14:40:07 -07:00
avatar.py avatar: Add option to disable gravatars per realm. 2025-01-30 18:46:02 -08:00
bot_config.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
bot_lib.py worker: Flag messages processed by outgoing bot. 2025-01-24 17:56:44 -08:00
bot_storage.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
bulk_create.py groups: Use realm_for_sharding for limiting NamedUserGroup queries. 2025-10-17 15:49:56 -07:00
cache_helpers.py cache_helpers: Stop pre-filling the non-narrow user cache. 2025-02-18 12:17:54 -08:00
cache.py settings: Do not pre-fetch DM permission group settings. 2025-04-07 15:34:30 -07:00
camo.py typing: Apply trivial none-checks with assertions as necessary. 2022-06-23 19:25:48 -07:00
ccache.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
channel_folders.py channel-folders: Order by order field in GET method. 2025-08-06 16:34:40 -07:00
compatibility.py ruff: Fix PLR6104 Use += to perform an augmented assignment directly. 2024-07-14 13:49:51 -07:00
context_managers.py ruff: Fix SIM117 Use a single with statement with multiple contexts. 2024-07-14 13:48:32 -07:00
create_user.py api: Improve handling of delivery_email in the GET /users/{email} API. 2024-10-08 18:01:49 -07:00
db_connections.py db: Split reset_queries into a new module zerver.lib.db_connections. 2024-04-17 16:49:03 -07:00
db.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
debug.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
default_streams.py default streams: Return set instead of a list. 2025-01-22 10:55:25 -08:00
demo_organizations.py demo-orgs: Delete expired demo orgs in archive_messages cron job. 2025-06-07 22:53:01 -07:00
dev_ldap_directory.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
digest.py CVE-2025-52559: Generate HTML for digest new channels safely. 2025-07-02 12:12:36 -07:00
display_recipient.py mypy: Remove use of ValuesQuerySet and QuerySetAny. 2024-08-24 17:30:41 -07:00
domains.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
drafts.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
email_mirror_helpers.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
email_mirror_server.py email_mirror_server: Downgrade rate-limiting rejects to INFO. 2025-12-17 15:06:53 -05:00
email_mirror.py email_mirror: Drop missed-message emails which are autogenerated. 2025-10-21 01:01:10 -04:00
email_notifications.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
email_validation.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
emoji_utils.py emoji: Match emoji sequences in markdown. 2023-08-23 16:18:15 -07:00
emoji.py ruff: Fix FURB171 Membership test against single-item container. 2026-02-09 16:26:05 -05:00
event_schema.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
event_types.py ruff: Fix PYI061 Use None rather than Literal[None]. 2025-10-22 16:08:09 -04:00
events.py ruff: Fix FURB110 Replace ternary if expression with or operator. 2026-02-09 16:26:05 -05:00
exceptions.py push_notification: Add support to send E2EE test push notification. 2025-08-13 00:13:50 -07:00
export.py confirmation: Replace RealmCreationKey - use Confirmation instead. 2025-08-04 18:41:15 -07:00
external_accounts.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
fix_unreads.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
generate_test_data.py ruff: Fix PLR6104 Use += to perform an augmented assignment directly. 2024-07-14 13:49:51 -07:00
github.py apps: Provide arm64 app build by default for macOS. 2025-03-28 16:45:07 -07:00
home.py Partially revert "home: Enable partial_subscribers in web app." 2025-07-16 13:26:33 -07:00
html_diff.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
html_to_text.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
i18n.py registration: Fix language code missing for find_team emails. 2025-03-24 14:41:23 -07:00
import_realm.py import_realm: Reset special user permissions at import time. 2026-03-31 15:31:57 -04:00
initial_password.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
integrations.py integrations: Add IGNORE_PRIVATE_REPOSITORIES preset WebhookUrlOption. 2025-08-07 17:19:03 -07:00
invites.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
logging_util.py logging_util: Error-proof against weird exc_info. 2025-05-19 16:39:44 -07:00
management.py checks: Move checkconfig to standard check framework. 2025-11-20 15:38:06 -08:00
mdiff.py tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
mention.py groups: Use realm_for_sharding for limiting NamedUserGroup queries. 2025-10-17 15:49:56 -07:00
message_cache.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
message_report.py message: Use .is_channel_message column instead of is_stream_message(). 2025-08-28 17:34:20 -07:00
message.py message: Use .is_channel_message column instead of is_stream_message(). 2025-08-28 17:34:20 -07:00
migrate.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
migration_status.py migration_status: Refactor parse_migration_status. 2025-03-20 10:57:54 -07:00
mime_types.py mime_types: Move "bare_content_type" helper into zerver.lib.mime_types. 2026-01-20 15:50:53 -08:00
mobile_auth_otp.py ruff: Fix B905 zip() without an explicit strict= parameter. 2024-07-13 22:28:22 -07:00
muted_users.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
name_restrictions.py signup: Add "airsi.de" as an allowed email domain. 2025-03-19 10:04:11 -07:00
narrow_helpers.py url_decoding: Add parse_narrow_url. 2025-02-24 15:37:40 -08:00
narrow_predicate.py ruff: Fix FURB171 Membership test against single-item container. 2026-02-09 16:26:05 -05:00
narrow.py narrow: Show historical data when narrowed by channels:web-public. 2025-11-20 15:38:06 -08:00
navigation_views.py navigation_views: Add backend for navigation views in left sidebar. 2025-05-23 16:25:08 -07:00
notes.py ruff: Fix PYI059 Generic[] should always be the last base class. 2025-10-22 16:08:09 -04:00
notification_data.py groups: Use realm_for_sharding for limiting NamedUserGroup queries. 2025-10-17 15:49:56 -07:00
onboarding_steps.py onboarding_steps: Add 'navigation_tour_video' for new users. 2025-03-13 14:38:16 -07:00
onboarding.py help: Do not treat Help Center as a proper noun. 2025-10-17 15:49:56 -07:00
outgoing_http.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
outgoing_webhook.py url_encoding: Add support for with message links. 2025-06-30 11:19:00 -07:00
partial.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
per_request_cache.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
presence.py presence: Add history_limit_days param to the API. 2024-09-10 13:15:35 -07:00
profile.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
push_notifications.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
push_registration.py push_registration: Fix incorrect line-wrapping. 2025-07-14 15:12:30 -07:00
pysa.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
query_helpers.py mypy: Remove use of ValuesQuerySet and QuerySetAny. 2024-08-24 17:30:41 -07:00
queue.py ruff: Fix PYI059 Generic[] should always be the last base class. 2025-10-22 16:08:09 -04:00
rate_limiter.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
realm_description.py markdown: Refactor out additional properties added to Message. 2021-06-24 18:14:53 -07:00
realm_icon.py settings: Make DEFAULT_LOGO_URI/DEFAULT_AVATAR_URI use staticfiles. 2023-02-14 17:17:06 -05:00
realm_logo.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
recipient_parsing.py scheduled_messages: Migrate to typed_endpoint. 2024-08-20 10:03:22 -07:00
recipient_users.py direct_messages: Use DM groups for 1:1 or self DMs if present. 2025-05-18 23:58:59 -07:00
redis_utils.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
reminders.py message: Use .is_channel_message column instead of is_stream_message(). 2025-08-28 17:34:20 -07:00
remote_server.py push_notification: Send end-to-end encrypted push notifications. 2025-07-22 17:08:55 -07:00
request.py request: Use Django 5.2 HttpRequest.get_preferred_type. 2025-07-17 14:37:11 -07:00
response.py requirements: Upgrade Python requirements. 2025-10-22 16:08:09 -04:00
rest.py rest_api: Add logging for use of the deprecated method parameter. 2025-04-24 13:10:52 -07:00
retention.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
safe_session_cached_db.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
scheduled_messages.py zerver: Add endpoints and events for reminders. 2025-07-02 12:47:00 -07:00
scim_filter.py scim: Add support for Groups. 2025-08-08 17:29:11 -07:00
scim.py groups: Use realm_for_sharding for limiting NamedUserGroup queries. 2025-10-17 15:49:56 -07:00
send_email.py ruff: Fix PLC0207 String is split more times than necessary. 2026-02-09 16:26:05 -05:00
server_initialization.py migration: Rename 'populate_db' Client to 'ZulipDataImport'. 2025-05-08 12:18:34 -07:00
sessions.py sessions: Use the narrow user fetch when expiring sessions. 2025-02-13 12:40:53 -08:00
singleton_bmemcached.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
soft_deactivation.py mypy: Fix no-redef errors from django-stubs. 2025-10-22 16:08:09 -04:00
sounds.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
sqlalchemy_utils.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
storage.py storage: Simplify system bot avatar logic. 2024-10-25 10:59:57 -07:00
stream_color.py codespell: Fix typos caught by codespell. 2025-02-18 22:04:43 -08:00
stream_subscription.py stream: Add subscriber_count field. 2025-05-13 17:36:53 -07:00
stream_topic.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
stream_traffic.py mypy: Fix no-redef errors from django-stubs. 2025-10-22 16:08:09 -04:00
streams.py CVE-2026-25742: Restrict topic access when spectator access is disabled. 2026-03-31 15:31:57 -04:00
string_validation.py message_send: Add support to send message with an empty topic name. 2025-01-07 17:24:00 -08:00
subdomains.py auth: Pass None as default_subdomain to verify the host. 2025-07-28 10:59:38 -07:00
subscription_info.py subscription_info: Improve subscriber fetch preformance. 2025-09-10 12:09:57 -07:00
templates.py help_relative_links: Delete. 2025-10-22 16:08:09 -04:00
test_classes.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
test_console_output.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
test_data.source.txt Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
test_fixtures.py requirements: Migrate to uv. 2025-02-24 22:29:24 -08:00
test_helpers.py test_urls: Use /api instead of /help pages for some tests. 2025-08-08 11:59:29 -07:00
test_runner.py ruff: Fix FURB122 Use of f.write in a for loop. 2025-06-25 11:49:02 -07:00
tex.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
thumbnail.py uploads: Do mime-type set comparisons with bare mime-types. 2026-01-20 15:50:53 -08:00
timeout.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
timestamp.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
timezone.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
topic_link_util.py url_encoding: Standardize to use encode_hash_component. 2025-07-03 14:40:49 -07:00
topic_sqlalchemy.py topic: Enforce is_channel_message=True on topic queries. 2025-03-18 09:34:11 -07:00
topic.py topics: Server generated permalinks now prefer latest message id. 2025-07-03 11:06:39 -07:00
transfer.py transfer: Upload thumbnails for image files. 2025-08-06 15:46:07 -07:00
typed_endpoint_validators.py ruff: Fix PLW0108 Lambda may be unnecessary; consider inlining inner function. 2026-02-09 16:26:05 -05:00
typed_endpoint.py ruff: Fix RUF059 Unpacked variable is never used. 2025-10-22 16:08:09 -04:00
types.py stream_settings: Add can_delete_own_message_group setting. 2025-07-17 15:44:52 -07:00
url_decoding.py ruff: Fix FURB171 Membership test against single-item container. 2026-02-09 16:26:05 -05:00
url_encoding.py notification: Use existing email format for missed 1:1 DM via DM group. 2025-07-24 16:41:52 -07:00
url_redirects.py help: Remove "Reading direct messages" article. 2025-07-28 09:50:14 -07:00
user_agent.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
user_counts.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
user_groups.py ruff: Reformat with Ruff 0.15.0. 2026-02-09 16:26:05 -05:00
user_message.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
user_status.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
user_topics.py user_topics: Use a list instead of tuple for muted_topics. 2025-03-17 14:21:37 -07:00
users.py users: Fix check_valid_bot_config bug. 2025-07-11 12:34:46 -07:00
utils.py mattermost_import: Log when processing messages. 2025-05-21 16:08:30 -07:00
validator.py requirements: Upgrade Python requirements. 2025-06-25 11:49:02 -07:00
widget.py python: Simplify with str.removeprefix, str.removesuffix. 2024-09-03 12:30:16 -07:00
zcommand.py python: Simplify with str.removeprefix, str.removesuffix. 2024-09-03 12:30:16 -07:00
zephyr.py zephyr: Switch from py3dns to dnspython. 2025-02-25 11:53:08 -08:00
zulip_update_announcements.py zulip_updates: Add an update for the 11.0 release. 2025-08-13 14:48:11 -07:00