zulip/zerver/lib
m-e-l-u-h-a-n 830c4acedc markdown: Fix invalid mention bug for stream and stream topic mention.
Modifies `StreamPattern` and `StreamTopicPattern` to inherit
from InlineProcessor instead of Pattern. This change is done
because Pattern stopped checking for matching patterns as soon
as it found a match which was not a valid stream. Due to this
all the subsequent mention failed, even if they were valid.
This bug was only present in backend renderring due to
markdown.inlinepatterns.Pattern.

Due to above changes verbose_compile is no longer used for
precompiling STREAM_LINK_REGEX, STREAM_TOPIC_LINK_REGEX as
adds ^(.*?) and (.*?)$ which cause extra overhead of matching
pattern which is not required. With new InlineProcessor these
extra patterns at beggining and end are not required.
So, StreamPattern and StreamTopicPattern now define their own
__init__ method for precompiling the regex.

Fixes #17535.

These changes were tested locally in dev server and by adding
some new markdown tests to test these.
2021-03-23 01:28:30 -07:00
..
markdown markdown: Fix invalid mention bug for stream and stream topic mention. 2021-03-23 01:28:30 -07:00
url_preview mypy: Correct typing.re imports to typing. 2021-03-17 18:41:46 -07:00
webhooks webhooks: Fix spelling of milliseconds. 2021-03-05 12:22:50 -08:00
__init__.py [manual] Rename Django app from zephyr to zerver. 2013-08-06 07:39:36 -04:00
actions.py refactor: Allow custom msg strs in send_message_moved_breadcrumbs. 2021-03-18 16:13:00 -07:00
addressee.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
alert_words.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
attachments.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
avatar_hash.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
avatar.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bot_config.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bot_lib.py actions: Remove realm argument to internal_send_private_message. 2021-02-23 15:26:47 -08:00
bot_storage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bulk_create.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
cache_helpers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
cache.py cache: Strengthen ignore_unhashable_lru_cache decorator type. 2021-02-15 17:05:28 -08:00
camo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
ccache.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
context_managers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
create_user.py hotspots: Fix typos in function name and code comment. 2021-02-15 18:33:21 -08:00
data_types.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
db.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
dev_ldap_directory.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
digest.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
display_recipient.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
domains.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
email_mirror_helpers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
email_mirror.py requirements: Upgrade talon fork to 1.4.8. 2021-03-18 17:10:18 -07:00
email_notifications.py docs: Add a document explaining email/push notifications. 2021-03-05 15:24:25 -08:00
email_validation.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
emoji.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
error_notify.py actions: Remove realm argument to internal_send_stream_message. 2021-02-23 15:26:47 -08:00
event_schema.py events: Remove name field from update subscription events. 2021-03-07 22:03:24 -08:00
events.py events: Remove name field from update subscription events. 2021-03-07 22:03:24 -08:00
exceptions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
export.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
external_accounts.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
fix_unreads.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
generate_test_data.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
github.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
home.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
hotspots.py hotspots: Extract INTRO_HOTSPOTS from ALL_HOTSPOTS. 2021-02-26 15:02:48 -08:00
html_diff.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
html_to_text.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
i18n.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
import_realm.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
initial_password.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
integrations.py integration: Add jotform integration. 2021-03-04 11:40:58 -08:00
logging_util.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
management.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mdiff.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mention.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
message.py message: Record whether unread_msgs data is truncated. 2021-03-21 19:48:13 -07:00
migrate.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mobile_auth_otp.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
name_restrictions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
narrow.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
onboarding.py actions: Remove realm argument to internal_send_private_message. 2021-02-23 15:26:47 -08:00
outgoing_webhook.py outgoing_webhook: Simplify error handling logic. 2021-03-18 14:41:34 -07:00
presence.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
profile.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
push_notifications.py docs: Add a document explaining email/push notifications. 2021-03-05 15:24:25 -08:00
pysa.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
queue.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
rate_limiter.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_description.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_icon.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_logo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
redis_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
remote_server.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
request.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
response.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
rest.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
retention.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
send_email.py email: Set an envelope-from which may be different from the From: field. 2021-02-24 17:32:28 -08:00
server_initialization.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
sessions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
soft_deactivation.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
sqlalchemy_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
statistics.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
storage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stream_subscription.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stream_topic.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
streams.py models: Rename is_new_member to is_provisional_member. 2021-03-02 17:19:31 -08:00
subdomains.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_classes.py email: Set an envelope-from which may be different from the From: field. 2021-02-24 17:32:28 -08:00
test_console_output.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_data.source.txt docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
test_fixtures.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_helpers.py refactor: Integrate POSTRequestMock into HostRequestMock. 2021-03-03 21:52:05 -08:00
test_runner.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
tex.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
thumbnail.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
timeout.py timeout: Remove unnecessary varargs support. 2021-02-15 17:05:28 -08:00
timestamp.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
timezone.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
topic_mutes.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
topic.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
transfer.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
type_debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
types.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
unminify.py unminify: Fix lookup if source map does not exist in disk. 2021-03-16 14:46:18 -07:00
upload.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
url_encoding.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
user_agent.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
user_groups.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
user_status.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
users.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
validator.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
widget.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
zcommand.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
zephyr.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00