Offline-first software makes a promise: type now, sync later, nothing is lost. Almost always it keeps that promise. The interesting question is what happens in the rare case where it technically can’t.
A change can be refused. A row conflicts, a session expired in a way that can’t be recovered cleanly, the server rejects something the client thought was fine. Tasklium recorded those refusals and showed you a notice saying how many changes were discarded.
The notice now has a second button. Tap it and the discarded changes are written out as a JSON file, named with the timestamp, so you can open it, read what was in it, and put the content back by hand if it mattered.
If the browser or platform won’t allow a file download — and in some webviews and mobile browsers it won’t — the app falls back to putting the same content on the clipboard, and tells you it did. Both paths give you the same thing: your data, somewhere you can take it. If both fail, you get a message that stays on screen rather than a toast that disappears, because the action is worth retrying.