From 1fef5bf5fe37f161959fbef5d53deccf0168cced Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 26 Apr 2017 11:07:19 -0400 Subject: [PATCH] Redux bug fixes (#6243) * Fix save teams dispatch * Fix login when MFA is enabled but not active * Fix JS error caused by using deleted team member --- webapp/actions/user_actions.jsx | 2 +- webapp/components/team_sidebar/team_sidebar_controller.jsx | 3 +++ webapp/stores/team_store.jsx | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx index 8a794bb0a4..d810b4c2e1 100644 --- a/webapp/actions/user_actions.jsx +++ b/webapp/actions/user_actions.jsx @@ -631,7 +631,7 @@ export function checkMfa(loginId, success, error) { checkMfaRedux(loginId)(dispatch, getState).then( (data) => { - if (data && success) { + if (data != null && success) { success(data); } else if (data == null && error) { const serverError = getState().requests.users.checkMfa.error; diff --git a/webapp/components/team_sidebar/team_sidebar_controller.jsx b/webapp/components/team_sidebar/team_sidebar_controller.jsx index 2f41d485c1..758b51426b 100644 --- a/webapp/components/team_sidebar/team_sidebar_controller.jsx +++ b/webapp/components/team_sidebar/team_sidebar_controller.jsx @@ -102,6 +102,9 @@ export default class TeamSidebar extends React.Component { for (const index in this.state.teamMembers) { if (this.state.teamMembers.hasOwnProperty(index)) { const teamMember = this.state.teamMembers[index]; + if (teamMember.delete_at > 0) { + continue; + } const teamId = teamMember.team_id; myTeams.push(Object.assign({ unread: teamMember.msg_count > 0, diff --git a/webapp/stores/team_store.jsx b/webapp/stores/team_store.jsx index 1d3d5ff25f..0317379fcf 100644 --- a/webapp/stores/team_store.jsx +++ b/webapp/stores/team_store.jsx @@ -185,12 +185,14 @@ class TeamStoreClass extends EventEmitter { } saveTeam(team) { - this.saveTeams([team]); + const teams = {}; + teams[team.id] = team; + this.saveTeams(teams); } saveTeams(teams) { store.dispatch({ - type: TeamTypes.RECEIVED_TEAMS_LIST, + type: TeamTypes.RECEIVED_TEAMS, data: teams }); }