fix(pluto): Handle write operations inside FlatMap with Future #186
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.
Description:
Identus example app consistently throws a recursive save error when calling .sendMessage() as described in #183
Wrapping these .flatMap write operations in a Future seems to fix it in my example.
*note: If this is an acceptable fix, we might need to add another similar Future inside
addMessages()'s .flatMap
Alternatives Considered (optional):
I had tried adding
guard self.hasChanges else { return }
on line 12 of NSManagedObjectContext+Save.swift but that didn't seem to have any effect on this issue.Checklist: