|
|
|
|
|
by nine_k
4 days ago
|
|
The user clicks the button, the mutation is stored in local storage. The user closes the tab, but it's not a problem. A background worker picks up the mutation and sends it to the remote backend. It takes time, retries, etc. Similarly, any errors reported by the background worker go to local store, and the next time the UI tab is loaded / activated, they are shown. A service worker can show a notification outright to let the user easily load the main UI. Normally this would be a rare occasion. |
|
More generally: You can't circument the trade-offs of a distributed database, which such products are, conceptually.