zulip/zerver/lib
Steve Howell c1f134a3a4 performance: Use ORM to fetch sender in render_markdown.
In 709493cd75 (Feb 2017)
I added code to render_markdown that re-fetched the
sender of the message, to detect whether the message is
a bot.

It's better to just let the ORM fetch this.  The
message object should already have sender.

The diff makes it look like we are saving round trips
to the database, which is true in some cases.  For
the main message-send codepath, though, we are only
saving a trip to memcached, since the middleware
will have put our sender's user object into the
cache.  The test_message_send test calls internally
to check_send_stream_message, so it was actually
hitting the database in render_markdown (prior to
my change).
2020-11-05 09:35:15 -08:00
..
markdown Revert "markdown: Escape lang when echoing back custom non-pygments languages." 2020-11-02 16:23:48 -08: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 users: Canonicalize the timezone identifier. 2020-10-27 13:42:54 -07:00
addressee.py addressee: Remove redundant casts. 2020-06-22 17:11:42 -07:00
alert_words.py docs: Standardize on PostgreSQL, not Postgres. 2020-10-28 11:55:16 -07:00
attachments.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
avatar.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 delete_realm: Register a post_delete Realm handler. 2020-10-30 11:43:03 -07:00
cache_helpers.py sessions: Fix type: ignore issues. 2020-06-30 18:58:23 -07:00
camo.py python: Replace binascii with bytes.hex to skip some decode operations. 2020-10-30 11:36:38 -07:00
ccache.py python: Remove force_bytes. 2020-10-30 11:36:38 -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 docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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: Close opened files. 2020-10-26 12:31:30 -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 python: Serialize lxml elements directly to str. 2020-10-30 11:36:38 -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 subscriber events: Change schema for peer_add/peer_remove. 2020-10-22 11:19:53 -07:00
events.py home: Allow logged out user through home. 2020-11-02 17:07:12 -08:00
exceptions.py i18n: Fix some ineffective calls to ugettext at top level. 2020-10-18 14:31:15 -07:00
export.py refactor: Access a bucket by calling `zerver.lib.uploads.get_bucket`. 2020-10-28 21:52:08 -07:00
external_accounts.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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
github.py apps: Use GitHub API for generating the web app download link. 2020-10-28 23:04:14 -07:00
home.py home: Allow logged out user through home. 2020-11-02 17:07:12 -08: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: Skip unnecessary decode before BeautifulSoup parsing. 2020-10-30 11:36:38 -07:00
i18n.py i18n: Fix get_language_translation_data for zh_TW. 2020-10-22 16:43:02 -07:00
import_realm.py refactor: Access a bucket by calling `zerver.lib.uploads.get_bucket`. 2020-10-28 21:52:08 -07:00
initial_password.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
integrations.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 python: Use universal_newlines to get str from subprocess. 2020-10-30 11:36:38 -07:00
mention.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
message.py performance: Use ORM to fetch sender in render_markdown. 2020-11-05 09:35:15 -08:00
migrate.py docs: Standardize on PostgreSQL, not Postgres. 2020-10-28 11:55:16 -07:00
mobile_auth_otp.py python: Replace binascii with bytes.hex to skip some decode operations. 2020-10-30 11:36:38 -07:00
name_restrictions.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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: Use requests.Response.text instead of decoding content. 2020-10-30 11:36:38 -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: Replace binascii with bytes.hex to skip some decode operations. 2020-10-30 11:36:38 -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 docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 home: Allow logged out user through home. 2020-11-02 17:07:12 -08: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 tools: Rename postgres to postgresql in tool names. 2020-10-28 11:57:02 -07:00
test_helpers.py tests: Fix queries_captured to clear cache up front. 2020-11-05 09:35:15 -08:00
test_runner.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -07:00
tex.py python: Convert subprocess.Popen.communicate to run or check_output. 2020-09-03 17:42:35 -07:00
thumbnail.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 users: Canonicalize the timezone identifier. 2020-10-27 13:42:54 -07:00
topic.py docs: Fix more capitalization issues. 2020-10-23 11:46:55 -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 uploads: Support non-AWS S3-compatible server. 2020-10-28 21:59:07 -07:00
url_encoding.py url_encoding: Skip unnecessary encode before quote. 2020-10-30 11:36:38 -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 users: Canonicalize the timezone identifier. 2020-10-27 13:42:54 -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 widgets: Remove tictactoe example widget. 2020-11-03 14:46:39 -08: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