Yeah, this is a problem with the API, and I’ve been unsure how to fix it. It’s hard to convey error status when there are lots of requests running in parallel, and not all errors are fatal. I’m open to new ideas!
One possibility is to add an ‘errors’ property that’s an array. So every time there’s an error, it appends it to the end of the array. By remembering the count of the array, you can find out whether any new errors have occurred since a given time.
Or alternatively, add a notification that gets invoked every time there’s a new error.
This ties in with the related issue of per-document status reporting: if these errors indicated the associated document(s), you could tell which documents had errors.
What these wouldn’t tell you is when a previous error is resolved: for example, if there was an error downloading a revision, but then on the next try the download succeeds, so the error is no longer relevant. (This would actually be difficult
for the replicator to keep track of, since it would have to remember the operation that caused every error, and look it up again the next time it performed that operation.)