[client] land new changes of new-sync for osx
Merge branch 'new-sync-osx' into 3.1