handle events_decrypted
This commit is contained in:
parent
58a27fdd9e
commit
ef25e765d4
2 changed files with 47 additions and 0 deletions
|
|
@ -17,6 +17,7 @@ import "package:nexus/helpers/extensions/gomuks_buffer.dart";
|
|||
import "package:nexus/main.dart";
|
||||
import "package:ffi/ffi.dart";
|
||||
import "package:nexus/models/event.dart";
|
||||
import "package:nexus/models/events_decrypted.dart";
|
||||
import "package:nexus/models/sync_data.dart";
|
||||
import "package:nexus/src/third_party/gomuks.g.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
|
|
@ -60,6 +61,29 @@ class GomuksListenerController extends AsyncNotifier<void> {
|
|||
event.roomId: .new(events: .new({event.rowId: event})),
|
||||
}),
|
||||
);
|
||||
case "events_decrypted":
|
||||
final decrypted = EventsDecrypted.fromJson(decodedMuksEvent);
|
||||
final metadata = ref
|
||||
.read(RoomsController.provider)[decrypted.roomId]
|
||||
?.metadata;
|
||||
|
||||
ref
|
||||
.read(RoomsController.provider.notifier)
|
||||
.update(
|
||||
.new({
|
||||
decrypted.roomId: .new(
|
||||
events: decrypted.events,
|
||||
metadata: metadata?.copyWith(
|
||||
previewEventRowID:
|
||||
decrypted.previewEventRowID ??
|
||||
metadata.previewEventRowID,
|
||||
sortingTimestamp:
|
||||
decrypted.sortingTimestamp ??
|
||||
metadata.sortingTimestamp,
|
||||
),
|
||||
),
|
||||
}),
|
||||
);
|
||||
case "sync_complete":
|
||||
final syncData = SyncData.fromJson(decodedMuksEvent);
|
||||
final roomProvider = RoomsController.provider;
|
||||
|
|
|
|||
Loading…
Reference in a new issue