         // explicitly support the pattern when I get a chance.
         
         // Recognize that there is work to do and flag that it should happen
-        self.syncWorkDisposer = appStateObservable.observeValues { signal in
-            if (!signal.new.syncState.syncWorking
-                && signal.new.syncState.syncPendingCount>0) {
+        self.syncWorkDisposer = appStateObservable.observeValues { (_, new) in
+            if new.authState != nil,
+                (!new.syncState.syncWorking
+                && new.syncState.syncPendingCount>0) {
                 // Don't just start async work here. There's a chance with 
                 // multiple enqueued updates to AppState that this method will be called 
                 // many times in the same state of needing to start work. We wouldn't want to 

        }
    }
    
    static func recordOneLoraSeqNo(_ data: DataController, update: [(NSManagedObjectID, UInt32)]) {
        if (update.isEmpty) {
            return
        }

            let url = "http://\(host)/api/v0/transmissions"
            debugPrint("URL: \(url)")
            let rsp = Promise<NSDictionary> { fulfill, reject in
                let authorization = "TwitterAuth username=\"\(auth.user_name)\" token=\"\(auth.oauth_token)\" token-secret=\"\(auth.oauth_secret)\" realm=\"api\""
                let headers = ["Authorization" : authorization]
                request(url, method: .post,
                    parameters: parameters,
                    encoding: JSONEncoding(), headers: headers)
                .responseJSON(queue: nil, options: .allowFragments, completionHandler: { response in
                    switch response.result {
                    case .success(let value):
