zulip/zerver
Steve Howell b9ec2545bb Simplify and speed up stream deactivation.
This is a fairly risky, invasive change that speeds up
stream deactivation by no longer sending subscription/remove
events for individual subscribers to all of the clients who
care about a stream.  Instead, we let the client handle the
stream deactivation on a coarser level.

The back end changes here are pretty straightforward.

On the front end we handle stream deactivations by removing the
stream (as needed) from the streams sidebar and/or the stream
settings page.  We also remove the stream from the internal data
structures.

There may be some edge cases where live updates don't handle
everything, such as if you are about to compose a message to a
stream that has been deactivated.  These should be rare, as admins
generally deactivate streams that have been dormant, and they
should be recoverable either by getting proper error handling when
you try to send to the stream or via reload.
2017-02-17 15:53:22 -08:00
..
fixtures integrations: Add Greenhouse integration. 2017-02-07 19:08:35 -08:00
lib Simplify and speed up stream deactivation. 2017-02-17 15:53:22 -08:00
management Clean code of send_test_email command. 2017-02-10 16:01:43 -08:00
migrations models: Remove nullable property from RealmAlias.realm. 2017-02-10 23:53:44 -08:00
templatetags minify: Clean up unnecessary tuple/list complexity. 2017-01-19 14:51:16 -08:00
tests Simplify and speed up stream deactivation. 2017-02-17 15:53:22 -08:00
tornado socket: Hardcode website message sender for fake messages. 2017-02-17 15:20:32 -08:00
views home: Remove unused get_client import. 2017-02-17 15:35:38 -08:00
webhooks messages: Strip trailing whitespace in message contents. 2017-02-11 23:01:22 -08:00
worker socket: Transmit HTTP_USER_AGENT for websockets sending. 2017-02-17 15:19:21 -08:00
__init__.py caching: Add configuration class for post-migration cache flushing. 2016-10-27 23:26:34 -07:00
apps.py caching: Add configuration class for post-migration cache flushing. 2016-10-27 23:26:34 -07:00
context_processors.py lint: Clean up E241 PEP-8 rule. 2017-01-23 21:21:14 -08:00
decorator.py decorator: Don't block ZulipElectron name in json views. 2017-02-17 15:19:10 -08:00
exceptions.py Annotate zerver.exceptions, zerver.filters, zerver.logging_handlers. 2016-06-04 22:51:18 -07:00
filters.py errors: Remove build_request_repr logic. 2017-01-29 14:18:22 -08:00
forms.py users: Verify full names explicitly in account registration. 2017-02-07 20:20:32 -08:00
logging_handlers.py mypy: Fix several Optional typing errors. 2017-02-10 23:53:44 -08:00
middleware.py mypy: Fix several Optional typing errors. 2017-02-10 23:53:44 -08:00
models.py zerver/models.py: Add comments in 'get_realm_by_email_domain()` function. 2017-02-17 11:55:15 -08:00
static_header.txt Update static_header.txt with new license information. 2016-08-13 00:37:21 -07:00
storage.py storage: Fix minifying CSS/JS files with unicode in them. 2017-02-16 22:24:14 -08:00