From 17ae7d132cba105a857958e5b98c95f68f364e28 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 2 Feb 2017 00:45:57 +0100
Subject: [PATCH] Prevent potential issue with public/hashtag statuses arriving
 after they have been loaded and favourited/reblogged from another source

Since the status JSON returned from public/hashtag streams does not
contain favourited/reblogged attributes, merging them should not
override existing ones.
---
 app/assets/javascripts/components/reducers/statuses.jsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/assets/javascripts/components/reducers/statuses.jsx b/app/assets/javascripts/components/reducers/statuses.jsx
index 084b6304c..6323e0fbe 100644
--- a/app/assets/javascripts/components/reducers/statuses.jsx
+++ b/app/assets/javascripts/components/reducers/statuses.jsx
@@ -46,7 +46,7 @@ const normalizeStatus = (state, status) => {
     status.reblog = status.reblog.id;
   }
 
-  return state.set(status.id, Immutable.fromJS(status));
+  return state.update(status.id, Immutable.Map(), map => map.mergeDeep(Immutable.fromJS(status)));
 };
 
 const normalizeStatuses = (state, statuses) => {