Make retry_decrypt_events() work for good

This commit is contained in:
miruka 2020-03-15 17:26:41 -04:00
parent adbe2d88ee
commit 8a99ccd976
3 changed files with 8 additions and 5 deletions

View File

@ -1179,17 +1179,19 @@ class MatrixClient(nio.AsyncClient):
# Add the Event to model
model = self.models[self.user_id, room.room_id, "events"]
tx_id = ev.source.get("content", {}).get(
f"{__app_name__}.transaction_id",
)
local_sender = ev.sender in self.backend.clients
if local_sender and tx_id:
if local_sender and tx_id and tx_id in model:
item.id = f"echo-{tx_id}"
if not local_sender and not await self.event_is_past(ev):
AlertRequested()
self.models[self.user_id, room.room_id, "events"][item.id] = item
model[item.id] = item
await self.set_room_last_event(room.room_id, item)

View File

@ -82,6 +82,7 @@ class Model(MutableMapping):
setattr(existing, field, getattr(new, field))
return
if self.sync_id:
new.parent_model = self
self._data[key] = new

View File

@ -60,13 +60,13 @@ QtObject {
function onModelItemInserted(syncId, index, item) {
print("insert", syncId, index, item)
// print("insert", syncId, index, item)
ModelStore.get(syncId).insert(index, item)
}
function onModelItemFieldChanged(syncId, oldIndex, newIndex, field, value){
print("change", syncId, oldIndex, newIndex, field, value)
// print("change", syncId, oldIndex, newIndex, field, value)
const model = ModelStore.get(syncId)
model.setProperty(oldIndex, field, value)