There is a class of errors where we as the client are unable to know what has happened on the server. The save may have been successful or it may not. They include the following.
- The network dropping (or changing) mid request
- The api never responding at all
- The api responding in a way we don't understand (a malformed response)
In this case we want to let the user know (if possible in a human readable way) that their save action may not have been completed. In this case we want to enable them to click save again in the event that the transient problem has gone away.
Question to Devs: I think in this case we want to prevent the user making additional changes to the edit boxes to avoid getting in a broken state where the second save doesn't do what the user expects. Maybe this is already adequately handled by merge conflicts though.