Hello,
Absolute beginner in Appwrite here, so I would like to know how to implement this using Appwrite, or if it's even possible to use Appwrite in this case.
My project is an app that is offline first and that is multi-user.
The problem situation is the following:
- User A downloads some documents from the server, then goes offline.
- User B edits a document and uploads the document to the server.
- User A, still offline, edits the same document user B had changed.
- User A goes online and sends the document to the server, overwriting without notice the changes User A had done.
The solution I have in mind is:
- The server, when receives a document from a client, checks if the updated_at field of the received document is equal to the updated_at field of the document in the server database. Please notice that the client don't change this field. It's the timestamp of the last time the server received this document.
- If both timestamps are different, it means some other user changed the document while the user submitting the document was offline. The submitting user then receives a warning and may choose between some options what to do.
How can I get this with Appwrite?
You’d probably have to implement those checks in a Function, or something - so when uploading, instead of going direct to the Database, you’d pass the data to a Function, which would then either update that in the DB, or respond with an error.
Recommended threads
- Getting current user has been blocked
Getting current user has been blocked error while signing in the appwrite console. Got this during I am testing with the my saas web project. Please help to unb...
- vorafy.studio domain already exists erro...
My domain vorafy.studio is stuck/locked from a previously deleted project. I created a new project but can't add the domain — getting 'already exists' error. Pl...
- GB Hours IS NOT resetting
Hi, I was checking my usage and noticed that all of my usage quotas were reset on August 20, 2026, when my billing cycle renewed. Everything else appears to ha...