diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2023-10-17 08:47:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-17 12:47:42 +0000 |
commit | 6ad1f9eac2c5ffc496597acbc5728482441c64c7 (patch) | |
tree | 48292d27b2e1e0e1867bed22f580b5b53273c851 /synapse/handlers | |
parent | Fix a bug where servers could be marked as up when they were failing (#16506) (diff) | |
download | synapse-6ad1f9eac2c5ffc496597acbc5728482441c64c7.tar.xz |
Convert DeviceLastConnectionInfo to attrs. (#16507)
To improve type safety & memory usage.
Diffstat (limited to 'synapse/handlers')
-rw-r--r-- | synapse/handlers/device.py | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py index 50df4f2b06..544bc7c13d 100644 --- a/synapse/handlers/device.py +++ b/synapse/handlers/device.py @@ -14,17 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import logging -from typing import ( - TYPE_CHECKING, - Any, - Dict, - Iterable, - List, - Mapping, - Optional, - Set, - Tuple, -) +from typing import TYPE_CHECKING, Dict, Iterable, List, Mapping, Optional, Set, Tuple from synapse.api import errors from synapse.api.constants import EduTypes, EventTypes @@ -41,6 +31,7 @@ from synapse.metrics.background_process_metrics import ( run_as_background_process, wrap_as_background_process, ) +from synapse.storage.databases.main.client_ips import DeviceLastConnectionInfo from synapse.types import ( JsonDict, JsonMapping, @@ -1008,14 +999,14 @@ class DeviceHandler(DeviceWorkerHandler): def _update_device_from_client_ips( - device: JsonDict, client_ips: Mapping[Tuple[str, str], Mapping[str, Any]] + device: JsonDict, client_ips: Mapping[Tuple[str, str], DeviceLastConnectionInfo] ) -> None: - ip = client_ips.get((device["user_id"], device["device_id"]), {}) + ip = client_ips.get((device["user_id"], device["device_id"])) device.update( { - "last_seen_user_agent": ip.get("user_agent"), - "last_seen_ts": ip.get("last_seen"), - "last_seen_ip": ip.get("ip"), + "last_seen_user_agent": ip.user_agent if ip else None, + "last_seen_ts": ip.last_seen if ip else None, + "last_seen_ip": ip.ip if ip else None, } ) |