mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-12 18:12:10 -04:00
Merge branch 'cross-signing_hidden' into cross-signing_keys
This commit is contained in:
commit
336c546d6a
298 changed files with 3414 additions and 2145 deletions
|
@ -52,7 +52,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
return self._simple_select_one(
|
||||
table="devices",
|
||||
keyvalues={"user_id": user_id, "device_id": device_id, "hidden": False},
|
||||
retcols=("user_id", "device_id", "display_name", "hidden"),
|
||||
retcols=("user_id", "device_id", "display_name"),
|
||||
desc="get_device",
|
||||
)
|
||||
|
||||
|
@ -75,7 +75,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
desc="get_devices_by_user",
|
||||
)
|
||||
|
||||
defer.returnValue({d["device_id"]: d for d in devices})
|
||||
return {d["device_id"]: d for d in devices}
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_devices_by_remote(self, destination, from_stream_id, limit):
|
||||
|
@ -92,7 +92,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
destination, int(from_stream_id)
|
||||
)
|
||||
if not has_changed:
|
||||
defer.returnValue((now_stream_id, []))
|
||||
return (now_stream_id, [])
|
||||
|
||||
# We retrieve n+1 devices from the list of outbound pokes where n is
|
||||
# our outbound device update limit. We then check if the very last
|
||||
|
@ -115,7 +115,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
|
||||
# Return an empty list if there are no updates
|
||||
if not updates:
|
||||
defer.returnValue((now_stream_id, []))
|
||||
return (now_stream_id, [])
|
||||
|
||||
# if we have exceeded the limit, we need to exclude any results with the
|
||||
# same stream_id as the last row.
|
||||
|
@ -151,13 +151,13 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
# skip that stream_id and return an empty list, and continue with the next
|
||||
# stream_id next time.
|
||||
if not query_map:
|
||||
defer.returnValue((stream_id_cutoff, []))
|
||||
return (stream_id_cutoff, [])
|
||||
|
||||
results = yield self._get_device_update_edus_by_remote(
|
||||
destination, from_stream_id, query_map
|
||||
)
|
||||
|
||||
defer.returnValue((now_stream_id, results))
|
||||
return (now_stream_id, results)
|
||||
|
||||
def _get_devices_by_remote_txn(
|
||||
self, txn, destination, from_stream_id, now_stream_id, limit
|
||||
|
@ -236,7 +236,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
|
||||
results.append(result)
|
||||
|
||||
defer.returnValue(results)
|
||||
return results
|
||||
|
||||
def _get_last_device_update_for_remote_user(
|
||||
self, destination, user_id, from_stream_id
|
||||
|
@ -369,7 +369,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
else:
|
||||
results[user_id] = yield self._get_cached_devices_for_user(user_id)
|
||||
|
||||
defer.returnValue((user_ids_not_in_cache, results))
|
||||
return (user_ids_not_in_cache, results)
|
||||
|
||||
@cachedInlineCallbacks(num_args=2, tree=True)
|
||||
def _get_cached_user_device(self, user_id, device_id):
|
||||
|
@ -379,7 +379,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
retcol="content",
|
||||
desc="_get_cached_user_device",
|
||||
)
|
||||
defer.returnValue(db_to_json(content))
|
||||
return db_to_json(content)
|
||||
|
||||
@cachedInlineCallbacks()
|
||||
def _get_cached_devices_for_user(self, user_id):
|
||||
|
@ -389,9 +389,9 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
retcols=("device_id", "content"),
|
||||
desc="_get_cached_devices_for_user",
|
||||
)
|
||||
defer.returnValue(
|
||||
{device["device_id"]: db_to_json(device["content"]) for device in devices}
|
||||
)
|
||||
return {
|
||||
device["device_id"]: db_to_json(device["content"]) for device in devices
|
||||
}
|
||||
|
||||
def get_devices_with_keys_by_user(self, user_id):
|
||||
"""Get all devices (with any device keys) for a user
|
||||
|
@ -543,7 +543,7 @@ class DeviceWorkerStore(SQLBaseStore):
|
|||
results = {user_id: None for user_id in user_ids}
|
||||
results.update({row["user_id"]: row["stream_id"] for row in rows})
|
||||
|
||||
defer.returnValue(results)
|
||||
return results
|
||||
|
||||
|
||||
class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
||||
|
@ -606,7 +606,7 @@ class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
|||
"""
|
||||
key = (user_id, device_id)
|
||||
if self.device_id_exists_cache.get(key, None):
|
||||
defer.returnValue(False)
|
||||
return False
|
||||
|
||||
try:
|
||||
inserted = yield self._simple_insert(
|
||||
|
@ -631,7 +631,7 @@ class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
|||
if hidden:
|
||||
raise StoreError(400, "The device ID is in use", Codes.FORBIDDEN)
|
||||
self.device_id_exists_cache.prefill(key, True)
|
||||
defer.returnValue(inserted)
|
||||
return inserted
|
||||
except StoreError:
|
||||
raise
|
||||
except Exception as e:
|
||||
|
@ -658,11 +658,11 @@ class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
|||
Returns:
|
||||
defer.Deferred
|
||||
"""
|
||||
sql = """
|
||||
DELETE FROM devices
|
||||
WHERE user_id = ? AND device_id = ? AND NOT hidden
|
||||
"""
|
||||
yield self._execute("delete_device", None, sql, user_id, device_id)
|
||||
yield self._simple_delete_one(
|
||||
table="devices",
|
||||
keyvalues={"user_id": user_id, "device_id": device_id, "hidden": False},
|
||||
desc="delete_device",
|
||||
)
|
||||
|
||||
self.device_id_exists_cache.invalidate((user_id, device_id))
|
||||
|
||||
|
@ -676,21 +676,13 @@ class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
|||
Returns:
|
||||
defer.Deferred
|
||||
"""
|
||||
|
||||
if not device_ids or len(device_ids) == 0:
|
||||
return
|
||||
sql = """
|
||||
DELETE FROM devices
|
||||
WHERE user_id = ? AND device_id IN (%s) AND NOT hidden
|
||||
""" % (
|
||||
",".join("?" for _ in device_ids)
|
||||
yield self._simple_delete_many(
|
||||
table="devices",
|
||||
column="device_id",
|
||||
iterable=device_ids,
|
||||
keyvalues={"user_id": user_id, "hidden": False},
|
||||
desc="delete_devices",
|
||||
)
|
||||
values = [user_id]
|
||||
values.extend(device_ids)
|
||||
values.append(False)
|
||||
|
||||
yield self._execute("delete_devices", None, sql, *values)
|
||||
|
||||
for device_id in device_ids:
|
||||
self.device_id_exists_cache.invalidate((user_id, device_id))
|
||||
|
||||
|
@ -865,7 +857,7 @@ class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
|||
hosts,
|
||||
stream_id,
|
||||
)
|
||||
defer.returnValue(stream_id)
|
||||
return stream_id
|
||||
|
||||
def _add_device_change_txn(self, txn, user_id, device_ids, hosts, stream_id):
|
||||
now = self._clock.time_msec()
|
||||
|
@ -974,4 +966,4 @@ class DeviceStore(DeviceWorkerStore, BackgroundUpdateStore):
|
|||
|
||||
yield self.runWithConnection(f)
|
||||
yield self._end_background_update(DROP_DEVICE_LIST_STREAMS_NON_UNIQUE_INDEXES)
|
||||
defer.returnValue(1)
|
||||
return 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue