@@ -6,12 +6,12 @@ import 'package:logging/logging.dart';
66import 'package:whitenoise/config/providers/active_pubkey_provider.dart' ;
77import 'package:whitenoise/config/providers/auth_provider.dart' ;
88import 'package:whitenoise/config/providers/group_provider.dart' ;
9+ import 'package:whitenoise/config/services/group_messages_service.dart' ;
910import 'package:whitenoise/config/states/chat_state.dart' ;
1011import 'package:whitenoise/domain/models/message_model.dart' ;
1112import 'package:whitenoise/src/rust/api/error.dart' show ApiError;
1213import 'package:whitenoise/src/rust/api/messages.dart' ;
1314import 'package:whitenoise/src/rust/api/utils.dart' ;
14- import 'package:whitenoise/utils/message_converter.dart' ;
1515import 'package:whitenoise/utils/pubkey_formatter.dart' ;
1616
1717class ChatNotifier extends Notifier <ChatState > {
@@ -86,11 +86,12 @@ class ChatNotifier extends Notifier<ChatState> {
8686 // Sort messages by creation time (oldest first)
8787 aggregatedMessages.sort ((a, b) => a.createdAt.compareTo (b.createdAt));
8888
89- final messages = await MessageConverter .fromChatMessageList (
90- aggregatedMessages,
91- currentUserPublicKey: activePubkey,
89+ final messages = await GroupMessagesService (
9290 groupId: groupId,
9391 ref: ref,
92+ ).toMessageModels (
93+ chatMessages: aggregatedMessages,
94+ activePubkey: activePubkey,
9495 );
9596
9697 state = state.copyWith (
@@ -178,7 +179,7 @@ class ChatNotifier extends Notifier<ChatState> {
178179 );
179180
180181 // Build message cache from current messages for consistency
181- final messageCache = < String , ChatMessage > {};
182+ final chatMessagesMap = < String , ChatMessage > {};
182183 for (final msg in currentMessages) {
183184 // Convert existing MessageModel back to ChatMessage for cache
184185 final chatMessage = ChatMessage (
@@ -194,15 +195,16 @@ class ChatNotifier extends Notifier<ChatState> {
194195 reactions: const ReactionSummary (byEmoji: [], userReactions: []),
195196 kind: msg.kind, // Use the actual message kind
196197 );
197- messageCache [msg.id] = chatMessage;
198+ chatMessagesMap [msg.id] = chatMessage;
198199 }
199200
200- final sentMessageModel = await MessageConverter .fromChatMessage (
201- sentChatMessage,
202- currentUserPublicKey: activePubkey,
201+ final sentMessageModel = await GroupMessagesService (
203202 groupId: groupId,
204203 ref: ref,
205- messageCache: messageCache,
204+ ).toMessageModel (
205+ chatMessage: sentChatMessage,
206+ activePubkey: activePubkey,
207+ chatMessagesMap: chatMessagesMap,
206208 );
207209 final updatedMessages = [...currentMessages, sentMessageModel];
208210
@@ -297,11 +299,13 @@ class ChatNotifier extends Notifier<ChatState> {
297299 );
298300
299301 aggregatedMessages.sort ((a, b) => a.createdAt.compareTo (b.createdAt));
300- final newMessages = await MessageConverter .fromChatMessageList (
301- aggregatedMessages,
302- currentUserPublicKey: activePubkey,
302+
303+ final newMessages = await GroupMessagesService (
303304 groupId: groupId,
304305 ref: ref,
306+ ).toMessageModels (
307+ chatMessages: aggregatedMessages,
308+ activePubkey: activePubkey,
305309 );
306310
307311 final currentMessages = state.groupMessages[groupId] ?? [];
@@ -622,7 +626,7 @@ class ChatNotifier extends Notifier<ChatState> {
622626 );
623627
624628 // Build message cache from current messages for reply lookup
625- final messageCache = < String , ChatMessage > {};
629+ final chatMessagesMap = < String , ChatMessage > {};
626630 for (final msg in currentMessages) {
627631 // Convert existing MessageModel back to ChatMessage for cache
628632 final chatMessage = ChatMessage (
@@ -638,15 +642,16 @@ class ChatNotifier extends Notifier<ChatState> {
638642 reactions: const ReactionSummary (byEmoji: [], userReactions: []),
639643 kind: msg.kind, // Use the actual message kind
640644 );
641- messageCache [msg.id] = chatMessage;
645+ chatMessagesMap [msg.id] = chatMessage;
642646 }
643647
644- final sentMessageModel = await MessageConverter .fromChatMessage (
645- sentChatMessage,
646- currentUserPublicKey: activePubkey,
648+ final sentMessageModel = await GroupMessagesService (
647649 groupId: groupId,
648650 ref: ref,
649- messageCache: messageCache,
651+ ).toMessageModel (
652+ chatMessage: sentChatMessage,
653+ activePubkey: activePubkey,
654+ chatMessagesMap: chatMessagesMap,
650655 );
651656 final updatedMessages = [...currentMessages, sentMessageModel];
652657
0 commit comments