zulip/zproject
Tim Abbott da8f4bc0e9 push notifications: Add support for removing GCM push notifications.
This uses the recently introduced active_mobile_push_notification
flag; messages that have had a mobile push notification sent will have
a removal push notification sent as soon as they are marked as read.

Note that this feature is behind a setting,
SEND_REMOVE_PUSH_NOTIFICATIONS, since the notification format is not
supported by the mobile apps yet, and we want to give a grace period
before we start sending notifications that appear as (null) to
clients.  But the tracking logic to maintain the set of message IDs
with an active push notification runs unconditionally.

This is designed with at-least-once semantics; so mobile clients need
to handle the possibility that they receive duplicat requests to
remove a push notification.

We reuse the existing missedmessage_mobile_notifications queue
processor for the work, to avoid materially impacting the latency of
marking messages as read.

Fixes #7459, though we'll need to open a follow-up issue for
using these data on iOS.
2018-08-10 13:58:39 -07:00
..
jinja2 zproject: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
__init__.py Rename Django project to zproject. 2013-08-07 11:04:03 -04:00
backends.py auth: Add fakeldap based authentication method in development environment. 2018-08-09 13:51:38 -07:00
dev_settings.py mypy: Suppress mypy error with fakeldap configuration. 2018-08-09 14:33:50 -07:00
dev_urls.py casper: Show casper debug files in the dev server. 2018-06-04 09:02:58 -07:00
email_backends.py requirements: Upgrade pyflakes to 2.0.0. 2018-05-24 11:31:36 -07:00
legacy_urls.py urls: Move the json/fetch_api_key endpoint to be an API-style route. 2018-01-08 13:15:52 -05:00
prod_settings_template.py settings: Fix a grammar typo in LDAP documentation. 2018-08-09 13:46:44 -07:00
settings.py push notifications: Add support for removing GCM push notifications. 2018-08-10 13:58:39 -07:00
slack_importer_test_settings.py slack importer: Use standalone database for running tests. 2018-01-07 09:50:27 -05:00
terms.md.template Add TERMS_OF_SERVICE setting. 2016-07-29 20:47:31 -07:00
test_settings.py errors: Use a setting to control the stream for slow-query logs. 2018-07-30 17:40:20 -07:00
urls.py api: Stop using API keys for Django->Tornado authentication. 2018-07-30 12:28:31 -07:00
wsgi.py python: Add lint rule banning 'from os.path import'. 2017-09-22 04:55:38 -07:00