If either the native offline event fires (where supported) or a single XHR request has a timeout or error, we fire our offline event, which triggers the UI to update.
So in your example, you'd know almost immediately after you clicked the "Send" button.