@@ -811,49 +811,55 @@ async function getMessagesFromSolid(req, conversationId) {
811811 fileCount : messageFiles . length ,
812812 } ) ;
813813
814- // Read all message files
815- const messages = [ ] ;
816- for ( const fileInfo of messageFiles ) {
817- try {
814+ // Read all message files in parallel
815+ const messageDataResults = await Promise . all (
816+ messageFiles . map ( async ( fileInfo ) => {
818817 const fileUrl = fileInfo . url ;
819- logger . debug ( '[SolidStorage] Reading message file' , {
820- fileUrl,
821- conversationId,
822- } ) ;
823-
824- const file = await getFile ( fileUrl , { fetch : authenticatedFetch } ) ;
825- const fileText = await file . text ( ) ;
826- const messageData = JSON . parse ( fileText ) ;
827-
828- // Validate that this message belongs to the current user
829- if ( messageData . user !== req . user . id ) {
830- logger . warn ( '[SolidStorage] Message belongs to different user, skipping' , {
831- messageId : messageData . messageId ,
832- messageUserId : messageData . user ,
833- currentUserId : req . user . id ,
818+ try {
819+ logger . debug ( '[SolidStorage] Reading message file' , {
820+ fileUrl,
821+ conversationId,
834822 } ) ;
835- continue ;
836- }
837-
838- // Validate that this message belongs to the requested conversation
839- if ( messageData . conversationId !== conversationId ) {
840- logger . warn ( '[SolidStorage] Message belongs to different conversation, skipping ' , {
841- messageId : messageData . messageId ,
842- messageConversationId : messageData . conversationId ,
843- requestedConversationId : conversationId ,
823+ const file = await getFile ( fileUrl , { fetch : authenticatedFetch } ) ;
824+ const fileText = await file . text ( ) ;
825+ const messageData = JSON . parse ( fileText ) ;
826+ return messageData ;
827+ } catch ( error ) {
828+ logger . error ( '[SolidStorage] Error reading message file ' , {
829+ fileUrl ,
830+ conversationId,
831+ error : error . message ,
844832 } ) ;
845- continue ;
833+ return null ;
846834 }
835+ } ) ,
836+ ) ;
847837
848- messages . push ( messageData ) ;
849- } catch ( error ) {
850- logger . error ( '[SolidStorage] Error reading message file' , {
851- fileUrl : fileInfo . url ,
852- conversationId,
853- error : error . message ,
838+ const messages = [ ] ;
839+ for ( const messageData of messageDataResults ) {
840+ if ( ! messageData ) continue ;
841+
842+ // Validate that this message belongs to the current user
843+ if ( messageData . user !== req . user . id ) {
844+ logger . warn ( '[SolidStorage] Message belongs to different user, skipping' , {
845+ messageId : messageData . messageId ,
846+ messageUserId : messageData . user ,
847+ currentUserId : req . user . id ,
854848 } ) ;
855- // Continue with other files even if one fails
849+ continue ;
850+ }
851+
852+ // Validate that this message belongs to the requested conversation
853+ if ( messageData . conversationId !== conversationId ) {
854+ logger . warn ( '[SolidStorage] Message belongs to different conversation, skipping' , {
855+ messageId : messageData . messageId ,
856+ messageConversationId : messageData . conversationId ,
857+ requestedConversationId : conversationId ,
858+ } ) ;
859+ continue ;
856860 }
861+
862+ messages . push ( messageData ) ;
857863 }
858864
859865 // Sort messages by createdAt (ascending)
0 commit comments