summary refs log tree commit diff
path: root/src/Sync.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Sync.cc')
-rw-r--r--src/Sync.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/Sync.cc b/src/Sync.cc

index 90314352..39d84acb 100644 --- a/src/Sync.cc +++ b/src/Sync.cc
@@ -168,7 +168,21 @@ JoinedRoom::deserialize(const QJsonValue &data) if (!ephemeral.value("events").isArray()) qWarning() << "join/ephemeral/events should be an array"; - // TODO: Implement ephemeral handling + auto ephemeralEvents = ephemeral.value("events").toArray(); + + for (const auto e : ephemeralEvents) { + auto obj = e.toObject(); + + if (obj.contains("type") && obj.value("type") == "m.typing") { + auto ids = obj.value("content") + .toObject() + .value("user_ids") + .toArray(); + + for (const auto uid : ids) + typingUserIDs_.push_back(uid.toString()); + } + } } }