@@ -134,7 +134,7 @@ where
134
134
. ok_or ( Error :: GroupNotFound ) ?;
135
135
136
136
// Load stored group
137
- let group: group_types:: Group = self
137
+ let mut group: group_types:: Group = self
138
138
. get_group ( mls_group_id)
139
139
. map_err ( |e| Error :: Group ( e. to_string ( ) ) ) ?
140
140
. ok_or ( Error :: GroupNotFound ) ?;
@@ -190,14 +190,21 @@ where
190
190
191
191
// Save message to storage
192
192
self . storage ( )
193
- . save_message ( message)
193
+ . save_message ( message. clone ( ) )
194
194
. map_err ( |e| Error :: Message ( e. to_string ( ) ) ) ?;
195
195
196
196
// Save processed message to storage
197
197
self . storage ( )
198
198
. save_processed_message ( processed_message)
199
199
. map_err ( |e| Error :: Message ( e. to_string ( ) ) ) ?;
200
200
201
+ // Update last_message_at and last_message_id
202
+ group. last_message_at = Some ( rumor. created_at ) ;
203
+ group. last_message_id = Some ( message. id ) ;
204
+ self . storage ( )
205
+ . save_group ( group)
206
+ . map_err ( |e| Error :: Group ( e. to_string ( ) ) ) ?;
207
+
201
208
Ok ( event)
202
209
}
203
210
@@ -323,7 +330,7 @@ where
323
330
. try_into ( )
324
331
. map_err ( |_e| Error :: Message ( "Failed to convert nostr group id to [u8; 32]" . to_string ( ) ) ) ?;
325
332
326
- let group = self
333
+ let mut group = self
327
334
. storage ( )
328
335
. find_group_by_nostr_group_id ( & nostr_group_id)
329
336
. map_err ( |e| Error :: Group ( e. to_string ( ) ) ) ?
@@ -383,6 +390,13 @@ where
383
390
. save_processed_message ( processed_message. clone ( ) )
384
391
. map_err ( |e| Error :: Message ( e. to_string ( ) ) ) ?;
385
392
393
+ // Update last_message_at and last_message_id
394
+ group. last_message_at = Some ( rumor. created_at ) ;
395
+ group. last_message_id = Some ( message. id ) ;
396
+ self . storage ( )
397
+ . save_group ( group)
398
+ . map_err ( |e| Error :: Group ( e. to_string ( ) ) ) ?;
399
+
386
400
tracing:: debug!( target: "nostr_mls::messages::process_message" , "Processed message: {:?}" , processed_message) ;
387
401
tracing:: debug!( target: "nostr_mls::messages::process_message" , "Message: {:?}" , message) ;
388
402
Ok ( Some ( message) )
0 commit comments