diff options
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 0f4c695..0b91876 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -3431,15 +3431,6 @@ namespace QuickMedia { }; std::thread post_thread(post_thread_handler); - auto filter_my_messages = [&me](Messages &messages) { - for(auto it = messages.begin(); it != messages.end();) { - if((*it)->user == me && ((*it)->type == MessageType::TEXT || (*it)->type == MessageType::REACTION)) - it = messages.erase(it); - else - ++it; - } - }; - auto filter_sent_messages = [&sent_messages](Messages &messages) { for(auto it = messages.begin(); it != messages.end();) { if(sent_messages.find((*it)->event_id) != sent_messages.end()) @@ -3861,13 +3852,13 @@ namespace QuickMedia { } }; - auto add_new_messages_to_current_room = [&me, &tabs, &selected_tab, ¤t_room](Messages &messages) { + auto add_new_messages_to_current_room = [&me, &tabs, &selected_tab, ¤t_room, &chat_state](Messages &messages) { if(messages.empty()) return; int num_items = tabs[MESSAGES_TAB_INDEX].body->items.size(); bool scroll_to_end = num_items == 0; - if(tabs[MESSAGES_TAB_INDEX].body->is_selected_item_last_visible_item() && selected_tab == MESSAGES_TAB_INDEX) + if(tabs[MESSAGES_TAB_INDEX].body->is_selected_item_last_visible_item() && selected_tab == MESSAGES_TAB_INDEX && chat_state != ChatState::TYPING_MESSAGE) scroll_to_end = true; BodyItem *selected_item = tabs[MESSAGES_TAB_INDEX].body->get_selected(); @@ -4456,7 +4447,6 @@ namespace QuickMedia { matrix->get_room_sync_data(current_room, sync_data); if(!sync_data.messages.empty()) { all_messages.insert(all_messages.end(), sync_data.messages.begin(), sync_data.messages.end()); - filter_my_messages(sync_data.messages); filter_existing_messages(sync_data.messages); } add_new_messages_to_current_room(sync_data.messages); |