From 025f7bb223daf88c89649251c28751b36197bff3 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 22 Dec 2016 11:23:30 +0100
Subject: [PATCH] Fix notifications reducer bug

---
 app/assets/javascripts/components/actions/notifications.jsx | 4 ++--
 app/assets/javascripts/components/reducers/accounts.jsx     | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/app/assets/javascripts/components/actions/notifications.jsx b/app/assets/javascripts/components/actions/notifications.jsx
index a03f88af13..6a8b1b05b6 100644
--- a/app/assets/javascripts/components/actions/notifications.jsx
+++ b/app/assets/javascripts/components/actions/notifications.jsx
@@ -76,7 +76,7 @@ export function refreshNotificationsSuccess(notifications, next) {
     type: NOTIFICATIONS_REFRESH_SUCCESS,
     notifications,
     accounts: notifications.map(item => item.account),
-    statuses: notifications.map(item => item.status),
+    statuses: notifications.map(item => item.status).filter(status => !!status),
     next
   };
 };
@@ -120,7 +120,7 @@ export function expandNotificationsSuccess(notifications, next) {
     type: NOTIFICATIONS_EXPAND_SUCCESS,
     notifications,
     accounts: notifications.map(item => item.account),
-    statuses: notifications.map(item => item.status),
+    statuses: notifications.map(item => item.status).filter(status => !!status),
     next
   };
 };
diff --git a/app/assets/javascripts/components/reducers/accounts.jsx b/app/assets/javascripts/components/reducers/accounts.jsx
index 52be648b3e..982e63073b 100644
--- a/app/assets/javascripts/components/reducers/accounts.jsx
+++ b/app/assets/javascripts/components/reducers/accounts.jsx
@@ -78,9 +78,10 @@ export default function accounts(state = initialState, action) {
     case FAVOURITES_FETCH_SUCCESS:
     case COMPOSE_SUGGESTIONS_READY:
     case SEARCH_SUGGESTIONS_READY:
+      return normalizeAccounts(state, action.accounts);
     case NOTIFICATIONS_REFRESH_SUCCESS:
     case NOTIFICATIONS_EXPAND_SUCCESS:
-      return normalizeAccounts(state, action.accounts);
+      return normalizeAccountsFromStatuses(normalizeAccounts(state, action.accounts), action.statuses);
     case TIMELINE_REFRESH_SUCCESS:
     case TIMELINE_EXPAND_SUCCESS:
     case ACCOUNT_TIMELINE_FETCH_SUCCESS: