Ah, this explains it. _removed
is not a deletion, it’s a marker that the client has lost access to that document due to an access control change. What’s happening is that the client doesn’t know that this revision is also a deletion; so it still sees the document as being in conflict. That’s a bug — it’s new to me, and I’m not sure what the best way to fix it is.
Just to make sure: I assume there is a rule in your sync function that is causing the other client’s user to lose access to the document, based on the change the first client made?