From 7016cc4205797166e9cfd6f164becd2c09cadb07 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Thu, 21 May 2026 14:17:01 -0400 Subject: [PATCH 1/2] change wording on verify page message -> event --- lib/pages/verify_page.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/verify_page.dart b/lib/pages/verify_page.dart index 962701c..387c640 100644 --- a/lib/pages/verify_page.dart +++ b/lib/pages/verify_page.dart @@ -21,7 +21,7 @@ class VerifyPage extends HookConsumerWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - "Enter your recovery key or passphrase below to unlock encrypted messages.\nYour passphrase is usually not the same as your password.", + "Enter your recovery key or passphrase below to unlock encrypted events.\nYour passphrase is usually not the same as your password.", ), SizedBox(height: 12), FormTextInput( From a28592d11e74d9841cb72330ab43c6f359844782 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Thu, 21 May 2026 14:19:51 -0400 Subject: [PATCH 2/2] change algorithm for deciding when to load more messages --- lib/controllers/room_chat_controller.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/controllers/room_chat_controller.dart b/lib/controllers/room_chat_controller.dart index 2b6810b..a750e53 100644 --- a/lib/controllers/room_chat_controller.dart +++ b/lib/controllers/room_chat_controller.dart @@ -6,6 +6,7 @@ import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:fluttertagger/fluttertagger.dart"; import "package:nexus/controllers/client_controller.dart"; import "package:nexus/controllers/rooms_controller.dart"; +import "package:nexus/models/content/message.dart"; import "package:nexus/models/content/reaction.dart"; import "package:nexus/models/event.dart"; import "package:nexus/models/requests/get_related_events_request.dart"; @@ -37,8 +38,14 @@ class RoomChatController extends AsyncNotifier> { await ref.read(RoomsController.provider.notifier).addState(roomId, state); } - // While there are under 30 messages, try up to load more messages until there's no more or we have 20 messages. - if (room.hasMore && room.timeline.length < 30) { + // While there are under 5 messages or under 20 events, try to load + // more messages until there's no more or the conditions are met. + if (room.hasMore && + (room.events.values + .where((event) => event.content is MessageContent) + .length < + 5 || + room.timeline.length < 20)) { loadOlder(); }