summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2022-01-25 18:23:21 +0000
committerAndrew Morgan <andrew@amorgan.xyz>2022-01-25 18:23:21 +0000
commitd4e6f358b64b340a670e4f7496a530c11a715920 (patch)
tree714f7a92952f86048fab58ec0e43ad14ead1f39d
parentAdd admin API to get a list of federated rooms (#11658) (diff)
downloadsynapse-github/anoa/deprecate_no_device_access_tokens.tar.xz
You should always have a device if you're syncing
-rw-r--r--synapse/handlers/sync.py6
-rw-r--r--synapse/rest/client/sync.py3
-rw-r--r--synapse/storage/databases/main/deviceinbox.py4
-rw-r--r--tests/handlers/test_sync.py2
4 files changed, 9 insertions, 6 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index 7e2a892b63..dcb720dcf7 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -90,7 +90,7 @@ class SyncConfig:
     filter_collection: FilterCollection
     is_guest: bool
     request_key: SyncRequestKey
-    device_id: Optional[str]
+    device_id: str
 
 
 @attr.s(slots=True, frozen=True, auto_attribs=True)
@@ -288,7 +288,7 @@ class SyncHandler:
 
         # ExpiringCache((User, Device)) -> LruCache(user_id => event_id)
         self.lazy_loaded_members_cache: ExpiringCache[
-            Tuple[str, Optional[str]], LruCache[str, str]
+            Tuple[str, str], LruCache[str, str]
         ] = ExpiringCache(
             "lazy_loaded_members_cache",
             self.clock,
@@ -833,7 +833,7 @@ class SyncHandler:
         return summary
 
     def get_lazy_loaded_members_cache(
-        self, cache_key: Tuple[str, Optional[str]]
+        self, cache_key: Tuple[str, str]
     ) -> LruCache[str, str]:
         cache: Optional[LruCache[str, str]] = self.lazy_loaded_members_cache.get(
             cache_key
diff --git a/synapse/rest/client/sync.py b/synapse/rest/client/sync.py
index d20ae1421e..5fedc1d133 100644
--- a/synapse/rest/client/sync.py
+++ b/synapse/rest/client/sync.py
@@ -125,6 +125,9 @@ class SyncRestServlet(RestServlet):
         user = requester.user
         device_id = requester.device_id
 
+        # We must have a device ID, as this request is authenticated.
+        assert device_id
+
         timeout = parse_integer(request, "timeout", default=0)
         since = parse_string(request, "since")
         set_presence = parse_string(
diff --git a/synapse/storage/databases/main/deviceinbox.py b/synapse/storage/databases/main/deviceinbox.py
index 4eca97189b..d4a5726061 100644
--- a/synapse/storage/databases/main/deviceinbox.py
+++ b/synapse/storage/databases/main/deviceinbox.py
@@ -139,7 +139,7 @@ class DeviceInboxWorkerStore(SQLBaseStore):
     async def get_new_messages_for_device(
         self,
         user_id: str,
-        device_id: Optional[str],
+        device_id: str,
         last_stream_id: int,
         current_stream_id: int,
         limit: int = 100,
@@ -197,7 +197,7 @@ class DeviceInboxWorkerStore(SQLBaseStore):
 
     @trace
     async def delete_messages_for_device(
-        self, user_id: str, device_id: Optional[str], up_to_stream_id: int
+        self, user_id: str, device_id: str, up_to_stream_id: int
     ) -> int:
         """
         Args:
diff --git a/tests/handlers/test_sync.py b/tests/handlers/test_sync.py
index 07a760e91a..95026e82c4 100644
--- a/tests/handlers/test_sync.py
+++ b/tests/handlers/test_sync.py
@@ -282,7 +282,7 @@ _request_key = 0
 
 
 def generate_sync_config(
-    user_id: str, device_id: Optional[str] = "device_id"
+    user_id: str, device_id: str = "device_id"
 ) -> SyncConfig:
     """Generate a sync config (with a unique request key)."""
     global _request_key