@@ -72,7 +72,7 @@ class Hm_MessagesStore {
7272
7373 // Batch processing for multiple requests
7474 const pendingResponses = new Map ( ) ;
75- const processingTimeouts = { } ;
75+ let processingTimeout = null ;
7676
7777 const processPendingResponses = ( ) => {
7878 if ( pendingResponses . size === 0 ) return ;
@@ -116,22 +116,24 @@ class Hm_MessagesStore {
116116 if ( messagesReadyCB ) {
117117 messagesReadyCB ( this ) ;
118118 }
119+
120+ responses . forEach ( response => {
121+ response . resolvePromise ( response ) ;
122+ } ) ;
119123 } ;
120124
121125 await Promise . all ( this . fetch ( hideLoadingState ) . map ( ( req ) => {
122126 return new Promise ( ( resolve ) => {
123127 req . then ( ( response ) => {
128+ response . resolvePromise = resolve ;
124129 pendingResponses . set ( response . sourceId , response ) ;
125130
126- if ( processingTimeouts [ response . sourceId ] ) {
127- clearTimeout ( processingTimeouts [ response . sourceId ] ) ;
131+ if ( processingTimeout ) {
132+ clearTimeout ( processingTimeout ) ;
128133 }
129134
130135 // Process after a short delay to allow batching
131- processingTimeouts [ response . sourceId ] = setTimeout ( ( ) => {
132- processPendingResponses ( ) ;
133- resolve ( response ) ;
134- } , 10 ) ;
136+ processingTimeout = setTimeout ( processPendingResponses , 10 ) ;
135137 } , ( error ) => {
136138 console . error ( 'Error loading messages from source:' , error ) ;
137139 } ) ;
0 commit comments