zulip/zerver/lib
Steve Howell 40b18094ec alert words: Refactor alert word detection.
The bugdown parser no longer has a concept of which users need which
alert words, since it can't really do anything actionable with that info
from a rendering standpoint.

Instead, our calling code passes in a set of search words to the parser.
The parser returns the list of words it finds in the message.
Then the model method builds up the list of user ids that should be
flagged as having alert words in the message.

This refactoring is a little more involved than I'd like, but there are
still some circular dependency issues with rendering code, so I need to
pass in the rather complicated realm_alert_words data structure all the way
from the action through the model to the renderer.

This change shouldn't change the overall behavior of the system, except
that it does remove some duplicate regex checks that were occurring when
multiple users may have had the same alert word.
2016-09-23 15:21:17 -07:00
..
bugdown alert words: Refactor alert word detection. 2016-09-23 15:21:17 -07:00
__init__.py [manual] Rename Django app from zephyr to zerver. 2013-08-06 07:39:36 -04:00
actions.py alert words: Refactor alert word detection. 2016-09-23 15:21:17 -07:00
alert_words.py Fix type annotations in zerver/lib/alert_words.py. 2016-05-24 14:12:11 -07:00
avatar.py Fix annotations related to make_safe_digest and hashes. 2016-06-12 09:30:53 -07:00
bulk_create.py Terms of Service: Fix corner cases around new users being created. 2016-08-13 00:19:54 -07:00
cache_helpers.py cache_helpers: Disable filling message cache. 2016-08-13 09:27:56 -07:00
cache.py cache: Add a basic annotation for cache_with_key. 2016-09-10 11:57:08 -07:00
camo.py zerver/lib/camo.py: Type ignore statement with hex encode. 2016-07-07 09:52:24 -07:00
ccache.py Annotate zerver/lib/ccache.py. 2016-06-04 12:19:34 -07:00
context_managers.py Removed some unused imports. 2016-06-07 18:13:58 -07:00
create_user.py Terms of Service: Fix corner cases around new users being created. 2016-08-13 00:19:54 -07:00
db.py Fix string annotations in custom cursors. 2016-06-28 15:58:57 +05:30
debug.py zerver/lib/debug.py: Remove from mypy's exclude_py3. 2016-07-07 09:52:24 -07:00
digest.py templates: Add new context variables to all templates. 2016-08-13 16:27:35 -07:00
email_mirror.py bug: Fix traceback in get_missed_message_token_from_address(). 2016-09-22 13:41:26 -07:00
event_queue.py Don't trust env while accessing Tornado. 2016-09-06 14:17:50 -07:00
export.py Annotate zerver/lib/export.py. 2016-09-12 08:21:46 -07:00
handlers.py Change exception.message to str(exception). 2016-07-13 16:00:46 -07:00
html_diff.py zerver/lib/html_diff.py: Fix annotations. 2016-06-18 16:41:40 -07:00
i18n.py Send double columned language list in page_params. 2016-08-10 16:19:28 -07:00
initial_password.py zerver/lib/initial_password.py: Encode return value. 2016-06-18 16:41:40 -07:00
integrations.py Add Librato integration. 2016-09-13 21:55:25 -07:00
logging_util.py Fix python 3 compatibility in logging code. 2016-09-09 15:36:29 -07:00
mandrill_client.py settings: Fix buggy MANDRILL_API_KEY logic. 2016-08-25 09:37:33 -07:00
mention.py zerver/lib/bugdown/__init__.py: Fix string types. 2016-06-16 15:21:17 -07:00
migrate.py Annotation of zerver/lib/migrate.py 2016-04-08 11:18:35 -07:00
narrow.py narrow: Document BuildNarrowFilterTest. 2016-07-20 14:18:40 -07:00
notifications.py notifications: Remove unused field from template context. 2016-09-08 17:03:00 -07:00
parallel.py parallel: Add missing annotation. 2016-08-04 15:57:03 -07:00
push_notifications.py Annotate push_notifications.py. 2016-08-08 15:17:02 -07:00
queue.py Annotate zerver/lib/queue.py. 2016-07-04 03:01:32 +05:30
rate_limiter.py zerver: Fix lines with length greater than 120. 2016-07-08 11:41:43 -07:00
redis_utils.py settings: Add support for specifying a remote redis password. 2016-08-11 16:54:22 -07:00
request.py [i18n] Make error messages translatable. 2016-05-31 07:40:42 -07:00
request.pyi Improve annotations of decorators. 2016-07-22 11:14:33 -07:00
response.py Add lint check for malformed type annotations missing :. 2016-08-04 15:53:23 -07:00
rest.py Modify rest_dispatch to support method specific flags. 2016-06-27 10:53:15 -07:00
session_user.py zerver/lib/session_user.py: Replace Dict by Mapping. 2016-06-29 10:36:50 -07:00
socket.py zerver/lib/socket.py: Fix line with length greater than 120. 2016-07-18 14:42:39 -07:00
sqlalchemy_utils.py Annotate zerver/lib/sqlalchemy_utils.py. 2016-09-10 12:08:37 -07:00
statistics.py zerver/lib/statistics.py: Fix annotations. 2016-06-27 18:03:29 +05:30
str_utils.py ModelReprMixin: Fix handling of missing __unicode__ function. 2016-08-02 11:46:01 -07:00
test_helpers.py Move WebhookTestCase class from test_hooks.py to test_helpers.py. 2016-09-23 10:02:16 -07:00
test_runner.py Write untested_url_report.txt. 2016-07-29 21:26:51 -07:00
timeout.py zerver/lib/timeout.py: Replace isAlive by is_alive. 2016-07-06 11:49:48 -07:00
timestamp.py Add type annotation to mention.py, redis_utils.py, timestamp.py, user_agent.py 2016-06-03 19:00:16 -07:00
tornado_ioloop_logging.py Annotate zerver/lib/tornado_ioloop_logging.py. 2016-09-10 12:10:41 -07:00
type_debug.py zerver/lib/type_debug.py: Handle container types better. 2016-07-23 14:35:39 -07:00
unminify.py Add annotations to avatar.py, db.py, logging_util.py, unminify.py. 2016-06-05 12:38:20 -07:00
upload.py Pass Message object instead of message dict to claim_attachment. 2016-07-25 17:51:17 -07:00
user_agent.py Add type annotation to mention.py, redis_utils.py, timestamp.py, user_agent.py 2016-06-03 19:00:16 -07:00
utils.py export: Add lib.utils.query_chunker(). 2016-08-22 19:27:32 -07:00
validator.py Add annotations for zerver/lib/validator. 2016-06-03 23:53:49 -07:00