I put some thoughts for this. Basically GraphQL abstract from conflicts leaving users to handle conflicts. Conflicts can be handled using:
- underlying database capabilities that track versions
- tracking version of the field manually (by version or updatedAt)
Similar for the caching we can provide example conflict resolution scenario, by using the same type of error on the server and client. |