WhoReacted: fix crashing (app reloading)

This commit is contained in:
Vendicated 2025-05-29 23:10:53 +02:00
parent 2a4314efc9
commit eafbc0d15a
No known key found for this signature in database
GPG key ID: D66986BAF75ECF18

View file

@ -66,7 +66,7 @@ function fetchReactions(msg: Message, emoji: ReactionEmoji, type: number) {
function getReactionsWithQueue(msg: Message, e: ReactionEmoji, type: number) {
const key = `${msg.id}:${e.name}:${e.id ?? ""}:${type}`;
const cache = reactions[key] ??= { fetched: false, users: {} };
const cache = reactions[key] ??= { fetched: false, users: new Map() };
if (!cache.fetched) {
queue.unshift(() => fetchReactions(msg, e, type));
cache.fetched = true;
@ -159,7 +159,7 @@ export default definePlugin({
}, [message.id, forceUpdate]);
const reactions = getReactionsWithQueue(message, emoji, type);
const users = Object.values(reactions).filter(Boolean) as User[];
const users = [...reactions.values()].filter(Boolean);
return (
<div
@ -187,7 +187,7 @@ export default definePlugin({
interface ReactionCacheEntry {
fetched: boolean;
users: Record<string, User>;
users: Map<string, User>;
}
interface RootObject {