wip room fixes (broken)
This commit is contained in:
parent
822007f2d3
commit
b672b308b8
1 changed files with 16 additions and 12 deletions
|
|
@ -9,7 +9,6 @@ import "package:nexus/controllers/message_controller.dart";
|
||||||
import "package:nexus/controllers/messages_controller.dart";
|
import "package:nexus/controllers/messages_controller.dart";
|
||||||
import "package:nexus/controllers/new_events_controller.dart";
|
import "package:nexus/controllers/new_events_controller.dart";
|
||||||
import "package:nexus/controllers/rooms_controller.dart";
|
import "package:nexus/controllers/rooms_controller.dart";
|
||||||
import "package:nexus/controllers/selected_room_controller.dart";
|
|
||||||
import "package:nexus/models/message_config.dart";
|
import "package:nexus/models/message_config.dart";
|
||||||
import "package:nexus/models/messages_config.dart";
|
import "package:nexus/models/messages_config.dart";
|
||||||
import "package:nexus/models/requests/get_room_state_request.dart";
|
import "package:nexus/models/requests/get_room_state_request.dart";
|
||||||
|
|
@ -26,7 +25,7 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
||||||
@override
|
@override
|
||||||
Future<ChatController> build() async {
|
Future<ChatController> build() async {
|
||||||
final client = ref.watch(ClientController.provider.notifier);
|
final client = ref.watch(ClientController.provider.notifier);
|
||||||
final room = ref.read(SelectedRoomController.provider);
|
final room = ref.read(RoomsController.provider)[roomId];
|
||||||
if (room == null) return InMemoryChatController();
|
if (room == null) return InMemoryChatController();
|
||||||
|
|
||||||
final messages = await ref.watch(
|
final messages = await ref.watch(
|
||||||
|
|
@ -111,7 +110,7 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
||||||
);
|
);
|
||||||
|
|
||||||
ref
|
ref
|
||||||
.watch(RoomsController.provider.notifier)
|
.read(RoomsController.provider.notifier)
|
||||||
.update(
|
.update(
|
||||||
{
|
{
|
||||||
roomId: Room(
|
roomId: Room(
|
||||||
|
|
@ -165,15 +164,18 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> loadOlder([InMemoryChatController? chatController]) async {
|
Future<void> loadOlder([InMemoryChatController? chatController]) async {
|
||||||
final controller = chatController ?? await future;
|
final response = await ref
|
||||||
final client = ref.watch(ClientController.provider.notifier);
|
.watch(ClientController.provider.notifier)
|
||||||
|
.paginate(
|
||||||
final response = await client.paginate(
|
PaginateRequest(
|
||||||
PaginateRequest(
|
roomId: roomId,
|
||||||
roomId: roomId,
|
maxTimelineId: ref
|
||||||
maxTimelineId: controller.messages.firstOrNull?.metadata?["timelineId"],
|
.watch(RoomsController.provider)[roomId]
|
||||||
),
|
?.timeline
|
||||||
);
|
.firstOrNull
|
||||||
|
?.timelineRowId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
ref
|
ref
|
||||||
.watch(RoomsController.provider.notifier)
|
.watch(RoomsController.provider.notifier)
|
||||||
|
|
@ -203,6 +205,8 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
||||||
MessagesConfig(room: room, events: response.events.reversed),
|
MessagesConfig(room: room, events: response.events.reversed),
|
||||||
).future,
|
).future,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
final controller = chatController ?? await future;
|
||||||
await controller.insertAllMessages(
|
await controller.insertAllMessages(
|
||||||
messages
|
messages
|
||||||
.where(
|
.where(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue