View Full Version : iphone/bonjour sync
2010-05-03, 01:12 AM
Right from the get go I've had nothing but problems syncing Omnifocus between my macbook and iphone. Sometimes it worked, sometimes it didn't. I had a long conversation with Omni support but it didn't really resolve anything so I set up a webdav server on the mac and used that. For a couple of months it worked great but a couple of weeks ago it broke and because I didn't have time to track down the problem I went back to bonjour syncing, which worked. Then a week or so ago it worked intermittently. Then today it packed up altogether so I went on a bug hunt. it seems that it's a firewall problem - firewall has always been on, even when sync was working. Turn off firewall, it syncs, turn it back on again, it doesn't. But Omnifocus is in the list of allowed applications. So I figure it's probably picking random ports to sync on. I'm using Snow Leopard.
I'm stumped now. I like OF but I can't keep switching firewalls on and off just to sync the damn thing so it looks like it's back to Things. But first a short rant.
This is obviously a long standing problem for OF; Reams of links to OF sync problems on google and there's even a dedicated forum topic here for sync problems. Why is this such a big deal. No other app seems to have sync problems so why should OF. After what looks like a couple of years of sync mayhem it's still the single most talked about problem with OF. So what's wrong, why can't it be nailed?
2010-05-03, 01:20 AM
And now, of course, the firewall's back on and the sync is going through. Go figure.
That's not to say that I'll not be struggling to get the damn thing working sometime in the next few days when I should be doing something that actually matters.
2010-05-06, 09:16 AM
I'm having the same problem. I'm using 10.5 (Leopard). When I watch the firewall logs and try to initiate a sync from my iphone, I see connections being denied. Most of the denied connections were on 49349, so I changed the omnifocus defaults using terminal:
defaults write com.omnigroup.OmniFocus SyncServerPort -int 49349
After doing that, I restarted omnifocus and checked the firewall logs and saw that that port was open:
May 6 13:03:13 Macintosh-96 Firewall: httpd is listening from ::ffff:0.0.0.0:49349 uid = 501 proto=6
However, when I tried to initiate a sync from my phone, I got another denied connection, but this time on a different port:
May 6 13:03:29 Macintosh-96 Firewall: Deny connecting from 10.0.0.9:49354 uid = 0 proto=6
Just in case, after changing the default omnifocus port, I disabled the firewall, reset the iphone database, and re-sent the sync settings to my phone. This didn't change which port the iphone was trying to connect on.
Is there a solution for this? Obviously, I have my firewall GUI set to allow incoming connections for Omnifocus and I *have* successfully synced in the past. I'm not sure if it was the recent mac security update or the recent iphone omnifocus update that broke my sync, but I suspect it was one of them.
2010-05-13, 08:02 AM
My understanding of how the firewall works is that once a programme has been unblocked, it should allow access on all ports. Obviously it's not happening in this case. Equally obviously, not everyone is experiencing this so there must be something we have in common that quite a few people don't. I know that's not very helpful but it's worth pointing out.
Incidentally, sync is blocked again.
where are you looking for firewall logs?
2010-05-13, 09:50 AM
I think I got it. Turn web sharing off, it all works. Turn it back on again, it fails. Which explains why a while back it was sometimes working for me, sometimes not. I was using MAMP, which doesn't run as a service; I was only using it when I needed it.
Omnifocus is being very naughty:-
May 13 18:45:24 MacBook Firewall: httpd is listening from ::ffff:0.0.0.0:61320 proto=6
it's not inconceivable that a Mac might be running a web server after all, is it..
2010-05-20, 10:22 AM
After looking into this, it appears that the OS X firewall changed behaviors at some point in the 10.6.x releases. It now blocks all web server connections unless the "Web Sharing" option is turned on in system preferences.
Even if OmniFocus is on the list of approved applications, you'll need to enable that option to bonjour sync. We're looking into ways we can do a better job of notifying the user when the firewall is preventing bonjour sync, but this does not appear to be something we can address in our code.
2010-05-24, 11:20 AM
A bit more detail:
It appears that the firewall is fairly picky about the circumstances in which it's willing to let OmniFocus sync, even when it's on the approved list. It also appears that it caches a certain amount of information - if it decides to block us, the decision gets cached even if the settings change subsequently.
We're going to communicate these issues with the firewall to Apple, but for obvious reasons, Apple doesn't give apps the ability to modify the way the firewall behaves to suit themselves.
If you're having trouble getting through the firewall, you may want to try the following steps in this order:
Ensure that OmniFocus is on the approved list.
Turn the firewall off.
Ensure Web Sharing is enabled.
Turn the Firewall on.
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.