Wojciech Trocki Stephen Coady thank you. Thinking about the approach with separate queue and offline link, and processing mutations in serial. Do I understand it right that problem with this approach are file uploads? Or is there another typical use case where this could be problem? IMHO sending mutations serially is safest possible way. But e.g. the file upload is problem. I can think of few possible ways improving this:
- `@parallel` or similar directive, which would indicate that mutation should not block (close) queue (in queue link), but the queue link would still subscribe to this operation, so that it knows when it finishes (/fails) so that it can remove it from queue
- document this - that with this queue link, operations are being processed serially, and that for mutations that take more time, user should use this `@parallel` directive
- provide option (in data sync config) for user to treat every mutation as if it had a `@parallel` directive and document that this way `updateIds` would not work
This approach is probably not relevant for tech preview, but if it would make sense, it could be done later potentially. Wojciech Trocki Stephen Coady wdyt? |