Skip to content

Limitations

Limitations

Cozy-desktop is designed to synchronize files and folders between a remote cozy instance and a local hard drive, for a personal usage. We tried to make it simple and easy. So, it has some limitations:

  • Files and folders named like this are ignored:
  • .system-tmp-cozy-drive (they are used to keep internal state)
  • _design (special meaning for pouchdb/couchdb)

  • It’s not a particularly good idea to share code with cozy-desktop:

  • node_modules have tons of small files
  • compiled code often has to be recompile to works on another environment
  • git (and other VCS) repositories are not meant to be shared this way. You may lose your work if you make changes on two laptops synchronized by cozy-desktop (it’s the same with dropbox, google-drive, syncthing, etc.)
  • cozy-desktop keeps the time with only a precision of a second, which may trigger unexpected “file changed” notifications in your editor (see emacs issue and workaround).

  • If the same file has been modified in parallel, cozy-desktop don’t try to merge the modifications. It will just rename of one the copies with a -conflict suffix. It’s the same for folders.

  • We expect a personal usage:

  • a reasonable number of files and folders (< 1.000.000)
  • a reasonable number of files per folder (< 10.000)
  • a reasonable size for files (< 1 Tb)
  • a reasonable size for files and folders path (< 1024 bytes)
  • not too many changes
  • etc.

  • For OSX, filenames with weird unicode characters may be problematic in some rare cases.

  • Symbolic links and ACL are not yet handled.

  • The full sync directory must be on the same partition.

  • Large files must be uploaded/downloaded in one time (we are thinking about making it possible to split a large file in several blocks for download/upload).

  • Due to its nature, cozy-desktop needs resources:

  • CPU, for checksums in particular
  • RAM, to keep all the metadata in memory, and for nodejs libraries
  • Disk, but the overhead from cozy-desktop is low
  • Network bandwidth obviously

  • No advanced feature, like P2P replication between several cozy-desktop instances.