zulip/zerver/lib
Steve Howell 85ed6f332a performance: Avoid Recipient lookup for stream messages.
All the fields of a stream's recipient object can
be inferred from the Stream, so we just make a local
object.  Django will create a Message object without
checking that the child Recipient object has been
saved.  If that behavior changes in some upgrade,
we should see some pretty obvious symptom, including
query counts changing.

Tweaked by tabbott to add a longer explanatory comment, and delete a
useless old comment.
2020-10-20 11:47:23 -07:00
..
markdown markdown: Migrate off deprecated extension registration interface. 2020-10-19 18:31:12 -07:00
url_preview url_preview: Only extract img tags with an `src`. 2020-08-18 14:26:21 -04:00
webhooks docs: Add spaces to “check out”, “log in”, “set up”, “sign up” as verbs. 2020-10-13 15:47:13 -07:00
__init__.py
actions.py performance: Avoid Recipient lookup for stream messages. 2020-10-20 11:47:23 -07:00
addressee.py addressee: Remove redundant casts. 2020-06-22 17:11:42 -07:00
alert_words.py python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
attachments.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
avatar.py python: Convert more percent formatting to Python 3.6 f-strings. 2020-06-14 23:27:22 -07:00
avatar_hash.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
bot_config.py python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
bot_lib.py python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
bot_storage.py test_service_bot_system: Fix type: ignore issues. 2020-06-30 18:58:23 -07:00
bulk_create.py populate_db: Add emoji reactions to development environment database. 2020-09-23 16:10:37 -07:00
cache.py python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
cache_helpers.py sessions: Fix type: ignore issues. 2020-06-30 18:58:23 -07:00
camo.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
ccache.py python: Fix misuse of Optional types for optional parameters. 2020-06-13 15:31:27 -07:00
context_managers.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
create_user.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
data_types.py event_schema: Add documentation and rename a few functions. 2020-09-25 12:53:00 -07:00
db.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
debug.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
dev_ldap_directory.py python: Convert more percent formatting to Python 3.6 f-strings. 2020-06-14 23:27:22 -07:00
digest.py digest: Support digest of web public streams for guest users. 2020-09-25 16:11:04 -07:00
display_recipient.py api: Remove (sender_)short_name from message APIs. 2020-07-17 11:15:14 -07:00
domains.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
email_mirror.py email_mirror: Change root logger to zerver.lib.email_mirror. 2020-09-12 10:53:56 -07:00
email_mirror_helpers.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
email_notifications.py email: Remove unused `log_digest_event` function. 2020-10-08 20:35:53 -07:00
email_validation.py isort: Enable black profile. 2020-09-02 11:00:07 -07:00
emoji.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
error_notify.py Error reporting emails: Indicate user role. 2020-08-03 13:35:51 -07:00
event_schema.py event_schema: Add comments to top of the file. 2020-09-28 12:19:28 -07:00
events.py i18n: Be deliberate about distinguishing ugettext and ugettext_lazy. 2020-10-18 14:31:15 -07:00
exceptions.py i18n: Fix some ineffective calls to ugettext at top level. 2020-10-18 14:31:15 -07:00
export.py docs: Add spaces to “check out”, “log in”, “set up”, “sign up” as verbs. 2020-10-13 15:47:13 -07:00
external_accounts.py request: Improve validator type so mypy can check it against REQ. 2020-06-20 22:29:15 -07:00
fix_unreads.py pointer: Remove fix_pre_pointer fixing logic. 2020-06-18 12:55:59 -07:00
generate_test_data.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
home.py performance: Avoid computing page_params.streams in webapp. 2020-10-14 10:53:10 -07:00
hotspots.py i18n: Be deliberate about distinguishing ugettext and ugettext_lazy. 2020-10-18 14:31:15 -07:00
html_diff.py html_diff: Really return str, not bytes. 2020-08-07 11:12:32 -07:00
html_to_text.py python: Replace None defaults with empty collections where appropriate. 2020-06-13 15:31:27 -07:00
i18n.py i18n: Move locale select logic in home to i18n.py. 2020-10-02 14:56:20 -07:00
import_realm.py import: Reuse get_last_message_id() helper. 2020-10-13 11:28:17 -07:00
initial_password.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
integrations.py i18n: Fix some ineffective calls to ugettext at top level. 2020-10-18 14:31:15 -07:00
logging_util.py webhooks: Add a missing format for the realm. 2020-09-22 15:11:48 -07:00
management.py management: Use signal.pause to sleep forever. 2020-10-07 16:15:19 -07:00
mdiff.py docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
mention.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
message.py import: Reuse get_last_message_id() helper. 2020-10-13 11:28:17 -07:00
migrate.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
mobile_auth_otp.py python: Replace unnecessary intermediate lists with generators. 2020-09-02 11:15:41 -07:00
name_restrictions.py python: Pre-fix a few spots for better Black formatting. 2020-09-03 17:51:09 -07:00
narrow.py message_fetch: Allow access to web-public msgs for unauth users. 2020-08-12 16:39:02 -07:00
onboarding.py onboarding: Move send_welcome_bot_response to onboarding. 2020-09-03 17:41:08 -07:00
outgoing_webhook.py python: Catch JSONDecodeError instead of ValueError when decoding JSON. 2020-08-12 11:59:59 -07:00
presence.py python: Tweak some magic trailing commas to avoid Black bugs. 2020-09-03 17:51:09 -07:00
profile.py decorator: Strengthen types of signature-preserving decorators. 2020-06-30 18:58:23 -07:00
push_notifications.py python: Prefer kwargs form of dict.update. 2020-09-03 17:51:09 -07:00
pysa.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
queue.py python: Catch BaseException when we need to clean something up. 2020-10-11 16:16:16 -07:00
rate_limiter.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
realm_description.py refactor: Rename convert to markdown_convert. 2020-07-06 12:39:59 -07:00
realm_icon.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
realm_logo.py realm_logo: Return default logo for realms on LIMITED plan. 2020-06-18 17:46:26 -07:00
redis_utils.py python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
remote_server.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
request.py python: Catch specific exceptions from orjson. 2020-10-11 16:11:41 -07:00
response.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
rest.py webhooks: Rename is_webhook to allow_webhook_access. 2020-09-22 15:11:48 -07:00
retention.py realm: Fix strict_optional errors. 2020-07-06 11:25:48 -07:00
send_email.py docs: Fix some spelling errors. 2020-10-13 15:47:13 -07:00
server_initialization.py database: Remove short_name from UserProfile. 2020-07-17 11:15:15 -07:00
sessions.py sessions: Fix type: ignore issues. 2020-06-30 18:58:23 -07:00
soft_deactivation.py soft_deactivation: Fix typo in logging output. 2020-09-28 12:12:04 -07:00
sqlalchemy_utils.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
statistics.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
storage.py docs: Merge front-end-build-process with html-css. 2019-10-23 13:08:36 -07:00
stream_subscription.py refactor: Compute peers for public streams later. 2020-10-20 11:31:22 -07:00
stream_topic.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
streams.py performance: Streamline list_to_streams. 2020-10-16 12:58:11 -07:00
subdomains.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
test_classes.py events: Stop sending occupy/vacate events. 2020-10-14 10:53:10 -07:00
test_console_output.py tests: Add extra console output detection in test-backend output. 2020-08-27 11:39:53 -07:00
test_data.source.txt docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
test_fixtures.py tests: Remove three references to Casper in the comments. 2020-09-18 15:13:40 -07:00
test_helpers.py tests: Add cache_tries_captured helper. 2020-10-15 15:12:01 -07:00
test_runner.py test_runner: Monkey-patch to allow using multiprocessing in tests. 2020-09-14 16:22:23 -07:00
tex.py python: Convert subprocess.Popen.communicate to run or check_output. 2020-09-03 17:42:35 -07:00
thumbnail.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
timeout.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
timestamp.py timestamp: Remove datetime_to_precise_timestamp for datetime.timestamp. 2020-07-31 22:10:14 -07:00
timezone.py docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
topic.py refactor: Use recipient_id to get topic history. 2020-10-16 12:58:11 -07:00
topic_mutes.py python: Tweak some magic trailing commas to avoid Black bugs. 2020-09-03 17:51:09 -07:00
transfer.py import_realm: Close the memcached connection before forking. 2020-10-01 11:20:39 -07:00
type_debug.py decorator: Replace type: ignore with cast, avoid Any. 2020-06-30 18:58:23 -07:00
types.py i18n: Be deliberate about distinguishing ugettext and ugettext_lazy. 2020-10-18 14:31:15 -07:00
unminify.py python: Manually convert more percent-formatting to f-strings. 2020-06-14 23:27:22 -07:00
upload.py emoji-upload: Fix transparency issues on GIF emoji upload. 2020-10-11 16:23:07 -07:00
url_encoding.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
user_agent.py user_agent: Compile the regular expression. 2020-02-14 10:26:37 -08:00
user_groups.py python: Replace unnecessary intermediate lists with generators. 2020-09-02 11:15:41 -07:00
user_status.py python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
users.py get_raw_user_data: Support acting_user=None. 2020-09-23 12:07:06 -07:00
utils.py mypy: Use str in statsd_key. 2020-09-29 16:49:10 -07:00
validator.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
widget.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
zcommand.py python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
zephyr.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00