From af8a4a8abb2222329a9296b70224258caca833dd Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Sun, 5 Apr 2026 16:07:15 -0400 Subject: [PATCH] MessagePeek: Limit to 20 channels + Fetch 5/3s --- src/equicordplugins/messagePeek/index.tsx | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/equicordplugins/messagePeek/index.tsx b/src/equicordplugins/messagePeek/index.tsx index 866e704e9..340552eac 100644 --- a/src/equicordplugins/messagePeek/index.tsx +++ b/src/equicordplugins/messagePeek/index.tsx @@ -252,10 +252,24 @@ export default definePlugin({ ], async start() { - const channels = ChannelStore.getSortedPrivateChannels(); - for (const channel of channels) { - if (!MessageStore.getLastMessage(channel.id)) { - await MessageActions.fetchMessages({ channelId: channel.id, limit: 1 }); + const channels = ChannelStore.getSortedPrivateChannels() + .slice(0, 25) + .filter(c => !MessageStore.getLastMessage(c.id)); + + for (let i = 0; i < channels.length; i += 5) { + const batch = channels.slice(i, i + 5); + + await Promise.allSettled( + batch.map(channel => + MessageActions.fetchMessages({ + channelId: channel.id, + limit: 1 + }) + ) + ); + + if (i + 5 < channels.length) { + await new Promise(r => setTimeout(r, 3000)); } } },