So after investigating this a bit more there were some problems on our side in handling the CBL replication status. However it seems that CBL is also responding differently that expected above.
For the disconnection of the Internet use case using Airplane Mode: 2016-05-24 11:46:08.089 App[3350:1586061] progressInfo = { CompletedKey = 0; ExpectedKey = 12; } 2016-05-24 11:46:08.114 App[3350:1585925] progressInfo = { CompletedKey = 0; ExpectedKey = 43; } 2016-05-24 11:46:08.128 App[3350:1586061] progressInfo = { CompletedKey = 0; ExpectedKey = 72; } 2016-05-24 11:46:08.139 App[3350:1586061] progressInfo = { CompletedKey = 0; ExpectedKey = 112; } 2016-05-24 11:46:08.144 App[3350:1586061] progressInfo = { CompletedKey = 0; ExpectedKey = 139; } 2016-05-24 11:46:09.339 App[3350:1585925] progressInfo = { CompletedKey = 12; ExpectedKey = 139; } 2016-05-24 11:46:10.837 App[3350:1585941] progressInfo = { CompletedKey = 46; ExpectedKey = 139; } 2016-05-24 11:46:17.710 App[3350:1585941] progressInfo = { CompletedKey = 59; ExpectedKey = 139; } 2016-05-24 11:46:20.071 App[3350:1586061] progressInfo = { CompletedKey = 60; ExpectedKey = 139; } 2016-05-24 11:46:20.435 App[3350:1586116] WARNING: CBL_Puller[DATABASE]: Unable to save remote checkpoint: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSErrorFailingURLStringKey=URL_KEY, _kCFStreamErrorCodeKey=8, NSErrorFailingURLKey=URL_KEY, NSLocalizedDescription=The Internet connection appears to be offline., _kCFStreamErrorDomainKey=12, NSUnderlyingError=0x18124e40 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "The Internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=8, NSErrorFailingURLStringKey=URL_KEY, NSErrorFailingURLKey=URL_KEY, NSLocalizedDescription=The Internet connection appears to be offline., _kCFStreamErrorDomainKey=12}}} All the above is expected. However when listening for `kCBLReplicationChangeNotification` notifications we check and both `*self*. pullReplication.status == kCBLReplicationStopped` and `*self*. pushReplication.status == kCBLReplicationStopped` was received where we were expecting them to be `kCBLReplicationOffline`. I'll file the other use case when killing CouchDB as a separate post for clarity. On Thursday, May 19, 2016 at 4:26:57 PM UTC-7, Jens Alfke wrote: > > > On May 19, 2016, at 4:06 PM, David Quon <dav...@amcoonline.net > <javascript:>> wrote: > > It's a one-shot replication. Is there any way to know that the one-shot > replication timed out and gave up? > > > Its status changes to Stopped. There should also be a non-nil lastError. > > —Jens > -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to mobile-couchbase+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/2acad331-04de-4394-a306-584f1cbbc088%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.