summary refs log tree commit diff
path: root/synapse/federation/send_queue.py
diff options
context:
space:
mode:
authorMatthew Hodgson <matthew@matrix.org>2018-07-06 16:22:09 +0200
committerMatthew Hodgson <matthew@matrix.org>2018-07-06 16:29:08 +0200
commitee238254a06363ee564166adb3aeffeea1af0126 (patch)
tree372e7edc29cb35ff6b249ad37bffd26e1747fbbc /synapse/federation/send_queue.py
parenttypos (diff)
downloadsynapse-ee238254a06363ee564166adb3aeffeea1af0126.tar.xz
Query the device lists of users when they are invited to a room.
Previously we only queried the device list when the user joined the room; now we
do it when they are invited too.  This means that new messages can be encrypted
for the devices of the invited user as of the point they were invited.

WARNING: This commit has two major problems however:
 1. If the invited user adds devices after being invited but before joining, the
    device-list will not be updated to the other servers in the room (as we don't
    know who those servers are).
 2. This introduces a regression, as previously the device-list would be correctly
    updated when when user joined the room.  However, this resync doesn't happen
    now, so devices which joined after the invite and before the join may never
    be added to the device-list.

This is being merged for DINSIC given the edge case of adding devices between
invite & join is pretty rare in their use case, but before it can be merged to
synapse in general we need to at least re-sync the devicelist when the user joins
or to implement some kind of pubsub mechanism to let interested servers subscribe
to devicelist updates on other servers irrespective of user join/invite membership.

This was originally https://github.com/matrix-org/synapse/pull/3484
Diffstat (limited to 'synapse/federation/send_queue.py')
0 files changed, 0 insertions, 0 deletions