From 9acf5edd7b11a69d03e5dbf36cbda0f19ad25636 Mon Sep 17 00:00:00 2001 From: Herbert Ho Date: Fri, 9 Sep 2022 17:04:04 -0700 Subject: [PATCH] support matrix-synapse (> 1.57.1) no longer returning `end` for room_messages if no additional pages exist --- nio/responses.py | 4 ++-- nio/schemas.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nio/responses.py b/nio/responses.py index e1fb6f22..20f1eb62 100644 --- a/nio/responses.py +++ b/nio/responses.py @@ -1204,7 +1204,7 @@ class RoomMessagesResponse(Response): chunk: List[Union[Event, BadEventType]] = field() start: str = field() - end: str = field() + end: str = field(default=None) @classmethod @verify(Schemas.room_messages, RoomMessagesError) @@ -1216,7 +1216,7 @@ def from_dict( # type: (...) -> Union[RoomMessagesResponse, ErrorResponse] chunk: List[Union[Event, BadEventType]] = [] chunk = SyncResponse._get_room_events(parsed_dict["chunk"]) - return cls(room_id, chunk, parsed_dict["start"], parsed_dict["end"]) + return cls(room_id, chunk, parsed_dict["start"], parsed_dict.get("end")) @dataclass diff --git a/nio/schemas.py b/nio/schemas.py index 1c654bf2..b5352487 100644 --- a/nio/schemas.py +++ b/nio/schemas.py @@ -1093,7 +1093,7 @@ class Schemas: "start": {"type": "string"}, "end": {"type": "string"}, }, - "required": ["chunk", "start", "end"], + "required": ["chunk", "start"], } room_context = {