This article is part 3 of a series (1, 2, 3, 4, 5, 6, 7)
In the last article we discussed how we sync our changes with the server. Ideally, those HTTP requests would always work - if only we could walk the rosy path of best-case scenarios! Unfortunately, when