zulip/zerver
Steve Howell 7ff3859136 subscriber events: Change schema for peer_add/peer_remove.
We now can send an implied matrix of user/stream tuples
for peer_add and peer_remove events.

The client code basically does this:

    for stream_id in event['stream_ids']:
        for user_id in event['user_ids']:
            update_sub(stream_id, user_id)

We used to send individual events, which gets real
expensive when you are creating new streams. For
the case of copy-to-stream case, we should see
events go from U to 1, where U is the number of users
added.

Note that we don't yet fully optimize the potential
of this schema.  For adding a new user with lots
of default streams, we still send S peer_add events.

And if you subscribe a bunch of users to a bunch of
private streams, we only go from U * S to S; we can't
optimize it down to one event easily.
2020-10-22 11:19:53 -07:00
..
data_import import_util: Migrate from run_parallel to multiprocessing. 2020-09-14 16:22:23 -07:00
lib subscriber events: Change schema for peer_add/peer_remove. 2020-10-22 11:19:53 -07:00
management compilemessages: Sort language list with Unicode Collation Algorithm. 2020-10-21 15:22:18 -07:00
migrations realm: Add wildcard_mention_policy setting. 2020-10-01 12:18:03 -07:00
openapi subscriber events: Change schema for peer_add/peer_remove. 2020-10-22 11:19:53 -07:00
templatetags python: Replace list literal concatenation with * unpacking. 2020-09-02 11:15:41 -07:00
tests subscriber events: Change schema for peer_add/peer_remove. 2020-10-22 11:19:53 -07:00
tornado tornado: Switch to start_json_consumer interface. 2020-10-11 14:19:42 -07:00
views i18n: Fix some ineffective calls to ugettext at top level. 2020-10-18 14:31:15 -07:00
webhooks bitbucket2: Format user info consistently. 2020-09-23 15:31:38 -07:00
worker queue_processors: Don't run test queues with run-dev.py. 2020-10-18 14:07:31 -07:00
__init__.py
apps.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
context_processors.py i18n: Don't include email tags in translation strings. 2020-09-25 15:53:26 -07:00
decorator.py web_public_guest: Rename to web_public_visitor for clarity. 2020-10-13 16:59:52 -07:00
filters.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
forms.py forms: Convert percent formatting to "".format. 2020-10-19 11:54:14 -07:00
logging_handlers.py python: Catch specific exceptions from subprocess. 2020-10-11 16:11:41 -07:00
middleware.py middleware: Move locale-setting before domain checking. 2020-09-14 22:16:09 -07:00
models.py i18n: Be deliberate about distinguishing ugettext and ugettext_lazy. 2020-10-18 14:31:15 -07:00
signals.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00