From efdf7a6b25a11704b93052e4d324b4d82b943fae Mon Sep 17 00:00:00 2001 From: Daniel Janeiro Date: Sat, 7 Oct 2017 22:44:23 +0100 Subject: [PATCH] Handle IgnoreUser mutation errors We now check if the IgnoreUser mutation returned an error before updating the apollo store. If the mutation returns an error we keep the store as it is, otherwise the user is added to the ignore list. --- plugins/talk-plugin-ignore-user/client/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/talk-plugin-ignore-user/client/index.js b/plugins/talk-plugin-ignore-user/client/index.js index 6583f68e6..efec73572 100644 --- a/plugins/talk-plugin-ignore-user/client/index.js +++ b/plugins/talk-plugin-ignore-user/client/index.js @@ -3,6 +3,7 @@ import IgnoreUserConfirmation from './containers/IgnoreUserConfirmation'; import IgnoredUserSection from './containers/IgnoredUserSection'; import translations from './translations.yml'; import update from 'immutability-helper'; +import get from 'lodash/get'; export default { slots: { @@ -14,7 +15,11 @@ export default { mutations: { IgnoreUser: ({variables}) => ({ updateQueries: { - CoralEmbedStream_Embed: (previousData) => { + CoralEmbedStream_Embed: (previousData, {mutationResult: {data: {ignoreUser}}}) => { + if (get(ignoreUser, 'errors.length')) { + return previousData; + } + const ignoredUserId = variables.id; const updated = update(previousData, {me: {ignoredUsers: {$push: [{ id: ignoredUserId,