Folder Sync not working with two Macs on same network

wesleykingab
wesleykingab
Community Member
edited April 2016 in Mac

Perhaps there is something I'm missing, but I've been banging my head trying to figure this out. I've searched a handful of the 1Password forums and could not find any solutions. There were some people with issues similar, but I couldn't find one with my exact scenario. If an answer already exists, I'm all ears.

Environment...
Two Macs (MacBook Pro and MacBook Air) on the same home network. Same OS X version. Same 1Password version installed from the Mac store

Issue...
I'm trying to use Folder Sync to use a shared vault that is on my home network that both computers have access to. No matter what I do, changes made from the MBA do not show up on the MBP. Changes I make on the MBP show up on the MBA though.

How I configured...
Installed 1Password on MBP (from Mac store). Set up a Primary Vault. Set up secondary vault called TestVault. I then went into preferences to Sync and configured TestVault to sync with Folder as the option. For the location I selected a network folder. So far all good.

I then installed 1Password on MBA (from Mac store). Set up a Primary Vault. Set up secondary vault called TestVault. I then went into preferences and configured sync to use Folder for the option and selected the same network location I had before. It prompted me for the password for the existing vault (created from MBP) and all was good.

I went and created a Secure Note titled Test One on the MBP. Then I switched to the Primary vault and then back to the TestVault to force it to sync. I then went to the MBA and switched to the Primary vault and back to the TestVault. The Secure Note titled Test One showed up as expected.

Then I added a new Secure Note titled Test Two on the MBA. Did the switch between vaults on the MBA to force a sync and then on the MBP to force a sync. The only problem though is changes do not show up on the MBP. Any changes made on the MBA do not show up on the MBP.

Additional Notes...
I do not want to use DropBox or iCloud to sync this test vault. The idea being that I could keep a work computer separate from a home computer, but use a shared vault in the event that I have common passwords I need access to between the two environments. DropBox and iCloud user credentials would be different between work and home, so those methods of sync would not work for this case.

Update: I should also not that I tried the opposite. Creating a test value on the MBA first and syncing with a folder location on the network. And then the same value on the MBP and syncing by folder to the same location. This then allows me to see all changes made from the MBA on my MBP, but not the other way around. So same issue. Which ever computer the vault was initial created on are the only changes that are propigating through.

To test this even further I installed 1Password on a 3rd computer on the network (an iMac). After creating the vault and syncing, only changes from the the MBA are showing up. So it seems the problem is that when syncing to an existing vault with folder share it's not two-way (or multiple-way) merging/syncing. Only changes from the first computer are propagated to secondary computers. Is this a bug?


1Password Version: 6.2.1
Extension Version: Not Provided
OS Version: 10.11.4
Sync Type: Folder
Referrer: forum-search:Folder Sync not working with two Macs on same network

Comments

  • Hi @wesleykingab ,

    Thank you for taking the time to write in with your detailed explanation. I'll do my best to explain what is happening.

    When searching the 1Password forums you may have noticed that we have said that folder sync to a shared network drive is not recommended. I'll explain what is causing your issue to explain why, and I can offer an "unofficial" suggestion that may help in your case.

    When only one computer is writing to the sync files at once, it's ok. But the problem arises when more than one computer is syncing at the same time. What happens is the changes of one overwrite the other. And because the sync file is actually a package of smaller files, some of the files may get written by computer A, causing computer B to start to sync them, and then it overwrites the files before computer B is finished. So the sync files end up with changes from both computers and often do not "mesh". So you often end up with changes that don't sync from computer A to B, because B overwrote it's older data before computer A was finished.

    So you're probably wondering why this doesn't happen with Dropbox or iCloud. Simply put, iCloud's CloudKit infrastructure allows us to arbitrate that. There are save tokens that we can remember, so we can check if the sync files have been overwritten since we last synced. And Dropbox creates "conflict copies" when two computers try to write to the same file at the same time, so the data is preserved and 1Password can read those conflict copies and recover.

    With a network shared folder, there is no infrastructure to do any conflict preservation. The last computer writing to the file "wins."

    The intended use of Folder Sync is mainly for use on a thumb drive or external disk, so people can sync to places where they don't have network access (e.g. between home and work where iCloud or Dropbox may be blocked) There is no chance of conflict there, since the folder is only connected to one computer at a time.

    However, with that all said, I have two suggestions that may work for you.

    Shared Dropbox:

    You mentioned you would have a different Dropbox account for work. You can share the 1Password keychain in your home Dropbox account to another Dropbox account (your work account) This may or may not work for you, and if not, see the next suggestion.

    A Sync utility

    1. Instead of Folder syncing directly to a shared folder on a network drive, set up folder sync to to a local folder on each disk.
    2. Then, use a sync utility such as Chronosync to sync that folder to a folder on your network drive.
    3. Repeat for each computer, but set the sync schedule for each computer to be at different times. For example, computer A syncs on the hour, computer B syncs at 20 minutes past the hour, computer C syncs at 40 minutes past the hour, etc.

    So, the idea here is that there's only ever one computer writing to the network drive at the same time. There is still a potential for conflict, as 1Password may be syncing to the local folder at the same time the sync utility is syncing the local folder to the network, but it should be greatly reduced. If you schedule the sync to occur when you aren't using the computer, the chance of conflict is reduced even further.

    I hope that helps explain why we can not recommend network folder sync. We would like to support folder sync to a network volume, but the infrastructure is not currently there to do it reliably.

    Cheers,
    Kevin

  • wesleykingab
    wesleykingab
    Community Member

    Thanks Kevin.

    It's strange though that the data stays on all the computers where it was entered. For example, changes to computer A show up on computers B and C, but any changes to B and C do not show up on any other computer. New notes. Deleted notes. Updates to existing notes. Etc.

    I'll have to try a few of your suggestions I guess.

  • Megan
    Megan
    1Password Alumni

    Hi @wesleykingab,

    I’m glad to see that Kevin’s post helped! I hope that some of his suggestions give you a smoothly syncing set-up. :)

This discussion has been closed.