fix: fetching and display of sync errors after saving #1670
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
All Submissions:
Changes proposed in this Pull Request:
Fixes a race condition with concurrent fetch requests in the Redux store that can prevent sync errors from being displayed, and improves the sync error messaging, especially for Mailchimp, which often returns errors in an additional
errors
array instead of in a single error message.How to test the changes in this Pull Request:
trunk
, in a test site connected to Mailchimp, create a new newsletter.$ Invalid @ Sender ! Name #
newsletters/v1
. Save the newsletter as a draft and observe that after the save completes, apost-mjml
POST request is fired, followed by aretrieve
GET request, but possibly nosync-error
request (because thefetchNewsletterData
andfetchSyncErrors
dispatchers are fired at the same time, the async response fromfetchNewsletterData
will overwrite thefetchSyncErrors
request in the Redux store). Also observe that no error message is shown in the editor after this sequence of requests.post-mjml
POST request, aretrieve
request, AND async-error
request, like so:Other information: