Pinned messages: Decrypt events before handling them

This commit is contained in:
Arno Rehn
2025-09-28 17:55:51 +02:00
parent e41fd7d986
commit 981ea053a6
2 changed files with 8 additions and 1 deletions

View File

@@ -55,7 +55,11 @@ void PinnedMessageModel::fill()
for (const auto &event : std::as_const(events)) {
m_room->connection()->callApi<GetOneRoomEventJob>(m_room->id(), event).then([this](const auto &job) {
beginInsertRows({}, m_pinnedEvents.size(), m_pinnedEvents.size());
m_pinnedEvents.push_back(std::move(fromJson<event_ptr_tt<RoomEvent>>(job->jsonData())));
auto ev = fromJson<event_ptr_tt<RoomEvent>>(job->jsonData());
if (auto encEv = eventCast<EncryptedEvent>(ev.get())) {
ev = room()->decryptMessage(*encEv);
}
m_pinnedEvents.push_back(std::move(ev));
Q_EMIT newEventAdded(m_pinnedEvents.back().get());
endInsertRows();
});