zulip/zerver/lib
Alex Vandiver 693b959656 markdown: Switch to directly URL-escaping CSS URLs.
soupsieve is a heavy-weight dependency, and Tornado pulls it in by way
of markdown rendering; since we are only using it for a very simple
process, perform that manually.

Per CSS spec[^1]:

> In quoted <string> url()s, only newlines and the character used to
> quote the string need to be escaped.

[^1]: https://drafts.csswg.org/css-values/#urls
2024-04-16 10:48:51 -07:00
..
markdown markdown: Switch to directly URL-escaping CSS URLs. 2024-04-16 10:48:51 -07:00
upload upload: Only load S3 backend (and thus boto3) if necessary. 2024-04-15 13:12:51 -07:00
url_preview ruff: Fix RUF022 `__all__` is not sorted. 2024-03-01 09:30:04 -08:00
webhooks mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
__init__.py
addressee.py zulip_updates: Send zulip updates based on zulip_update_*_level. 2024-03-20 11:48:06 -07:00
alert_words.py models: Extract zerver.models.alert_words. 2023-12-16 22:08:44 -08:00
async_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
attachments.py models: Move some functions to zerver.lib.attachments. 2023-12-16 22:08:44 -08:00
avatar.py python: Consistently use from…import for urllib.parse. 2023-12-05 13:03:07 -08:00
avatar_hash.py utils: Remove make_safe_digest wrapper. 2023-07-19 10:54:05 -07:00
bot_config.py ruff: Fix UP032 Use f-string instead of `format` call. 2023-08-02 15:58:55 -07:00
bot_lib.py message: Add recipient_users parameter to internal_send_huddle_message. 2024-04-03 12:28:05 -07:00
bot_storage.py ruff: Fix UP032 Use f-string instead of `format` call. 2024-03-21 08:59:17 -07:00
bulk_create.py models: Extract zerver.models.groups. 2023-12-16 22:08:44 -08:00
cache.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
cache_helpers.py caches: Only take the realm_id, not the Realm, as a cache key function. 2024-03-04 16:35:57 -08:00
camo.py
ccache.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
compatibility.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
context_managers.py context_managers: Open file in write mode in lockfile_nonblocking. 2024-03-06 10:35:02 -08:00
create_user.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
data_types.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
db.py test_helpers: Fix logging in cursor_executemany mock. 2023-11-15 15:27:54 -08:00
debug.py
default_streams.py streams: Pass stream_weekly_traffic field in stream objects. 2023-08-06 18:06:42 -07:00
dev_ldap_directory.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
digest.py models: Extract zerver.models.streams. 2023-12-16 22:08:44 -08:00
display_recipient.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
domains.py
drafts.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
email_mirror.py message: Add recipient_users parameter to internal_send_huddle_message. 2024-04-03 12:28:05 -07:00
email_mirror_helpers.py
email_notifications.py ruff: Fix UP036 Version block is outdated for minimum Python version. 2024-04-01 18:32:52 -07:00
email_validation.py email_validation: Merge two implementations of a disposable-email check. 2024-02-27 10:19:23 -08:00
emoji.py models: Extract zerver.models.realm_emoji. 2023-12-16 22:08:44 -08:00
emoji_utils.py emoji: Match emoji sequences in markdown. 2023-08-23 16:18:15 -07:00
event_schema.py custom_profile_fields: Add "required" parameter to the profile fields. 2024-03-21 10:48:54 -07:00
events.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
exceptions.py zilencer: Improve json error when plan doesn't allow push notifs. 2024-02-07 10:36:33 -08:00
export.py ruff: Fix UP033 Use `@functools.cache`. 2024-04-01 18:32:52 -07:00
external_accounts.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
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 requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
github.py
home.py remote_billing: Make "plan management" always available. 2024-03-05 11:53:51 -08:00
hotspots.py onboarding: Show one-time modal to introduce recent conversations view. 2024-03-19 09:32:59 -07:00
html_diff.py
html_to_text.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -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 import: Skip "active" check, and analytics, for crossrealm bots. 2024-03-25 10:21:48 -07:00
initial_password.py
integrations.py integrations: Create incoming webhook for GitHub Sponsors. 2024-02-07 09:52:03 -08:00
logging_util.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
management.py models: Extract zerver.models.clients. 2023-12-16 22:08:44 -08:00
mdiff.py
mention.py mentions: Add "channel" as a wildcard mention. 2024-04-04 11:16:07 -07:00
message.py messages: Remove use of @overload in access_message. 2024-04-12 11:41:27 -07:00
message_cache.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
migrate.py migration: Make 'rename_indexes_constraints' a lib function. 2023-12-06 18:19:20 -08:00
mobile_auth_otp.py
muted_users.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
name_restrictions.py name_restrictions: Reserve additional subdomains. 2024-02-07 12:10:00 -08:00
narrow.py narrow: Do not create huddles when fetching messages. 2024-04-16 09:57:55 -07:00
narrow_helpers.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
narrow_predicate.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
notes.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
notification_data.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
onboarding.py message: Add function to remove single newline in triple quoted string. 2024-03-28 09:03:59 -07:00
outgoing_http.py outgoing_http: Support fractional-second timeouts. 2024-03-15 15:34:12 -07:00
outgoing_webhook.py message: Split MessageDict and friends into its own file. 2024-02-14 12:27:03 -08:00
per_request_cache.py per-request caches: Add per_request_cache library. 2023-08-11 11:09:34 -07:00
presence.py models: Move query_for_ids to zerver.lib.query_helpers. 2023-12-16 22:08:44 -08:00
profile.py
push_notifications.py messages: Remove use of @overload in access_message. 2024-04-12 11:41:27 -07:00
pysa.py
query_helpers.py models: Move query_for_ids to zerver.lib.query_helpers. 2023-12-16 22:08:44 -08:00
queue.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
rate_limiter.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
realm_description.py
realm_icon.py
realm_logo.py
recipient_parsing.py request: Extract out methods from 'scheduled_messages' to reuse. 2023-10-10 17:15:28 -07:00
recipient_users.py narrow: Do not create huddles when fetching messages. 2024-04-16 09:57:55 -07:00
redis_utils.py
remote_server.py push-bouncer: Exclude LoggingCountStats with partial data. 2024-02-26 17:53:12 -08:00
request.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
response.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
rest.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
retention.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
safe_session_cached_db.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
scheduled_messages.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
scim.py scim: Add config option to disable initial streams for guests. 2024-04-11 12:28:26 -07:00
scim_filter.py
send_email.py send_email: Distinct emails means distinct, case-insensitively. 2024-01-04 10:46:53 -08:00
server_initialization.py backends: Implementation of restricting certain backends by plan. 2024-03-05 11:48:58 -08:00
sessions.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
singleton_bmemcached.py requirements: Upgrade Python requirements. 2023-04-03 22:39:21 -07:00
soft_deactivation.py soft_deactivation: Use much faster bulk_insert_all_ums. 2024-03-26 10:52:37 -07:00
sounds.py
sqlalchemy_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
storage.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
stream_color.py
stream_subscription.py streams: Send user creation events on adding subscribers. 2023-11-21 23:58:45 -08:00
stream_topic.py
stream_traffic.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
streams.py streams: Remove a lie from the docstring. 2024-02-14 12:27:03 -08:00
string_validation.py lib: Rename *topic local variables to *topic_name. 2024-01-15 09:40:43 -08:00
subdomains.py python: Consistently use from…import for urllib.parse. 2023-12-05 13:03:07 -08:00
subscription_info.py models: Extract zerver.models.streams. 2023-12-16 22:08:44 -08:00
templates.py requirements: Upgrade Python requirements. 2023-04-03 22:39:21 -07:00
test_classes.py registration: Ask user how they found Zulip. 2024-04-01 12:44:12 -07:00
test_console_output.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_data.source.txt
test_fixtures.py
test_helpers.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
test_runner.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
tex.py katex: Replace subprocess call with minimal external service. 2024-03-15 15:34:12 -07:00
thumbnail.py
timeout.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
timestamp.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
timezone.py ruff: Fix UP033 Use `@functools.cache`. 2024-04-01 18:32:52 -07:00
topic.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
topic_sqlalchemy.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
transfer.py uploads: Allow uploads to set storage class. 2023-07-19 16:19:34 -07:00
typed_endpoint.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
types.py custom_profile_fields: Add "required" parameter to the profile fields. 2024-03-21 10:48:54 -07:00
url_encoding.py lib: Rename *topic local variables to *topic_name. 2024-01-15 09:40:43 -08:00
url_redirects.py help: Migrate configure-notification-bot help page to a new URL. 2024-03-20 11:48:06 -07:00
user_agent.py
user_counts.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
user_groups.py ruff: Fix PERF403 Use a dictionary comprehension instead of a for-loop. 2024-03-01 09:30:04 -08:00
user_message.py user_message: Use INSERT ... ON CONFLICT for historical UM creation. 2024-03-26 10:52:37 -07:00
user_status.py users: Update presence and user status code to support restricted users. 2023-11-21 23:58:45 -08:00
user_topics.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
users.py bots: Avoid multiple active bots with the same name. 2024-04-10 13:14:25 -07:00
utils.py events: Fix realm_upload_quota_mib value to be in MiB. 2024-04-15 15:08:56 -07:00
validator.py todo_widget: Allow task list title to be set and edited by author. 2024-04-13 21:56:33 -07:00
widget.py todo_widget: Allow tasks to be added through `/todo` command. 2024-04-13 21:56:33 -07:00
zcommand.py ruff: Fix UP032 Use f-string instead of `format` call. 2023-08-02 15:58:55 -07:00
zephyr.py
zulip_update_announcements.py zulip_updates: Adjust formatting for initial updates. 2024-04-11 16:13:42 -07:00