Broken iCloud sync

Not sure what happened with my sync system but it’s completely broken. It used to work fine as follow
DT Pro on MacBook
DTTG on iPhone
DTTG on iPad

All syncing via iCloud.

Now the two DTTG keep syncing, but DT doesn’t. I have checked the encryption key is the same on all devices. Out of curiosity, I have tried creating a new db on the Mac and sync it to iCloud. It doesn’t show in the list of remote database on either the iPhone or the iPad. On the contrary, when I create a new db on the iPhone and sync it, it appears in the list of remote dbs on the iPad but not on the Mac.

I am not sure how to try to fix it, and I am now mostly concerned that I am going to lose data. Any idea what the issue might be?

iCloud is flakey. Some find it works. Others do not have success. Vaguaries of Apple with not much or anything in control of you or DEVONthink.

If all devices on the same local network? If yes try using Bonjour method (full instructions on the DEVONthink Manual). Very fast and reliable.

thanks. Devices are not all on the same local network all of the time. Do you have to have to sync with all devices on and DT running to make sure everything is synced? or does that happen in the background? Say I take a note on iPhone while away from the network, when will it show up on my laptop?

Only if a remote sync option was enabled. The bigger question is: is this required?

Absolutely, it is required: the note created on a mobile device should show up on my laptop and I shouldn’t have to remember which device I took it on in order to set up a sync session with both devices turned on with DT running at the same time. I don’t want to use my laptop as a local server, it’s a laptop, that seems really clunky in 2020.

More importantly, I understand that iCloud might have its quirks, but why doesn’t it seem like there is a way to at least start fresh? I have “desynced” all my devices, then from DTPro3 disabled iCloud, then reenabled it with a new encryption key, cleaned the remote location as asked, re-uploaded my dbs, cleaned all this on iOS devices as well, and yet, the issue is still there: databases uploaded to iCloud from DTPro don’t show in iCloud remote location on devices running DTTG.

It’s kinda hard for me to figure out where to start to help you. I’ll try anyway.

the note created on a mobile device should show up on my laptop and I shouldn’t have to remember which device I took it on

That’s how DEVONthink works. Assuming correct setup and a completed sync, that’s what happens.

I don’t want to use my laptop as a local server, it’s a laptop, that seems really clunky in 2020

Well, then don’t. But then Bonjour is not an option for you, but I think that a mistake. Your choice.

I don’t know what the last year “2020” has to do with it. For a Bonjour setup it is typical to setup only one machine to “accept incoming” Bonjour connections, and is called the “server” as in fact it’s acting as one, even though for you it would be your laptop. Laptops work perfectly fine as a “server” on the network (local or even Internet) for many technologies. The concept of “server” remains with us in 2021 and will be there for many years to come. The important thing (to keep things simple and make it work) is to have only one machine set to accept incoming Bonjour requests.

More importantly, I understand that iCloud might have its quirks, but why doesn’t it seem like there is a way to at least start fresh? I have “desynced” all my devices, then from DTPro3 disabled iCloud, then reenabled it with a new encryption key, cleaned the remote location as asked, re-uploaded my dbs, cleaned all this on iOS devices as well, and yet, the issue is still there: databases uploaded to iCloud from DTPro don’t show in iCloud remote location on devices running DTTG.

I don’t understand how the “issue” that “databases uploaded to iCloud” don’t show up when you just said that you cleaned up everything. How can you clean up what does not “show up”?

If you rely only on Bonjour for syncing, after you take a note on your iPhone while away from the network, then when you get back to the network (home or office), and the machine that accepts incoming is turned on and running DEVONthink, then when you connect your iPhone/iPad to the network, launch DEVONthink ToGo, it will sync.

My suggestions (details in the DEVONthink Manual, pages given and @BLUEFROG may provide more details)

  1. Remove all the databases from iCloud (clean) on all devices (Page 174)

  2. Setup Bonjour on the laptop (as the machine to accept “incoming”) to expose the databases you with to sync. Then connect to it with your iPhone and iPad (both on Wifi to local network). (Page 57). On the portable devices, only synce the databases you need. Don’t over-do it as huge databases simply take more time to sync. I only sync my “Works in Progress” database (called WIP) where I keep notes, fresh documents being worked on etc. Stuff I collect from the Internet wil on those devices go into the “WIP Inbox” and when the sync happens go into the right places in other database with rules and auto-classify and all that stuff running on the “server”. This all automatic when I return to the local network (but in today’s world that is not so often I get to go out and about!).

  3. If you really want iCloud to be running, then set it up yet again. Don’t turn off Bonjour. iCloud might continue to be flakey for you. I noticed earlier this week when looking into some iCloud issues I had with my podcast software (Downcast) they report similar frustrations with the flakiness of iCloud. Works for some, but not others. Sometimes it works even though it doesn’t look like it. I don’t use it for DEVONthink as I have better things to do.

  4. If you really want internet synching, then look into the other alteratives that DEVONthink suggests. (whole chapter starting Page 55). As I said, even with Bonjour when you get back to the network all will sync. I guess what an internet service will do is allow your iPhone and iPad to be in sync while you are away from the network but with both using the internet service to synch, but only you can judge if that is worth the effort.

Although I do not use iCloud for syncing DT/DTTG I did have some issues where a database would not sync. I used the Verify & Repair database option in the File menu and that fixed the problem for me.

Correct me if I am wrong @BLUEFROG, but having multiple sync options enabled should not be a problem. I use WebDAV and Bonjour syncing together for a while, I did not have any problems with it. I did this because Bonjour seemed to sync a bit faster, but you can only use it when on the same network.

If you are the only one needing the data than syncing with Bonjour with your laptop setup as a server would be the most efficient and fast way to get your iPhone data on your laptop.

Using Bonjour and a remote sync option to sync a database is feasible (though using a remote option should be used when there’s a need for it).

Syncing a database to two remote sync locations, e.g., iCloud and Dropbox, is not suggested.

I really appreciate your help. I think it comes down to a matter of how one wants to set up their devices. I understand a laptop can work as a server. I just don’t want mine to have to be on at all times, or to have to turn it just so that it can sync. Typically, if I am on my laptop with DT opened and running, I’m not either on my phone or iPad with DT running. I just do not want to add that sync session to my daily workflow, devices already take too much time and mental space as it is.

So, yes, I do need an internet-based sync solution. I just wish that the service I am already paying for, iCloud, would work for this. If iCloud is that unreliable, I wonder if DT should offer the feature at all, given how critical the data DT handles might be for some people.

Again, I appreciate your help and I definitely like the suggestion to use bonjour as a back-up solution for when iCloud starts acting out (btw, haven’t been able to set it up again - I had cleaned everything pretty much as you suggested, and still, a db created on DTPro does not show in remote locations in DTTG).

Thanks for feedback. Probably best to take up the iCloud issue with Apple. How? Dunno. DEVONthink just drops the files into place then iCloud takes over.

I agree with you on that syncing between devices should not cause friction. A lot of applications these days are built around cloud services and we become used to having our data synced between devices and not think about it. The thing I like from DT, next to the great features, is that it is not built around a cloud service and I have control over my data, but It makes syncing when not connected to the local network a bit more difficult.

I have the same requirements as you in that I do not want my computer to be on all the time. Because of that I use a local server to sync my databases. This can be a fileshare or as in my case a WebDAV server, unfortunately DTTG cannot sync with a fileshare, so I needed a WebDAV server.

1 Like

iCloud isn’t problematic for everyone. In fact, we have many people happily using it for syncing. No sync is bulletproof, but Bonjour on a local network comes very close when syncing Mac to mobile.

2 Likes