cozy-desktop

File Synchronisation for Cozy on Desktop and Laptop

AGPL-3.0 License

Downloads
34
Stars
99
Committers
31
cozy-desktop - Request less to get more

Published by taratatach about 3 years ago

Improvements for all users:

  • We've optimized the initial listing of documents present on the remote Cozy to
    limit the number of necessary network requests and the CPU and RAM usage. This
    should also result in a quicker listing.
  • Default values will now be provided by the client for remote metadata when
    they're not provided by cozy-stack.
  • We updated the localizations and fixed some GUI texts which were not correctly
    localized.

Improvements for Windows and macOS users:

  • The improvement introduced in the latest version around the trashing of
    complete folders (i.e. keeping their hierarchy in the Trash) would in turn
    generate visible errors in the main window and pause the synchronization until
    the remote trashing of all the documents in the folder would be fully
    synchronized.
    We're now making sure the trashing of a folder is swift and does not result in
    unnecessary errors.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • We updated the localizations and fixed some GUI texts which were not correctly
    localized.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • Default values will now be provided by the client for remote metadata when
    they're not provided by cozy-stack.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • We've optimized the initial listing of documents present on the remote Cozy to
    limit the number of necessary network requests and the CPU and RAM usage. This
    should also result in a quicker listing.

Improvements for Windows and macOS users:

  • The improvement introduced in the latest version around the trashing of
    complete folders (i.e. keeping their hierarchy in the Trash) would in turn
    generate visible errors in the main window and pause the synchronization until
    the remote trashing of all the documents in the folder would be fully
    synchronized.
    We're now making sure the trashing of a folder is swift and does not result in
    unnecessary errors.

See also known issues.

Happy syncing!

cozy-desktop - Better have good foundations

Published by taratatach about 3 years ago

Improvements for all users:

  • All child moves (i.e. document moved because their parent directory was moved)
    will now be notified to the GUI so the child documents paths can be updated in
    the list of recently synchronized documents.
  • We've introduced a mechanism to detect dependencies between multiple changes
    on the same side (i.e. the local filesystem or the remote Cozy) and
    synchronize them in the right order. We've added a few dependencies that let
    us solve situations that were known to fail (e.g. trashing directories as a
    whole instead of trashing every element separately) and we will add more as
    needed in the future.
  • As stated above, directories will now be trashed as a whole but we'll now also
    keep empty directories in the trash instead of erasing them. It should be
    easier for you to find deleted elements in the trash and restore entire
    directories.
  • We've decided to stop linking a local and remote directories at the same
    location during the synchronization as this could lead to issues (e.g. if one
    of them was moved and the other created).
    We'll handle this situation as a conflict instead.
  • When propagating documents to the remote Cozy, we should now always use the
    correct parent directory which is not necessarily the remote folder with this
    path.
  • The propagation of documents to the remote Cozy should now be slightly faster
    as we make fewer requests to the remote Cozy (i.e. we don't look for the
    parent directory on the remote Cozy anymore).
  • Name conflicts detected during the synchronization phase will now be notified
    to you within the main window. Their resolution will only happen on your
    behalf via the action button within the error message.
  • URLs entered during the client's Onboarding won't be considered as invalid if
    they contain a port but not the http protocol and will be considered as https
    URLs instead.

Improvements for Windows users:

  • The detection of local overwriting moves should be more reliable. This also
    improves the propagation of remote overwriting moves to the local filesystem.
  • The detection of local directory moves when they have a lot of content should
    be more reliable. This also improves the propagation of remote directory moves
    to the local filesystem.

Improvements for macOS users:

  • We've fixed an issue in our local changes watcher that could lead to
    synchronizing a file deletion when actually replacing it with another one on
    the local filesystem.
  • We've fixed an issue in our local changes watcher that could lead to
    synchronization errors due to invalid metadata when a file was moved then
    modified in a short period of time or modified multiple times in a short
    period of time, leaving you with a blocked synchronization until the file is
    modified, moved or removed.
  • Deletions of children of moved directories while the client was stopped should
    now be correctly detected and propagated to the remote Cozy.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • All child moves (i.e. document moved because their parent directory was moved)
    will now be notified to the GUI so the child documents paths can be updated in
    the list of recently synchronized documents.
  • We've introduced a mechanism to detect dependencies between multiple changes
    on the same side (i.e. the local filesystem or the remote Cozy) and
    synchronize them in the right order. We've added a few dependencies that let
    us solve situations that were known to fail (e.g. trashing directories as a
    whole instead of trashing every element separately) and we will add more as
    needed in the future.
  • As stated above, directories will now be trashed as a whole but we'll now also
    keep empty directories in the trash instead of erasing them. It should be
    easier for you to find deleted elements in the trash and restore entire
    directories.
  • We've decided to stop linking a local and remote directories at the same
    location during the synchronization as this could lead to issues (e.g. if one
    of them was moved and the other created).
    We'll handle this situation as a conflict instead.
  • When propagating documents to the remote Cozy, we should now always use the
    correct parent directory which is not necessarily the remote folder with this
    path.
  • The propagation of documents to the remote Cozy should now be slightly faster
    as we make fewer requests to the remote Cozy (i.e. we don't look for the
    parent directory on the remote Cozy anymore).
  • Name conflicts detected during the synchronization phase will now be notified
    to you within the main window. Their resolution will only happen on your
    behalf via the action button within the error message.

Improvements for Windows users:

  • The detection of local overwriting moves should be more reliable. This also
    improves the propagation of remote overwriting moves to the local filesystem.
  • The detection of local directory moves when they have a lot of content should
    be more reliable. This also improves the propagation of remote directory moves
    to the local filesystem.

Improvements for macOS users:

  • We've fixed an issue in our local changes watcher that could lead to
    synchronizing a file deletion when actually replacing it with another one on
    the local filesystem.
  • We've fixed an issue in our local changes watcher that could lead to
    synchronization errors due to invalid metadata when a file was moved then
    modified in a short period of time or modified multiple times in a short
    period of time, leaving you with a blocked synchronization until the file is
    modified, moved or removed.
  • Deletions of children of moved directories while the client was stopped should
    now be correctly detected and propagated to the remote Cozy.

See also known issues.

Happy syncing!

cozy-desktop - Notes be notes, even with pictures

Published by taratatach about 3 years ago

Improvements for all users:

  • Cozy Notes with photos will be exported as a tar archive instead of a simple
    markdown file. Therefore, the client will now unpack the markdown file from
    the archive when displaying a note in a degraded mode (i.e. when you're
    offline or the actual note can't be found on the remote Cozy).
  • Error messages will now be properly localized and the document names included
    in some of them should be properly displayed instead of their type.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • Error messages will now be properly localized and the document names included
    in some of them should be properly displayed instead of their type.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • Cozy Notes with photos will be exported as a tar archive instead of a simple
    markdown file. Therefore, the client will now unpack the markdown file from
    the archive when displaying a note in a degraded mode (i.e. when you're
    offline or the actual note can't be found on the remote Cozy).

See also known issues.

Happy syncing!

cozy-desktop - Some errors are just not meant to shine

Published by taratatach about 3 years ago

Improvements for all users:

  • The client will now detect when the connected Cozy has been deleted and will
    show an error message accordingly.
    The synchronization will be stopped until you connect your client to another
    Cozy.
  • We've worked on the process which decides if a synchronization error needs to
    be displayed or not to make sure you get alerted with the suspended
    synchronization status only if accompanied with an explicit error message.
  • In some rare situations where a document that was previously synchronized is
    now only present on one side (i.e. we're in the middle of re-synchronizing it)
    a conflict could be generated if the document was modified on that remaining
    side.
    We've introduced some mitigations to avoid generating those conflicts.
  • Due to a "bug" in Chromium (i.e. which we use through Electron to provide our
    network stack), some error responses sent by the remote Cozy to our file
    upload requests are transformed into a cryptic error which we cannot deal with
    directly. In such cases, we end up interpreting them as unreachable Cozy
    errors which is misleading to you.
    We caught and fixed two of those cases:
    • when sending files larger than the maximum allowed by the remote Cozy (i.e.
      5 GiB for Cozies hosted by us)
    • when the amount of data sent does not match the expected file size (i.e.
      because the actual local file has grown since last we detected a change)
  • We'll now consider the propagation of a move to the trash either on the local
    filesystem or the remote Cozy as successful when the given document does not
    exist anymore.
    This will prevent delays during the synchronization process since we won't
    have to deal with retries.

Improvements for Windows users:

  • The last modification and last access dates on Windows were not precise enough
    for Cozy Desktop to detect sub-second local modifications. This would
    sometimes lead to Invalid metadata errors when sending modifications to the
    remote Cozy.
    We've increased this precision to include milliseconds so we should not lose
    any local modification anymore.

Improvements for macOS users:

  • Moving a local document to a folder that was just renamed or moved (e.g. a
    folder that was just created with a custom name) will be properly handled and
    not generate incoherent movements.
  • Some steps of the initial scan could be run twice if some local modifications
    were detected while the initial scan was still running.
    We've made sure we don't lose time of consume unnecessary computing resources
    by making sure those steps are only run for the real initial scan.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • We've realized that the errors thrown when trying to trash a missing local
    document would not always be caught because of an unexpected message
    localization.
    We've completely changed the way we catch these errors to not depend on their
    message altogether.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach about 3 years ago

Improvements for all users:

  • We'll now consider the propagation of a move to the trash either on the local
    filesystem or the remote Cozy as successful when the given document does not
    exist anymore.
    This will prevent delays during the synchronization process since we won't
    have to deal with retries.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach over 3 years ago

Improvements for Windows users:

  • The last modification and last access dates on Windows were not precise enough
    for Cozy Desktop to detect sub-second local modifications. This would
    sometimes lead to Invalid metadata errors when sending modifications to the
    remote Cozy.
    We've increased this precision to include milliseconds so we should not lose
    any local modification anymore.

Improvements for all users:

  • Due to a "bug" in Chromium (i.e. which we use through Electron to provide our
    network stack), some error responses sent by the remote Cozy to our file
    upload requests are transformed into a cryptic error which we cannot deal with
    directly. In such cases, we end up interpreting them as unreachable Cozy
    errors which is misleading to you.
    We caught and fixed two of those cases:
    • when sending files larger than the maximum allowed by the remote Cozy (i.e.
      5 GiB for Cozies hosted by us)
    • when the amount of data sent does not match the expected file size (i.e.
      because the actual local file has grown since last we detected a change)

Improvements for macOS users:

  • Some steps of the initial scan could be run twice if some local modifications
    were detected while the initial scan was still running.
    We've made sure we don't lose time of consume unnecessary computing resources
    by making sure those steps are only run for the real initial scan.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach over 3 years ago

Improvements for all users:

  • The client will now detect when the connected Cozy has been deleted and will
    show an error message accordingly. The synchronization will be stopped until
    you connect your client to another Cozy.
  • We've worked on the process which decides if a synchronization error needs to
    be displayed or not to make sure you get alerted with the suspended
    synchronization status only if accompanied with an explicit error message.
  • In some rare situations where a document that was previously synchronized is
    now only present on one side (i.e. we're in the middle of re-synchronizing it)
    a conflict could be generated if the document was modified on that remaining
    side.
    We've introduced some mitigations to avoid generating those conflicts.

Improvements for macOS users:

  • Moving a local document to a folder that was just renamed or moved (e.g. a
    folder that was just created with a custom name) will be properly handled and
    not generate incoherent movements.

See also known issues.

Happy syncing!

cozy-desktop - It's not always a perfect match

Published by taratatach over 3 years ago

Improvements for all users:

  • The client will only trigger one synchronization retry loop when encountering
    an unreachable Cozy error in both the synchronization process and the remote
    watcher very closely.
  • New remote documents whose path would be incompatible with the local
    filesystem will not be ignored anymore.
  • Local documents who've been moved or renamed remotely to a path that would be
    incompatible with the local filesystem won't be trashed anymore.
  • Changes that can't be synchronized because the document has an incompatible
    name or path with the local filesystem will now suspend the synchronization
    and an error message will be displayed so you can take action.
  • Moves for which the destination path is exactly the same as the source path
    will now be treated as modifications rather than triggering errors.

Improvements for Windows and macOS users:

  • After the remote Cozy has been found unreachable because of a network error
    such as a interface change, the subsequent requests won't fail anymore with
    the same error once a stable connection is back.

Improvements for Windows users:

  • The client should not create conflicts anymore when propagating on Windows the
    combination of the move/renaming and the modification of a Cozy Note (via the
    Notes web application).
  • It seems that paths on Windows created by the Desktop client can actually
    exceed the 259 characters limit. Therefore we've increased the limit defined
    in the client itself to 32766 characters.
    Documents that had been previously found incompatible with the local
    filesystem because of the previous path length limit will be updated to take
    the new limit into account. Most of them should thus become compatible.
  • Synchronization error messages displayed in the main window will now only
    contain the name of the document involved instead of its complete path.

Improvements for macOS users:

  • Custom folder icons will now be ignored to avoid blocking the synchronization
    as their name contains a character forbidden on remote Cozies.
  • The app dock icon should now only be visible when an app window other than the
    main window is open. This should also prevent blocking the computer shutdown.

Improvements for Linux users:

  • The client won't show a popup error message anymore when automatically
    starting with the computer.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach over 3 years ago

Improvements for Windows and macOS users:

  • After the remote Cozy has been found unreachable because of a network error
    such as a interface change, the subsequent requests won't fail anymore with
    the same error once a stable connection is back.

Improvements for Windows users:

  • Documents that had been previously found incompatible with the local
    filesystem because of the previous path length limit will be updated to take
    the new limit into account. Most of them should thus become compatible.
  • Synchronization error messages displayed in the main window will now only
    contain the name of the document involved instead of its complete path.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach over 3 years ago

Improvements for all users:

  • The client will only trigger one synchronization retry loop when encountering
    an unreachable Cozy error in both the synchronization process and the remote
    watcher very closely.
  • New remote documents whose path would be incompatible with the local
    filesystem will not be ignored anymore.
  • Local documents who've been moved or renamed remotely to a path that would be
    incompatible with the local filesystem won't be trashed anymore.
  • Changes that can't be synchronized because the document has an incompatible
    name or path with the local filesystem will now suspend the synchronization
    and an error message will be displayed so you can take action.
  • Moves for which the destination path is exactly the same as the source path
    will now be treated as modifications rather than triggering errors.

Improvements for Windows users:

  • The client should not create conflicts anymore when propagating on Windows the
    combination of the move/renaming and the modification of a Cozy Note (via the
    Notes web application).
  • It seems that paths on Windows created by the Desktop client can actually
    exceed the 259 characters limit. Therefore we've increased the limit defined
    in the client itself to 32766 characters.

Improvements for macOS users:

  • Custom folder icons will now be ignored to avoid blocking the synchronization
    as their name contains a character forbidden on remote Cozies.
  • The app dock icon should now only be visible when an app window other than the
    main window is open. This should also prevent blocking the computer shutdown.

Improvements for Linux users:

  • The client won't show a popup error message anymore when automatically
    starting with the computer.

See also known issues.

Happy syncing!

cozy-desktop - On the move

Published by taratatach over 3 years ago

Improvements for all users:

  • The Electron framework was upgraded to v12.0.0. This major version fixes a lot
    of security errors as well as other smaller errors like crashes.
  • The Desktop client will now use the Electron API to send local folders and
    files to the OS trash. This should ensure that these documents can be restored
    from the trash via the default trash operations and that their names are
    preserved.
  • Missing parent folders when merging or propagating a child change will not be
    created by default as this could lead to conflicts down the road. We will
    instead rely on retry mechanisms to make sure ancestor folders exist before
    saving a document record in PouchDB or propagating it to the remote Cozy.
    Local parent directories will still be created if missing when propagating a
    remote change as this should not lead to conflicts.
  • The synchronization error management has been improved to make sure you don't
    get stuck over a synchronization failure that should get resolved with retries
    or could manually be skipped.
  • We've fixed a local watcher issue that prevented the synchronization of
    folders moves or renamings before they got propagated to the remote Cozy if
    they have child documents.
  • Platform incompatibilities errors raised during the propagation of remote
    changes to the local filesystem (e.g. when characters forbidden by the local
    filesystem are present in some document's name on the remote Cozy) will now be
    handled as other synchronization errors. To mimic the previous behavior,
    changes raising those errors will be skipped altogether.
  • We've fixed a regression that prevented the propagation of a file deletion if
    that file had been previously modified on the same side and this modification
    was not yet propagated.
  • We've fixed an issue that prevented the propagation of a local document
    deletion if its parent folder is then moved or renamed on the same side before
    the deletion is propagated.
  • We've fixed an issue that prevented the propagation of a folder deletion if it
    had been previously moved or renamed on the same side and this move was not
    yet propagated.
  • We've fixed an issue that prevented the propagation of a file replacement with
    an other synced file if it was modified on the same side before the
    replacement could be propagated.
  • We've made some small changes to the design of the list of recently synced
    files to harmonize it with the design you're used to in your Drive application
    on the Web.
  • We're now using abbreviations for the time units used in the recently
    synchronized files list to express the time elapsed since the file was last
    synchronized.
  • We've changed the default action executed when clicking on an element in the
    list of recently synced files. It will now open the file in your OS default
    application for its type. You can still show it in its parent folder by
    clicking on its parent folder path, displayed right under its name.
  • The tooltips displayed when hovering over a file line or its parent path will
    now tell you which action will be performed on click (i.e. showing the file in
    its parent path when clicking the parent folder path or opening the file in
    the appropriate application).

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach over 3 years ago

Improvements for all users:

  • We've put back the original globe icon for the "Open Cozy" button as it is the
    illustration used for small icons when the newer globe is used for larger
    ones.
  • We're now using abbreviations for the time units used in the recently
    synchronized files list to express the time elapsed since the file was last
    synchronized.
  • The tooltips displayed when hovering over a file line or its parent path will
    now tell you which action will be performed on click (i.e. showing the file in
    its parent path when clicking the parent folder path or opening the file in
    the appropriate application).

Improvements for Windows users:

  • The leading path separator in parent folder paths displayed in the recently
    synchronized files list is now the current platform's main separator.
    This means Windows users will now see a backslash (\) as is used in the rest
    of the path.

See also known issues.

Happy syncing!

cozy-desktop -

Published by taratatach over 3 years ago

Improvements for all users:

  • We forgot to modify the packaging configuration and some files were left out,
    preventing the client from starting.

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