Skip to content

Commit 078da11

Browse files
authored
Merge pull request #1698 from mercihabam/empty-state
fix(frontend): empty state renders a few ms before responses are processed, and in some cases some responses remain unprocessed due to a cleared timeout
2 parents 9288ad2 + 26ae358 commit 078da11

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

modules/core/js_modules/Hm_MessagesStore.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,20 +116,27 @@ 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) => {
122-
return req.then((response) => {
123-
pendingResponses.set(response.sourceId, response);
126+
return new Promise((resolve) => {
127+
req.then((response) => {
128+
response.resolvePromise = resolve;
129+
pendingResponses.set(response.sourceId, response);
124130

125-
if (processingTimeout) {
126-
clearTimeout(processingTimeout);
127-
}
131+
if (processingTimeout) {
132+
clearTimeout(processingTimeout);
133+
}
128134

129-
// Process after a short delay to allow batching
130-
processingTimeout = setTimeout(processPendingResponses, 10);
131-
}, (error) => {
132-
console.error('Error loading messages from source:', error);
135+
// Process after a short delay to allow batching
136+
processingTimeout = setTimeout(processPendingResponses, 10);
137+
}, (error) => {
138+
console.error('Error loading messages from source:', error);
139+
});
133140
});
134141
}));
135142

0 commit comments

Comments
 (0)