diff options
author | ThibG <thib@sitedethib.com> | 2018-11-13 14:58:14 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-11-13 14:58:14 +0100 |
commit | c875f19673e923e7a6e3c2b6656e96b863ca5915 (patch) | |
tree | 2ee33883a6821e2b177a43aca64d2e4df93172fd /app | |
parent | bb69d154c43da667d5768e2707d2240c60b7346a (diff) |
Fix race condition causing shallow status with only a "favourited" attribute (#9272)
Fixes #9231
Diffstat (limited to 'app')
-rw-r--r-- | app/javascript/mastodon/reducers/statuses.js | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/app/javascript/mastodon/reducers/statuses.js b/app/javascript/mastodon/reducers/statuses.js index 6e3d830da..885cc221c 100644 --- a/app/javascript/mastodon/reducers/statuses.js +++ b/app/javascript/mastodon/reducers/statuses.js @@ -38,11 +38,11 @@ export default function statuses(state = initialState, action) { case FAVOURITE_REQUEST: return state.setIn([action.status.get('id'), 'favourited'], true); case FAVOURITE_FAIL: - return state.setIn([action.status.get('id'), 'favourited'], false); + return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'favourited'], false); case REBLOG_REQUEST: return state.setIn([action.status.get('id'), 'reblogged'], true); case REBLOG_FAIL: - return state.setIn([action.status.get('id'), 'reblogged'], false); + return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'reblogged'], false); case STATUS_MUTE_SUCCESS: return state.setIn([action.id, 'muted'], true); case STATUS_UNMUTE_SUCCESS: |