cozy-desktop

File Synchronisation for Cozy on Desktop and Laptop

AGPL-3.0 License

Downloads
34
Stars
99
Committers
31
cozy-desktop - Keep trying!

Published by taratatach almost 5 years ago

Improvements for all users:

  • Merging multiple changes at once often requires that they are in the correct
    order (i.e. the order in which they were made) or we might not be able to
    merge some of them. We don't always get those changes in the correct order
    from the Cozy and this can block the synchronization although we have all the
    required changes in the list.
    We introduced a retry mechanism in this part of the application that will put
    any change that we failed to merge at the end of the list so we can retry
    after we've merged the others and thus potentially unlock the situation.
  • We found out that errors while downloading a file from the remote Cozy (mostly
    network errors which are quite common) were not handled at all. The result was
    that the synchronization was stopped without notice (not even an error message
    in the status bar) and would only work again after restarting the application.
    We now catch them so the synchronization won't get completely blocked, we'll
    wait for an internet connection to come back in the event of network errors
    and we'll try downloading the file up to 3 times before giving up.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • We found out that errors while downloading a file from the remote Cozy (mostly
    network errors which are quite common) were not handled at all. The result was
    that the synchronization was stopped without notice (not even an error message
    in the status bar) and would only work again after restarting the application.
    We now catch them so the synchronization won't get completely blocked, we'll
    wait for an internet connection to come back in the event of network errors
    and we'll try downloading the file up to 3 times before giving up.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • Merging multiple changes at once often requires that they are in the correct
    order (i.e. the order in which they were made) or we might not be able to
    merge some of them. We don't always get those changes in the correct order
    from the Cozy and this can block the synchronization although we have all the
    required changes in the list.
    We introduced a retry mechanism in this part of the application that will put
    any change that we failed to merge at the end of the list so we can retry
    after we've merged the others and thus potentially unlock the situation.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • In some situations like unsigned Terms of Service, requests to the remote Cozy
    will result in errors and the synchronization will fail. To anticipate those,
    we have a poller that requests from the Cozy required user actions and that
    turns them into alerts that Cozy Desktop will show you. A technical error in
    the poller resulted in failure to schedule polls past the first one and you
    would miss those very precious information unless you would restart the
    application.
    You should now be shown those alerts as early as possible without restarting
    the application thus enabling you to anticipate synchronization errors.
  • With version 3.16.1 of the app, we decided to increase the visibility of the
    synchronization activity especially during the upload of large files or the
    preparation of local changes. This made the application's status and icon
    "blink" for some users and would give a bad feeling about its behavior.
    We made some more changes to the status display so you should now see no
    blinking and better delimited activity phases that should better reflect the
    ongoing synchronization.
  • We use a local Pouch database to keep track of all documents and their
    metadata. Part of this metadata are the remote identifier of each document on
    the Cozy and its last known revision. Whenever we make a change on a document,
    we fetch its previous version from the local Pouch database so we can access
    its old metadata. When the change happened locally, we pass along to the Cozy
    this old metadata's remote revision so it can validate we're not overwriting a
    document that was changed on the Cozy without our knowledge. It appears we
    made a mistake in the order old revisions are returned to us by Pouch and that
    we were not always fetching previous revision but usually the second known
    revision. This would mean local changes on the document would not get
    propagated to the remote Cozy.
    We fixed this revision selection which should avoid quite a lot of propagation
    issues and further down the road conflicts as well.
  • We found out that if you encountered a network timeout during the release
    availability check, we would stop alerting you whenever a new release is
    available unless you'd restart the app.
    We're now making sure that each successful availability check (we're running
    a check every 24 hours) we'll offer you to install any update.
  • In case you encounter an error such as a synchronization error, we're now
    making sure you'll get notified only once and not every time you open the
    application window.
  • If you look at the Settings application on your Cozy, you will list is
    Connected Devices tab. This page lists all clients that were ever connected to
    your Cozy and were not revoked. This page also tells you when each client was
    synchronized for the last time. Unfortunately, the Desktop client was not
    updating this date so you would only see its device name.
    We're now updating this date each time the app reaches the up-to-date status,
    be there any changes to sync or not.

Improvements for Windows and GNU/Linux users:

  • The library we use to watch for changes on the local filesystem, Atom Watcher,
    can sometimes generate events without a document type for deletions. In those
    situations we had decided to force the type to file but this would lead to
    type mismatches when a directory was deleted.
    When the event type is unknown, we're now looking into the local Pouch
    database for an existing document at the deleted path and if one does exist,
    we use its type. If we can't find any existing document, we resort back to
    forcing the type to file as we don't have any mean to detect the actual type
    (i.e. the file or directory does not exist anymore so we can't request stats
    from the filesystem).

Improvements for Windows users:

  • We found out that when applying on the local filesystem a file modification
    from the Cozy, a rename event was generated from the file path to itself, thus
    firing an Invalid move error.
    While we have no indications that this would have any impact on your usage,
    we've made sure this event is not generated anymore.
  • We introduced in Cozy Desktop v3.13.1 a mechanism to identify files and
    directories with more precision on Windows. This required to modify every
    single document in the local Pouch database to make sure the new identifier
    was saved and could be used (e.g. in movement detection). While this worked
    for most documents, users who had local unsynchronized documents when this
    migration took place, ended up with an unsyncable version of those which could
    not be fixed.
    Fortunately, those versions were not actually saved in the database and we
    could fix the migration itself so those documents will get their precise
    identifier and will be synchronized from now on.

Improvements for GNU/Linux users:

  • Since the v3.16.0 and the Electron update to v5, the Chromium sandbox is
    activated by default and since it requires kernel features that are disabled
    by default in Debian issued kernels, users of those kernels could not start
    the application without using the --no-sandbox flag. This would mean either
    launching the app from the command line or modifying the .desktop file used
    as a shortcut.
    We found a way to detect when the kernel feature is disabled and apply the
    --no-sandbox flag in those situations without any actions from the user.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • We found out that if you encountered a network timeout during the release
    availability check, we would stop alerting you whenever a new release is
    available unless you'd restart the app.
    We're now making sure that each successful availability check (we're running
    a check every 24 hours) we'll offer you to install any update.
  • In case you encounter an error such as a synchronization error, we're now
    making sure you'll get notified only once and not every time you open the
    application window.
  • If you look at the Settings application on your Cozy, you will list is
    Connected Devices tab. This page lists all clients that were ever connected to
    your Cozy and were not revoked. This page also tells you when each client was
    synchronized for the last time. Unfortunately, the Desktop client was not
    updating this date so you would only see its device name.
    We're now updating this date each time the app reaches the up-to-date status,
    be there any changes to sync or not.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • We use a local Pouch database to keep track of all documents and their
    metadata. Part of this metadata are the remote identifier of each document on
    the Cozy and its last known revision. Whenever we make a change on a document,
    we fetch its previous version from the local Pouch database so we can access
    its old metadata. When the change happened locally, we pass along to the Cozy
    this old metadata's remote revision so it can validate we're not overwriting a
    document that was changed on the Cozy without our knowledge. It appears we
    made a mistake in the order old revisions are returned to us by Pouch and that
    we were not always fetching previous revision but usually the second known
    revision. This would mean local changes on the document would not get
    propagated to the remote Cozy.
    We fixed this revision selection which should avoid quite a lot of propagation
    issues and further down the road conflicts as well.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • With version 3.16.1 of the app, we decided to increase the visibility of the
    synchronization activity especially during the upload of large files or the
    preparation of local changes. This made the application's status and icon
    "blink" for some users and would give a bad feeling about its behavior.
    We made some more changes to the status display so you should now see no
    blinking and better delimited activity phases that should better reflect the
    ongoing synchronization.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach almost 5 years ago

Improvements for all users:

  • In some situations like unsigned Terms of Service, requests to the remote Cozy
    will result in errors and the synchronization will fail. To anticipate those,
    we have a poller that requests from the Cozy required user actions and that
    turns them into alerts that Cozy Desktop will show you. A technical error in
    the poller resulted in failure to schedule polls past the first one and you
    would miss those very precious information unless you would restart the
    application.
    You should now be shown those alerts as early as possible without restarting
    the application thus enabling you to anticipate synchronization errors.

Improvements for Windows and GNU/Linux users:

  • The library we use to watch for changes on the local filesystem, Atom Watcher,
    can sometimes generate events without a document type for deletions. In those
    situations we had decided to force the type to file but this would lead to
    type mismatches when a directory was deleted.
    When the event type is unknown, we're now looking into the local Pouch
    database for an existing document at the deleted path and if one does exist,
    we use its type. If we can't find any existing document, we resort back to
    forcing the type to file as we don't have any mean to detect the actual type
    (i.e. the file or directory does not exist anymore so we can't request stats
    from the filesystem).

Improvements for Windows users:

  • We found out that when applying on the local filesystem a file modification
    from the Cozy, a rename event was generated from the file path to itself, thus
    firing an Invalid move error.
    While we have no indications that this would have any impact on your usage,
    we've made sure this event is not generated anymore.
  • We introduced in Cozy Desktop v3.13.1 a mechanism to identify files and
    directories with more precision on Windows. This required to modify every
    single document in the local Pouch database to make sure the new identifier
    was saved and could be used (e.g. in movement detection). While this worked
    for most documents, users who had local unsynchronized documents when this
    migration took place, ended up with an unsyncable version of those which could
    not be fixed.
    Fortunately, those versions were not actually saved in the database and we
    could fix the migration itself so those documents will get their precise
    identifier and will be synchronized from now on.

Improvements for GNU/Linux users:

  • Since the v3.16.0 and the Electron update to v5, the Chromium sandbox is
    activated by default and since it requires kernel features that are disabled
    by default in Debian issued kernels, users of those kernels could not start
    the application without using the --no-sandbox flag. This would mean either
    launching the app from the command line or modifying the .desktop file used
    as a shortcut.
    We found a way to detect when the kernel feature is disabled and apply the
    --no-sandbox flag in those situations without any actions from the user.

See also known issues.

Happy syncing!

cozy-desktop - It's the little things

Published by taratatach almost 5 years ago

Improvements for all users:

  • We use a monitoring system (hosted on our own infrastructure) to receive
    reports of errors happening when you use Cozy Desktop. This system requires a
    client to be setup in our app to send those reports to the server. We used an
    older version of that client which stopped working when we upgraded Electron
    in the previous version and that lead to app crashes whenever we tried to send
    a report.
    We've migrated to the latest version of that client so you shouldn't
    experience those crashes anymore and we'll even get a bit more of information
    in each report which might help us help you.
  • We have detected that in some very specific situations, the app can enter a
    local loop of conflict renaming on one or more documents. Those loops would
    prevent your document to be synchronized with the remote Cozy or for it to be
    continuously renamed and, in the most extreme cases, lead to app crashes on
    start-up due to the size of the document (each conflict renaming would
    increase its size).
    One of those situations is the presence of more than one document in our
    database with the same unique filesystem identifier, resulting from the
    mis-interpretation of some filesystem events. We've taken some steps to
    prevent the presence of those 2 documents at the same time, not preventing
    possible future conflicts on the sole document left but preventing a conflict
    loop to start from there.
  • For those of you who have already experienced extreme local conflict loops and
    can't get the app to start without crashing, we have re-evaluated our strategy
    to load all the existing documents during start-up so their size would not
    matter and the app keep working.
  • We have decided to reassess how we compute the application state and how we
    communicate it, especially via the systray icon, so that you're more aware of
    its activities. This is notably true for the upload of large files during
    which the spinner would stop and the app would state it is up-to-date while
    the upload is actually not finished and shutting done the application would
    cancel it.

Improvements for Windows users:

  • We brought back the systray icon contextual menu (i.e. the one showing up on
    right-clicks) mistakenly removed in a previous version, meaning you would have
    to open the app window and use the button in the Preferences tab to shut it
    down.
  • The library used to package our binaries changed the format of the created
    Uninstall Windows registry subkey without cleaning up old keys when updating
    the application. This means that Windows users updating from a version prior
    to v3.16.0 to v3.16.0 will have 2 Cozy Drive applications listed in the
    Windows programs manager and uninstalling the old version will actually
    uninstall the most recent and leave them with a Cozy Drive version seemingly
    seemingly impossible to uninstall.
    We added some cleanup logic to Cozy Drive to take care of removing the old
    registry subkey automatically.

Improvements for GNU/Linux users:

  • On Linux, every time you updated the application, you had to re-enable
    auto-launch if it was previously enabled because the auto-launch entry
    contained the application's version and would not match the new version.
    We've changed the entry's name to just Cozy-Desktop so all versions will
    match and the auto-launch will stay enabled after an update.

See also known issues.

Happy syncing!

cozy-desktop - Auto-wash, uh, launch!

Published by taratatach almost 5 years ago

Improvements for GNU/Linux users:

  • On Linux, every time you updated the application, you had to re-enable
    auto-launch if it was previously enabled because the auto-launch entry
    contained the application's version and would not match the new version.
    We've changed the entry's name to just Cozy-Desktop so all versions will
    match and the auto-launch will stay enabled after an update.

See also known issues.

Happy syncing!

cozy-desktop - We dig public resources

Published by taratatach almost 5 years ago

Improvements for Windows users:

  • Files within the app's asar archive are not accessible at run time while the
    library we use to modify the Windows registry loads .vbs files to execute
    the modifications.
    We've bypassed this limitation by copying the .vbs files to the app's
    resources folder and telling the library where to find them for our registry
    modifications to work.

See also known issues.

Happy syncing!

cozy-desktop - Nice and clean

Published by taratatach almost 5 years ago

Improvements for Windows users:

  • The library used to package our binaries changed the format of the created
    Uninstall Windows registry subkey without cleaning up old keys when updating
    the application. This means that Windows users updating from a version prior
    to v3.16.0 to v3.16.0 will have 2 Cozy Drive applications listed in the
    Windows programs manager and uninstalling the old version will actually
    uninstall the most recent and leave them with a seemingly un-uninstallable
    Cozy Drive version.
    We added some cleanup logic to Cozy Drive to take care of removing the old
    registry subkey automatically.
cozy-desktop - We got caught in a loop

Published by taratatach almost 5 years ago

Improvements for all users:

  • We use a monitoring system (hosted on our own infrastructure) to receive
    reports of errors happening when you use Cozy Desktop. This system requires a
    client to be setup in our app to send those reports to the server. We used an
    older version of that client which stopped working when we upgraded Electron
    in the previous version and that lead to app crashes whenever we tried to send
    a report.
    We've migrated to the latest version of that client so you shouldn't
    experience those crashes anymore and we'll even get a bit more of information
    in each report which might help us help you.
  • We have detected that in some very specific situations, the app can enter a
    local loop of conflict renaming on one or more documents. Those loops would
    prevent your document to be synchronized with the remote Cozy or for it to be
    continuously renamed and, in the most extreme cases, lead to app crashes on
    start-up due to the size of the document (each conflict renaming would
    increase its size).
    One of those situations is the presence of more than one document in our
    database with the same unique filesystem identifier, resulting from the
    misinterpretation of some filesystem events. We've taken some steps to
    prevent the presence of those 2 documents at the same time, not preventing
    possible future conflicts on the sole document left but preventing a conflict
    loop to start from there.
  • For those of you who have already experienced extreme local conflict loops and
    can't get the app to start without crashing, we have re-evaluated our strategy
    to load all the existing documents during start-up so their size would not
    matter and the app keep working.
  • We have decided to reassess how we compute the application state and how we
    communicate it, especially via the systray icon, so that you're more aware of
    its activities. This is notably true for the upload of large files during
    which the spinner would stop and the app would state it is up-to-date while
    the upload is actually not finished and shutting done the application would
    cancel it.

Improvements for Windows users:

  • We brought back the systray icon contextual menu (i.e. the one showing up on
    right-clicks) mistakenly removed in a previous version, meaning you would have
    to open the app window and use the button in the Preferences tab to shut it
    down.

See also known issues.

Happy syncing!

cozy-desktop - Electron = mc²

Published by taratatach almost 5 years ago

Improvements for all users:

  • We upgraded a lot of dependencies and especially Electron which was upgraded
    to v5.0.0. This brings in Node v12.0.0. They should bring performance and
    stability improvements.
  • We improved the stability of the ordering and identification of changes
    fetched from the remote Cozy. This should reduce the number of unmergeable
    changes and conflicts arising from those situations. This is especially true
    when complex moves were synchronised with the remote Cozy (e.g. moving a
    folder from inside a moved folder).
  • We fixed a few minor UI issues like long filenames which were not correctly
    ellipsized in the synced files list.
  • When upgrading Electron to v5.0.0, we broke the onboarding process because of
    a new security restriction in Chromium (which is packaged with Electron)
    preventing us from redirecting to the folder selection window at the end of
    the OAuth authentication process with your Cozy.
    We're now manually loading the folder selection window after the
    authentication instead of following the redirect URI sent back by the Cozy.
  • Our remote changes watcher tries to recreate the changes that were executed
    on the remote Cozy from the resulting documents and the old versions we have
    locally. We found out that we were not correctly detecting and thus handling
    complex hierarchy changes like:
    • child only moves (i.e. we detect a move on a folder descendant which is due
      to its ancestor move and should not result in any local action)
    • moves inside move (i.e. renaming/moving the child of a moved parent within
      that same parent)
    • moves from inside a move (i.e. moving the child of a moved parent outside
      that parent)
      Handling those changes correctly should result in a lot less unmerged changes
      and their consequences.
  • After fixing the remote changes identification logic, we found out that our
    sorting algorithm (necessary to avoid potential collisions when applying them
    locally) was not stable and the resulting order depended greatly on the
    original changes and their order.
    We separated the criterias on which we sort the changes to come up with 2
    sorting algorithms called on after the other so the result of each one is
    predictable and thus the end result too. This should prevent some conflicts
    and mis-applied changes.

Improvements for MacOS users:

  • In an attempt to prevent losing a working config, we decided to use a write
    technique called copy-on-write. This proved itself unnecessary and even lead
    to issues for some users when they had both a working config and a temporary
    config file. We stopped using this technique without losing the safety of an
    atomic write via a temporary config file.
  • When launching the application, we do what we call an initial scan of your
    synced directory to list all its documents and try to detect changes that were
    made since the last time the application was running. It is a complex task
    which does not behave in the same way the live watching does and we were not
    always ordering the resulting changes in the correct order, resulting in
    incorrect changes or unmerged changes. We designed a specific sorting
    algorithm for this phase to stabilize this situation which should result in
    less errors during the application startup.
  • Apple now requires a notarization step for apps to be installed on newer
    versions of macOS. With this process, Apple certifies that Cozy Desktop
    does not contain any known malware and macOS will let you install our app
    without having to tinkle with your security parameters.
  • The way we store documents metadata (e.g. their paths) means we have to modify
    the saved metadata of the moved folder itself but also all its descendants
    (i.e. so their paths in our database reflects their path on the filesystem).
    We found an issue in our moves handling logic that prevented us from detecting
    moves from inside a move (i.e. we move a folder to another location from a
    parent that was just moved as well).
    We're now detecting them correctly which means those changes will now be
    propagated to the remote Cozy as expected.
  • We found out that the libraries we use to watch the changes done to your files
    on your filesystem could sometimes fire events with the wrong type. Indeed,
    we've seen events for the addition of files with a directory type and
    vice-versa.
    We rely on this type to decide which actions to run so we're now verifying
    that the type we received is correct before we proceed.

Improvements for GNU/Linux users:

  • Upgrading Electron, the desktop applications framework upon which Cozy Desktop
    is built, means upgrading the Node and Chromium versions shipped with it.
    Starting with Electron v4, when libappindicator is available and installed on
    your distribution, the systray icon will be displayed via this library. This
    means that the icon won't respond to left clicks anymore. To mitigate this
    situation, we decided to add the "Show Application" menu entry in the context
    menu for all distributions. This context menu can be displayed via a right
    click on the systray icon.

See also known issues.

Happy syncing!

cozy-desktop - Security first!

Published by taratatach almost 5 years ago

Improvements for all users:

  • When you send a message to our support via the application, we also securely
    send your last log file to one of our servers for analysis so we can better
    identify the issues you might be facing. When we upgraded Electron, the
    expected configuration of this request has changed and the log file would not
    be sent anymore.
    We've updated this configuration and log files are joined to your message
    again.

Improvements for MacOS users:

  • We found out that the libraries we use to watch the changes done to your files
    on your filesystem could sometimes fire events with the wrong type. Indeed,
    we've seen events for the addition of files with a directory type and
    vice-versa.
    We rely on this type to decide which actions to run so we're now verifying
    that the type we received is correct before we proceed.

See also known issues.

Happy syncing!

cozy-desktop - Divide and conquer

Published by taratatach about 5 years ago

Improvements for all users:

  • After fixing the remote changes identification logic, we found out that our
    sorting algorithm (necessary to avoid potential collisions when applying them
    locally) was not stable and the resulting order depended greatly on the
    original changes and their order.
    We separated the criterias on which we sort the changes to come up with 2
    sorting algorithms called on after the other so the result of each one is
    predictable and thus the end result too. This should prevent some conflicts
    and mis-applied changes.

See also known issues.

Happy syncing!

cozy-desktop - Don't lose sight of your descendance

Published by taratatach about 5 years ago

Improvements for all users:

  • When upgrading Electron to v5.0.0, we broke the onboarding process because of
    a new security restriction in Chromium (which is packaged with Electron)
    preventing us from redirecting to the folder selection window after connecting
    to your Cozy and authorizing the Cozy Desktop app.
    The redirection is now handled differently to avoid the security issue and
    load the folder selection window.

  • Our remote changes watcher tries to recreate the changes that were executed
    on the remote Cozy from the resulting documents and the old versions we have
    locally. We found out that we were not correctly detecting and thus handling
    complex hierarchy changes like:

    • child only moves (i.e. we detect a move on a folder descendant which is due
      to its ancestor move and should not result in any local action)
    • moves inside move (i.e. renaming/moving the child of a moved parent within
      that same parent)
    • moves from inside a move (i.e. moving the child of a moved parent outside
      that parent)

    Handling those changes correctly should result in a lot less unmerged changes
    and their consequences.

Improvements for MacOS users:

  • With the new Apple notarization process, we need to specify which OS
    permissions will be required and requested by our app. By default, apps are
    not allowed to load code frameworks that were not signed by the same team ID
    or by Apple itself.
    Since we use the Electron framework which is not signed by us or Apple, we
    need to disable circumvent this restriction or the app won't start.
  • The way we store documents metadata (e.g. their paths) means we have to modify
    the saved metadata of the moved folder itself but also all its descendants
    (i.e. so their paths in our database reflects their path on the filesystem).
    We found an issue in our moves handling logic that prevented us from detecting
    moves from inside a move (i.e. we move a folder to another location from a
    parent that was just moved as well).
    We're now detecting them correctly which means those changes will now be
    propagated to the remote Cozy as expected.

See also known issues.

Happy syncing!

cozy-desktop - You've been served!

Published by taratatach about 5 years ago

Improvements for MacOS users:

  • Apple now requires a notarization step for apps to be installed on newer
    versions of macOS. With this process, Apple certifies that Cozy Desktop
    does not contain any known malware and macOS will let you install our app
    without having to tinkle with your security parameters.

See also known issues.

Happy syncing!

cozy-desktop - Defeated by our peers

Published by taratatach about 5 years ago

Improvements for all users:

  • We fixed a technical error with one of our dependencies which prevented the
    app from starting.

See also known issues.

Happy syncing!

cozy-desktop - It's best with a little waiting

Published by taratatach about 5 years ago

Improvements for all users:

  • We upgraded a lot of dependencies and especially Electron which was upgraded
    to v5.0.0. This brings in Node v12.0.0. They should bring performance and
    stability improvements.
  • We improved the stability of the ordering and identification of changes
    fetched from the remote Cozy. This should reduce the number of unmergeable
    changes and conflicts arising from those situations. This is especially true
    when complex moves were synchronised with the remote Cozy (e.g. moving a
    folder from inside a moved folder).
  • We fixed a few minor UI issues like long filenames which were not correctly
    ellipsized in the synced files list.

Improvements for MacOS users:

  • In an attempt to prevent losing a working config, we decided to use a write
    technique called copy-on-write. This proved itself unnecessary and even lead
    to issues for some users when they had both a working config and a temporary
    config file. We stopped using this technique without losing the safety of an
    atomic write via a temporary config file.
  • When launching the application, we do what we call an initial scan of your
    synced directory to list all its documents and try to detect changes that were
    made since the last time the application was running. It is a complex task
    which does not behave in the same way the live watching does and we were not
    always ordering the resulting changes in the correct order, resulting in
    incorrect changes or unmerged changes. We designed a specific sorting
    algorithm for this phase to stabilize this situation which should result in
    less errors during the application startup.

Improvements for GNU/Linux users:

  • Upgrading Electron, the desktop applications framework upon which Cozy Desktop
    is built, means upgrading the Node and Chromium versions shipped with it.
    Starting with Electron v4, when libappindicator is available and installed on
    your distribution, the systray icon will be displayed via this library. This
    means that the icon won't respond to left clicks anymore. To mitigate this
    situation, we decided to add the "Show Application" menu entry in the context
    menu for all distributions. This context menu can be displayed via a right
    click on the systray icon.

See also known issues.

Happy syncing!

Package Rankings
Top 11.63% on Npmjs.org
Badges
Extracted from project README
Latest release Licence Windows build Linux & macOS build Code climate Coverage
Related Projects