Fix: Send messages in web delay
This commit is contained in:
parent
631b28eab2
commit
0d159c2db4
|
@ -719,7 +719,7 @@ class Room {
|
||||||
'transaction_id': messageID,
|
'transaction_id': messageID,
|
||||||
},
|
},
|
||||||
]))));
|
]))));
|
||||||
await client.handleSync(syncUpdate);
|
await _handleFakeSync(syncUpdate);
|
||||||
|
|
||||||
// Send the text and on success, store and display a *sent* event.
|
// Send the text and on success, store and display a *sent* event.
|
||||||
try {
|
try {
|
||||||
|
@ -731,14 +731,15 @@ class Room {
|
||||||
syncUpdate.rooms.join.values.first.timeline.events.first
|
syncUpdate.rooms.join.values.first.timeline.events.first
|
||||||
.unsigned[MessageSendingStatusKey] = 1;
|
.unsigned[MessageSendingStatusKey] = 1;
|
||||||
syncUpdate.rooms.join.values.first.timeline.events.first.eventId = res;
|
syncUpdate.rooms.join.values.first.timeline.events.first.eventId = res;
|
||||||
await client.handleSync(syncUpdate);
|
await _handleFakeSync(syncUpdate);
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logs.warning(
|
Logs.warning(
|
||||||
'[Client] Problem while sending message: ' + e.toString(), s);
|
'[Client] Problem while sending message: ' + e.toString(), s);
|
||||||
syncUpdate.rooms.join.values.first.timeline.events.first
|
syncUpdate.rooms.join.values.first.timeline.events.first
|
||||||
.unsigned[MessageSendingStatusKey] = -1;
|
.unsigned[MessageSendingStatusKey] = -1;
|
||||||
await client.handleSync(syncUpdate);
|
await _handleFakeSync(syncUpdate);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1588,4 +1589,15 @@ class Room {
|
||||||
}
|
}
|
||||||
await client.encryption.keyManager.request(this, sessionId, senderKey);
|
await client.encryption.keyManager.request(this, sessionId, senderKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _handleFakeSync(SyncUpdate syncUpdate,
|
||||||
|
{bool sortAtTheEnd = false}) async {
|
||||||
|
if (client.database != null) {
|
||||||
|
await client.database.transaction(() async {
|
||||||
|
await client.handleSync(syncUpdate, sortAtTheEnd: sortAtTheEnd);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
await client.handleSync(syncUpdate, sortAtTheEnd: sortAtTheEnd);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue