1 files changed, 11 insertions, 0 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index eef4ec31..08c29927 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -139,6 +139,17 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj
});
connect(this, &TimelineModel::messageSent, this, [this](QString txn_id, QString event_id) {
pending.removeOne(txn_id);
+
+ // we could have received the message via sync
+ if (events.contains(event_id)) {
+ int idx = idToIndex(event_id);
+ if (idx >= 0) {
+ beginRemoveRows(QModelIndex(), idx, idx);
+ eventOrder.erase(eventOrder.begin() + idx);
+ endRemoveRows();
+ }
+ }
+
int idx = idToIndex(txn_id);
if (idx < 0) {
nhlog::ui()->warn("Sent index out of range");
|