fix: incorrect media appearance after reaction
CI / Go (build + vet + test) (push) Canceled after 0s
CI / Web (build + lint) (push) Canceled after 0s

This commit is contained in:
vantablackTea
2026-09-27 22:12:45 +03:00
parent 9d03ea4c51
commit 855a62755c
2 changed files with 13 additions and 2 deletions
+6
View File
@@ -83,6 +83,12 @@ func (h *apiHandler) writeMessageWithReactions(w http.ResponseWriter, r *http.Re
return return
} }
msgs := []messageJSON{toMessageJSON(msg)} msgs := []messageJSON{toMessageJSON(msg)}
if msg.MediaID != nil {
if m, err := h.store.GetMediaByID(r.Context(), *msg.MediaID); err == nil {
md := toMediaJSON(m)
msgs[0].Media = &md
}
}
reactions, err := h.store.ReactionsForMessages(r.Context(), []int64{msgID}) reactions, err := h.store.ReactionsForMessages(r.Context(), []int64{msgID})
if err != nil { if err != nil {
writeError(w, http.StatusInternalServerError, "internal server error") writeError(w, http.StatusInternalServerError, "internal server error")
+7 -2
View File
@@ -263,12 +263,17 @@ export default function ChatApp({ user }: ChatAppProps) {
const updated = mine const updated = mine
? await api.removeReaction(message.conversation_id, message.id, emoji) ? await api.removeReaction(message.conversation_id, message.id, emoji)
: await api.addReaction(message.conversation_id, message.id, emoji) : await api.addReaction(message.conversation_id, message.id, emoji)
upsert(updated) patchMessage(message.id, (current) => ({
...current,
...updated,
media: updated.media ?? current.media,
reactions: updated.reactions,
}))
} catch { } catch {
return return
} }
}, },
[upsert, user.id], [patchMessage, user.id],
) )
const sendTyping = useCallback( const sendTyping = useCallback(