Fixes for reply handling
This commit is contained in:
parent
8d0eafae8a
commit
00ab2676b2
4 changed files with 34 additions and 25 deletions
|
|
@ -5,9 +5,12 @@ import "package:nexus/models/full_room.dart";
|
|||
|
||||
class CurrentRoomController extends AsyncNotifier<FullRoom?> {
|
||||
@override
|
||||
Future<FullRoom?> build() async => (await ref.watch(
|
||||
SpacesController.provider.future,
|
||||
))[0].children[0].roomData.fullRoom;
|
||||
Future<FullRoom?> build() async {
|
||||
final spaces = await ref.watch(SpacesController.provider.future);
|
||||
|
||||
if (spaces.isEmpty || spaces[0].children.isEmpty) return null;
|
||||
return spaces[0].children[0].roomData.fullRoom;
|
||||
}
|
||||
|
||||
Future<void> set(FullRoom room) async {
|
||||
await future;
|
||||
|
|
|
|||
|
|
@ -33,14 +33,7 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
|||
}).cancel,
|
||||
);
|
||||
return InMemoryChatController(
|
||||
messages: {
|
||||
for (var msg in (await Future.wait(
|
||||
response.chunk.map(
|
||||
(event) => Event.fromMatrixEvent(event, room).toMessage(),
|
||||
),
|
||||
)).nonNulls.toList().reversed.toList())
|
||||
msg.id: msg,
|
||||
}.values.toList(),
|
||||
messages: await response.chunk.toMessages(room),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -63,12 +56,9 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
|||
final response = await ref
|
||||
.watch(EventsController.provider(room).notifier)
|
||||
.prev();
|
||||
|
||||
await controller.insertAllMessages(
|
||||
(await Future.wait(
|
||||
response.chunk.map(
|
||||
(event) => Event.fromMatrixEvent(event, room).toMessage(),
|
||||
),
|
||||
)).nonNulls.toList().reversed.toList(),
|
||||
await response.chunk.toMessages(room),
|
||||
index: 0,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue