zulip/zerver/lib
Steve Howell 88e1e284bb Restructure send-message code for gravatars.
This refactoring doesn't change behavior, but it sets us up
to more easily handle a register setting for `client_gravatar`,
which will allow clients to tell us they're going to compute
their own gravatar URLs.

The `client_gravatar` flag already exists in our code, but it
is only used for Django views (users/messages) but not for
Zulip events.

The main change is to move the call to `set_sender_avatar` into
`finalize_payload`, which adds the boolean `client_gravatar`
parameter to that function.  And then we update various callers
to supply that flag.

One small performance benefit of this change is that we now
lazily compute the client message payloads in
`event_queue.process_message_event` now, so this will improve
performance if all interested clients have the same value of
`apply_markdown`.  But the change here is really preparing us
for the additional boolean parameter, which will cause us to
have four variations of the payload.
2017-11-07 10:36:02 -08:00
..
bugdown bugdown: Fetch complete data for tweet. 2017-11-07 09:13:39 -08:00
url_preview zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
webhooks zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
__init__.py [manual] Rename Django app from zephyr to zerver. 2013-08-06 07:39:36 -04:00
actions.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
addressee.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
alert_words.py zerver/lib: remove import six. 2017-09-27 19:10:28 -07:00
attachments.py settings: Show error or success message when deleting uploaded files. 2017-09-27 17:50:22 -07:00
avatar_hash.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
avatar.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
bot_lib.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
bot_storage.py embedded bots: Move StateHandler query logic to separate file. 2017-10-30 13:37:56 -07:00
bulk_create.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
cache_helpers.py Cache only one row per message. 2017-10-26 16:35:28 -07:00
cache.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
camo.py pep8: Add compliance with rule E261 to camo.py. 2017-05-07 23:21:50 -07:00
ccache.py zerver/lib: remove import six. 2017-09-27 19:10:28 -07:00
context_managers.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
create_user.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
db.py refactor: Replace super(.*self) with Python 3-specific super(). 2017-10-30 14:30:25 -07:00
debug.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
digest.py tests: Call real consume method of queue processors. 2017-10-26 14:58:03 -07:00
domains.py Add stricter domain validation and improve error messages. 2017-01-26 17:24:25 -08:00
email_mirror.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
emoji.py reactions: Switch to using name_to_codepoint. 2017-10-04 23:09:14 -07:00
error_notify.py error_notify: Add IP address to browser error reports. 2017-10-04 13:46:05 -07:00
events.py lint: Fix lines in Python codebase longer than 120 characters. 2017-10-26 17:47:30 -07:00
exceptions.py refactor: Replace super(.*self) with Python 3-specific super(). 2017-10-30 14:30:25 -07:00
export.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
feedback.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
fix_unreads.py mypy: Clarify Callable parameters & return type for get_timing. 2017-10-31 00:02:17 -07:00
generate_test_data.py py3: Remove "from six.moves import range". 2017-10-17 23:28:14 -07:00
hotspots.py hotspots: Use tutorial_status to manage whether we show hotspots. 2017-09-15 04:14:52 -07:00
html_diff.py html_diff: Migrate from Text to str. 2017-10-30 14:10:35 -07:00
i18n.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
initial_password.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
integrations.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
logging_util.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
management.py zerver/lib: Remove print_function. 2017-09-27 18:05:45 -07:00
mention.py user-groups: Add basic backend for UserGroup model. 2017-10-31 15:16:14 -07:00
message.py Restructure send-message code for gravatars. 2017-11-07 10:36:02 -08:00
migrate.py zerver/lib: Remove print_function. 2017-09-27 18:05:45 -07:00
mobile_auth_otp.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
name_restrictions.py name_restrictions: Update with new competitors and portico pages 2017-07-26 12:10:58 -04:00
narrow.py Update narrow.py, messages.py to support is:unread. 2017-06-19 06:51:13 -04:00
notifications.py Extract Message.is_stream_message(). 2017-10-28 17:57:39 -07:00
onboarding.py actions.py: Rename do_add_reaction() to do_add_reaction_legacy(). 2017-10-31 15:42:35 -07:00
outgoing_webhook.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
parallel.py mypy: Improve type annotation of run_parallel in zerver/lib/parallel.py. 2017-11-04 16:18:27 -07:00
profile.py mypy: Improve typing to profile.py & remove FuncT from decorator.py. 2017-10-29 17:10:13 -07:00
push_notifications.py Extract Message.is_stream_message(). 2017-10-28 17:57:39 -07:00
queue.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
rate_limiter.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
realm_icon.py zerver/lib: Remove u prefix from strings. 2017-11-03 15:34:37 -07:00
redis_utils.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
request.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
request.pyi mypy: Improve typing of request.pyi (REQ). 2017-11-04 20:26:03 -07:00
response.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
rest.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
retention.py zerver/lib: Remove print_function. 2017-09-27 18:05:45 -07:00
send_email.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
sessions.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
soft_deactivation.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
sqlalchemy_utils.py mypy: Remove a bunch of now-unnecessary type: ignore annotations. 2016-10-17 11:48:34 -07:00
statistics.py zerver/lib: Remove from __future__ import *. 2017-09-28 10:14:03 -07:00
str_utils.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
stream_recipient.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
stream_subscription.py mypy: Fix QuerySet -> QuerySet[Subscription]. 2017-10-30 16:33:51 -07:00
stream_topic.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
streams.py Extract get_stream_recipient(). 2017-10-28 17:57:39 -07:00
subdomains.py alias domains: Add a v1 of this feature. 2017-11-03 13:38:59 -07:00
test_classes.py mypy: Explicitly specify List[Any] in test_classes.py. 2017-11-04 19:47:45 -07:00
test_data.source.txt test_data.source.txt: Replace postmodernism generator text with a play. 2017-08-23 13:00:39 -07:00
test_fixtures.py test_fixtures: Move test_db_status state under UUID_VAR_PATH. 2017-10-17 21:15:58 -07:00
test_helpers.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
test_runner.py mypy: Fully specify type of Callable parameter to process_instrumented_calls. 2017-11-04 19:47:45 -07:00
tex.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
timeout.py py3: Remove "from six.moves import range". 2017-10-17 23:28:14 -07:00
timestamp.py analytics: Enforce various datetime arguments are in UTC. 2017-10-05 11:22:06 -07:00
timezone.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
topic_mutes.py Extract get_stream_recipient(). 2017-10-28 17:57:39 -07:00
type_debug.py mypy: Add explicit Any for generic types in type_debug.py. 2017-11-04 19:47:44 -07:00
unminify.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
upload.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
user_agent.py tests: Replace test_user_agent_parsing with a normal test. 2017-09-16 03:56:18 -07:00
user_groups.py user-groups: Add basic backend for UserGroup model. 2017-10-31 15:16:14 -07:00
users.py zerver/lib: Remove absolute_import. 2017-09-27 10:00:39 -07:00
utils.py zerver/lib: Remove inheritance from object. 2017-11-06 08:53:48 -08:00
validator.py zerver/lib: remove import six. 2017-09-27 19:10:28 -07:00