From 8ca71beef029f7f4c4b32216b1a7929b99c72905 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Fri, 28 Aug 2026 19:51:10 +0300 Subject: [PATCH] emoji reacts fix --- src/components/emoji_reactions/emoji_reactions.js | 4 ++-- src/components/emoji_reactions/emoji_reactions.vue | 2 +- src/stores/statuses.js | 14 +++++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/components/emoji_reactions/emoji_reactions.js b/src/components/emoji_reactions/emoji_reactions.js index 6296e3c9a..f9cc2e2fd 100644 --- a/src/components/emoji_reactions/emoji_reactions.js +++ b/src/components/emoji_reactions/emoji_reactions.js @@ -37,9 +37,9 @@ const EmojiReactions = { }, accountsForEmoji() { return this.status.emoji_reactions.reduce((acc, reaction) => { - acc[reaction.name] = reaction.accounts || [] + acc.set(reaction.name, new Set(reaction.account_ids)) return acc - }, {}) + }, new Map()) }, loggedIn() { return !!useUsersStore().currentUser diff --git a/src/components/emoji_reactions/emoji_reactions.vue b/src/components/emoji_reactions/emoji_reactions.vue index a8100c0d4..8f830e8ae 100644 --- a/src/components/emoji_reactions/emoji_reactions.vue +++ b/src/components/emoji_reactions/emoji_reactions.vue @@ -52,7 +52,7 @@ { - data.forEach((reaction) => { + const reactions = data.map((reaction) => { const users = useUsersStore().addNewUsers({ timestamp, data: reaction.accounts, }) - reaction.accounts = users + + // Backend inconsistency - status data only has ids (account_ids) + // but reactions data has full info (accounts) + return { + ...reaction, + accounts: users, + account_ids: users.map(({ id }) => id), + } }) - this.addEmojiReactionsBy(id, data) + + this.addEmojiReactionsBy(id, reactions) }) }, fetchFavs(id) {