zulip/zerver/lib
ishanrai05 4105fb683b notifications: Optimize push notifications code path in tests.
This checks if push_notification_enabled() is set to false in
handle_push_notification and adds an early return statement.

This is a significant performance optimization for our unit tests
because the push notifications code path does a number of database
queries, and this migration means we don't end up doing those queries
the hundreds of times we send PMs or mentions in our tests where we're
not trying to test the push notifications functionality.

This should also have a small message sending scalability improvement
for any Zulip servers without push notifications enabled.

Tweaked by tabbott to fix a few small issues.

Fixes #10895.
2018-12-15 11:12:43 -08:00
..
bugdown bugdown: Refactor get_user to get_user_by_name. 2018-11-29 10:19:08 -08:00
url_preview preview: Hash cache keys for preview urls. 2018-10-14 09:28:57 -07:00
webhooks webhooks/jira: Decode topics on our end. 2018-12-03 17:37:36 -08:00
__init__.py
actions.py billing: Always transition to Realm.LIMITED via do_change_plan_type. 2018-12-13 13:26:24 -08:00
addressee.py messages: Add Addressee.for_user_ids(). 2018-11-27 12:09:41 -08:00
alert_words.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
api_test_helpers.py api docs: Document the custom emoji upload endpoint. 2018-12-14 14:19:28 -08:00
attachments.py
avatar.py mypy: Enable strict optional in lib/avatar.py. 2018-05-17 11:11:55 -07:00
avatar_hash.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
bot_config.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
bot_lib.py topic -> subject: Extract get_topic_from_message_info(). 2018-11-14 23:24:06 -08:00
bot_storage.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
bulk_create.py models: Add USER_CREATED event type constant to RealmAuditLog. 2018-07-10 15:42:26 +05:30
cache.py message: Store the value of first_visible_message_id in Realm table. 2018-12-12 15:11:17 -08:00
cache_helpers.py email: Convert accounts code to use delivery_email. 2018-12-06 16:21:38 -08:00
camo.py camo: Extract generate_camo_url out from get_camo_url. 2018-10-26 16:51:54 -07:00
ccache.py str_utils: Move force_bytes into ccache.py. 2018-05-15 19:07:32 -07:00
context_managers.py
create_user.py utils: Move random API key generator as generate_api_key. 2018-08-08 16:45:25 -07:00
db.py python: Remove unnecessary NonBinaryStr TypeVar. 2018-11-27 11:44:09 -08:00
debug.py mypy: Set local_partial_types = True. 2018-05-21 22:41:00 -07:00
dev_ldap_directory.py ldap: Add support for automatic user deactivation/reactivation. 2018-12-13 16:24:15 -08:00
digest.py digest_email: Add endpoint for rendering digest to the web. 2018-12-11 13:38:30 -08:00
domains.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
email_mirror.py python: Remove now-unnecessary str_utils library. 2018-11-27 11:57:54 -08:00
emoji.py emoji: Move `EMOTICON_CONVERSIONS` mapping to build_emoji infra. 2018-07-23 12:35:08 -07:00
error_notify.py error_notify: Stringify QUERY_STRING values directly. 2018-10-31 16:30:38 -07:00
events.py notifications: Add a setting for changing the notification sound. 2018-12-09 21:25:30 -08:00
exceptions.py dependencies: Upgrade mypy to version 0.650. 2018-12-09 22:20:12 -08:00
export.py export_files_from_s3: Move saving s3 object to local file to a separate function. 2018-12-07 11:37:46 -08:00
feedback.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
fix_unreads.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
generate_test_data.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
hotspots.py signup: Copy hotspots when importing settings. 2018-06-16 08:50:49 -07:00
html_diff.py
i18n.py i18n: Pass translation data in page_params. 2018-05-30 08:57:26 -07:00
import_realm.py billing: Always transition to Realm.LIMITED via do_change_plan_type. 2018-12-13 13:26:24 -08:00
initial_password.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
integrations.py webhooks: Add ReviewBoard integration. 2018-11-12 16:11:32 -08:00
json_encoder_for_html.py
logging_util.py settings: Fix double negative in LOGGING_NOT_DISABLED. 2018-03-21 18:03:05 -07:00
management.py email: Convert accounts code to use delivery_email. 2018-12-06 16:21:38 -08:00
mdiff.py mypy: Amend diff_strings to return str or raise DiffException. 2018-02-13 11:40:51 -08:00
mention.py bugdown: Refactor name to mention_text in mention.py. 2018-11-07 10:02:53 -08:00
message.py message: Store the value of first_visible_message_id in Realm table. 2018-12-12 15:11:17 -08:00
migrate.py migrate: Add do_batch_update method for running batch updates. 2018-05-31 13:00:34 -07:00
mobile_auth_otp.py mobile: Make otp_encrypt_api_key accept API keys. 2018-08-08 16:45:40 -07:00
name_restrictions.py signup: Add opayq.com to disposable domain whitelist. 2018-08-13 10:56:47 -07:00
narrow.py topic -> subject: Extract get_topic_from_message_info(). 2018-11-14 23:24:06 -08:00
notifications.py email: Convert accounts code to use delivery_email. 2018-12-06 16:21:38 -08:00
onboarding.py Extract get_turtle_message(). 2018-11-14 23:24:06 -08:00
openapi.py Minimize race conditions for reading zulip.yaml. 2018-09-12 11:07:20 -07:00
outgoing_webhook.py topic -> subject: Extract get_topic_from_message_info(). 2018-11-14 23:24:06 -08:00
parallel.py
profile.py
push_notifications.py notifications: Optimize push notifications code path in tests. 2018-12-15 11:12:43 -08:00
queue.py mypy: Remove some now-unnecessary type: ignores. 2018-03-28 10:39:05 -07:00
rate_limiter.py rate_limiter: Improve handling of deadlocks. 2018-12-12 12:19:01 -08:00
realm_icon.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
redis_utils.py
request.py webhook_decorator: Support notifying bot owner on invalid JSON. 2018-11-14 22:35:56 -08:00
request.pyi Add alias support to REQ helpers for subject/topic. 2018-11-12 15:47:11 -08:00
response.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
rest.py decorator: Skip rate limiting when accessing user uploads. 2018-12-11 12:43:21 -08:00
retention.py retention: move_messages_to_archive should accept multiple message ids. 2018-10-11 15:31:12 -07:00
send_email.py send_email: Fix migration code path for ScheduledEmail. 2018-12-14 12:46:31 -08:00
sessions.py sessions: Suppress coverage error until we can debug. 2018-12-01 10:08:57 -08:00
soft_deactivation.py models: Add USER_SOFT_DEACTIVATED event type constant to RealmAuditLog. 2018-07-10 15:42:26 +05:30
sqlalchemy_utils.py mypy: Set local_partial_types = True. 2018-05-21 22:41:00 -07:00
statistics.py
storage.py python: Remove now-unnecessary str_utils library. 2018-11-27 11:57:54 -08:00
stream_recipient.py
stream_subscription.py Mypy: Use models.py QuerySet annotation approach in stream_subscription.py. 2018-03-15 12:54:43 -07:00
stream_topic.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
streams.py default stream: Allows admins to remove any default stream. 2018-08-07 13:28:30 -07:00
subdomains.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
test_classes.py Remove "subject" from test_classes.py. 2018-11-07 10:03:53 -08:00
test_data.source.txt
test_fixtures.py test_fixtures: Fix bug with run_db_migrations for test platform. 2018-07-09 14:17:53 +05:30
test_helpers.py refactor: Add a helper function to create s3 buckets. 2018-12-07 13:58:11 -08:00
test_runner.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
tex.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
thumbnail.py thumbnailing: Fix oversharpening of thumbnails. 2018-10-22 22:28:04 +05:30
timeout.py mypy: Add assertion in timeout.py. 2018-04-25 08:58:55 -07:00
timestamp.py
timezone.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
topic.py Extract get_turtle_message(). 2018-11-14 23:24:06 -08:00
topic_mutes.py Extract topic_match_sa() helper. 2018-11-07 10:03:53 -08:00
type_debug.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
types.py zerver/models.py: Modify FIELD_TYPE_DATA, add keyword for field type. 2018-08-21 11:37:51 -07:00
unminify.py unminify: Clean up unnecessary repetition of webpack:/// URLs. 2018-08-03 15:56:40 -07:00
upload.py python: Remove unnecessary NonBinaryStr TypeVar. 2018-11-27 11:44:09 -08:00
url_encoding.py topic -> subject: Extract get_topic_from_message_info(). 2018-11-14 23:24:06 -08:00
user_agent.py user_agent: Use re.X to make the regex a little more readable. 2018-12-05 14:58:13 -08:00
user_groups.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
users.py registration: Enable copying profile settings in production. 2018-12-10 16:55:07 -08:00
utils.py utils: Add process_list_in_batches(). 2018-10-15 10:54:23 -07:00
validator.py requirements: Upgrade pyflakes to 2.0.0. 2018-05-24 11:31:36 -07:00
widget.py tests: Test get_widget_data() helper. 2018-08-24 10:00:25 -07:00
zcommand.py zcommand: Fix broken switch mode message. 2018-08-08 11:29:49 -07:00
zephyr.py python: Remove now-unnecessary str_utils library. 2018-11-27 11:57:54 -08:00