Add method to convert PendingMessage's to event types
Add more logging during message sending
2 files changed, 31 insertions, 2 deletions
diff --git a/include/Cache.h b/include/Cache.h
index 97133b0c..76266ebd 100644
--- a/include/Cache.h
+++ b/include/Cache.h
@@ -355,7 +355,7 @@ public:
//
// Outbound Megolm Sessions
//
- void saveOutboundMegolmSession(const MegolmSessionIndex &index,
+ void saveOutboundMegolmSession(const std::string &room_id,
const OutboundGroupSessionData &data,
mtx::crypto::OutboundGroupSessionPtr session);
OutboundGroupSessionDataRef getOutboundMegolmSession(const MegolmSessionIndex &index);
diff --git a/include/timeline/TimelineView.h b/include/timeline/TimelineView.h
index 88857222..2c369d5f 100644
--- a/include/timeline/TimelineView.h
+++ b/include/timeline/TimelineView.h
@@ -48,8 +48,37 @@ struct PendingMessage
uint64_t media_size;
QString event_id;
TimelineItem *widget;
+ bool is_encrypted = false;
};
+template<class MessageT>
+MessageT
+toRoomMessage(const PendingMessage &) = delete;
+
+template<>
+mtx::events::msg::Audio
+toRoomMessage<mtx::events::msg::Audio>(const PendingMessage &m);
+
+template<>
+mtx::events::msg::Emote
+toRoomMessage<mtx::events::msg::Emote>(const PendingMessage &m);
+
+template<>
+mtx::events::msg::File
+toRoomMessage<mtx::events::msg::File>(const PendingMessage &);
+
+template<>
+mtx::events::msg::Image
+toRoomMessage<mtx::events::msg::Image>(const PendingMessage &m);
+
+template<>
+mtx::events::msg::Text
+toRoomMessage<mtx::events::msg::Text>(const PendingMessage &);
+
+template<>
+mtx::events::msg::Video
+toRoomMessage<mtx::events::msg::Video>(const PendingMessage &m);
+
// In which place new TimelineItems should be inserted.
enum class TimelineDirection
{
@@ -318,7 +347,7 @@ TimelineView::addUserMessage(const QString &url,
PendingMessage message;
message.ty = MsgType;
- message.txn_id = mtx::client::utils::random_token();
+ message.txn_id = http::v2::client()->generate_txn_id();
message.body = url;
message.filename = trimmed;
message.mime = mime;
|