forked-synapse/synapse/handlers
Matthew Hodgson ee238254a0 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
2018-07-06 16:29:08 +02:00
..
__init__.py Move RoomCreationHandler out of synapse.handlers.Handlers 2018-05-17 09:08:42 +01:00
_base.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
account_data.py copyrights 2016-01-07 04:26:29 +00:00
admin.py admin,storage: added more administrator functionalities 2017-02-02 14:02:26 +01:00
appservice.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
auth.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
deactivate_account.py Remove users from user directory on deactivate 2018-05-24 15:59:58 +01:00
device.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
devicemessage.py Split out edu/query registration to a separate class 2018-03-13 10:24:27 +00:00
directory.py s/replication_client/federation_client/ 2018-03-13 13:26:52 +00:00
e2e_keys.py typos 2018-06-25 17:37:00 +01:00
events.py Stub out ServerNoticesSender on the workers 2018-05-22 11:54:51 +01:00
federation.py Fix event filtering in get_missing_events handler 2018-06-08 14:15:31 +01:00
groups_local.py replace some iteritems with six 2018-05-19 17:59:26 +02:00
identity.py Use simplejson throughout 2018-03-29 22:45:52 +01:00
initial_sync.py Fix returned token is no longer a tuple 2018-05-09 15:43:00 +01:00
message.py Exempt AS-registered users from doing gdpr 2018-05-29 19:54:32 +01:00
presence.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
profile.py don't pass a requester if we don't have one to set_displayname 2018-05-04 01:56:01 +01:00
read_marker.py Improve caching for read_marker API 2018-03-01 17:08:17 +00:00
receipts.py Improve exception handling for background processes 2018-04-27 11:07:40 +01:00
register.py SECURITY UPDATE: Prevent unauthorised users from setting state events in a room 2018-06-22 17:04:50 +01:00
room_list.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
room_member_worker.py s/join/joined/ in notify_user_membership_change 2018-03-14 14:17:43 +00:00
room_member.py Let users leave the server notice room after joining 2018-05-25 11:07:21 +01:00
room.py SECURITY UPDATE: Prevent unauthorised users from setting state events in a room 2018-06-22 17:04:50 +01:00
search.py Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (#3307) 2018-05-31 19:03:47 +10:00
set_password.py Do bcrypt hashing in a background thread 2018-01-10 18:01:28 +00:00
sync.py Query the device lists of users when they are invited to a room. 2018-07-06 16:29:08 +02:00
typing.py Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background 2018-04-27 14:31:23 +01:00
user_directory.py Merge pull request #3244 from NotAFile/py3-six-4 2018-05-24 13:04:07 -05:00