Use timelines, encryption now works, except not fetching keys from old devices

This commit is contained in:
Henry Hiles 2026-01-06 16:31:51 -05:00
commit 3fd0d5f461
No known key found for this signature in database
4 changed files with 24 additions and 42 deletions

View file

@ -60,7 +60,7 @@ class RoomChatController extends AsyncNotifier<ChatController> {
);
return InMemoryChatController(
messages: await response.chunk.toMessages(room),
messages: await response.events.toMessages(room),
);
}
@ -85,14 +85,22 @@ class RoomChatController extends AsyncNotifier<ChatController> {
}
Future<void> loadOlder() async {
final currentEvents = await future;
await ref.watch(EventsController.provider(room).notifier).prev();
final newEvents = await ref.watch(EventsController.provider(room).future);
final controller = await future;
final response = await ref
.watch(EventsController.provider(room).notifier)
.prev();
final messages = await response.chunk.toMessages(room);
await controller.insertAllMessages(messages, index: 0);
await controller.insertAllMessages(
await newEvents.events
.where(
(event) => !currentEvents.messages.any(
(existingEvent) => existingEvent.id == event.eventId,
),
)
.toList()
.toMessages(room),
index: 0,
);
ref.notifyListeners();
}