Every failure used to show the same “Something went wrong” screen. Now the message says what happened, like being offline or the event being deleted. Only failures that might work on a second try get a “Try again” button, and those are also retried automatically.
Changes are written to the React Query cache before the request is sent, and rolled back if it fails. Each one then refetches only the queries it affects.