diff --git a/synapse/types.py b/synapse/types.py
index 63154855dd..1a9dceabf5 100644
--- a/synapse/types.py
+++ b/synapse/types.py
@@ -97,7 +97,7 @@ class RoomID(DomainSpecificString):
class StreamToken(
namedtuple(
"Token",
- ("events_key", "presence_key")
+ ("room_key", "presence_key", "typing_key")
)
):
_SEPARATOR = "_"
@@ -105,21 +105,14 @@ class StreamToken(
@classmethod
def from_string(cls, string):
try:
- events_key, presence_key = string.split(cls._SEPARATOR)
+ keys = string.split(cls._SEPARATOR)
- return cls(
- events_key=events_key,
- presence_key=presence_key,
- )
+ return cls(*keys)
except:
raise SynapseError(400, "Invalid Token")
def to_string(self):
- return "".join([
- str(self.events_key),
- self._SEPARATOR,
- str(self.presence_key),
- ])
+ return self._SEPARATOR.join([str(k) for k in self])
def copy_and_replace(self, key, new_value):
d = self._asdict()
|