From 44ddab79f30bb959d363b58d8bce41bfc0892414 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 18 Nov 2020 10:16:10 +0100 Subject: Matrix: use slower /context instead of /event to workaround construct fucking shit bug where it just randomly fails --- TODO | 3 ++- src/plugins/Matrix.cpp | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/TODO b/TODO index cabcb2e..448691d 100644 --- a/TODO +++ b/TODO @@ -135,4 +135,5 @@ Pinned messages authors doesn't seem to be updated when fetching users, if the p Improve /sync by not removing cached data on initial sync, and also always append data to sync file instead of overwriting sync file on "initial sync". Also cache "since", but take into consideration that not all messages are fetched on the initial sync, then add a gap between old messages from before sync and after sync so we can fetch the messages between the old messages and new messages and remove the gap when the fetched messages contains any of the old messages. Fetching of previous messages should also be saved in the /sync file and messages fetched with get_message_by_id, which would cache embedded items and pinned messages; also cache users. -If manga page fails to download then show "failed to download image" as text and bind F5 to refresh (retry download). \ No newline at end of file +If manga page fails to download then show "failed to download image" as text and bind F5 to refresh (retry download). +Use fetched_messages_by_event_id.find(event_id); if(fetched_message_it != room->fetched_messages_by_event_id.end()) return fetched_message_it->second; -#if 0 +#if 1 rapidjson::Document request_data(rapidjson::kObjectType); request_data.AddMember("lazy_load_members", true, request_data.GetAllocator()); @@ -2741,12 +2741,12 @@ namespace QuickMedia { room->fetched_messages_by_event_id.insert(std::make_pair(event_id, nullptr)); return nullptr; } -#if 0 +#if 1 const rapidjson::Value &state_json = GetMember(json_root, "state"); events_add_user_info(state_json, room); #endif //events_set_room_name(state_json, room); -#if 0 +#if 1 const rapidjson::Value &event_json = GetMember(json_root, "event"); std::shared_ptr new_message = parse_message_event(event_json, room); #else -- cgit v1.2.3