Skip to content

Commit

Permalink
Release v3.22.0 (#1936)
Browse files Browse the repository at this point in the history
Improvements for all users:

- As a multi-device platform, Cozy Cloud tries to keep the
  modification dates of documents in sync across all your devices
  (i.e. Drive Web, Drive Mobile, Cozy Desktop, other people's
  Cozies…). When modifications happen on the Cozy itself, the
  modification date is set by the server. On the other hand, when the
  modification is made on on your computer, we get the date from your
  filesystem. We were using the most recent date between the content
  modification date and the metadata modification date but we think
  the content modification date is the most important and that it
  should not be affected by movements, renamings, permission
  changes, etc.
  For this reason, from now on we will only use the content
  modification date on Cozy Desktop.
- Files with remote creation or modification dates in a timezone other
  than UTC would raise an error in the remote watcher when converting
  them into PouchDB records.
  We're now rounding those dates with a timezone agnostic method and
  those errors should not happen anymore.
- When you start your Cozy Desktop client, we scan the whole
  synchronization folder on your computer to detect document
  additions, modifications, movements… The file modification detection
  is done in 2 steps to avoid time consuming computation:
  1. we compare the modification date fetched from your filesystem
     with the one we last saved in our database
  2. if and only if they differ, we compute the file's checksum to
     compare it with the one saved in the database
  Our modification date was not completely reliable, especially on
  Windows and Linux so we were computing a lot of checksums for files
  that were not modified while the client was stopped.
  We're now using the local file state which holds a reliable content
  modification date and we should avoid a lot of checksum computations
  thus saving you a lot of time during a client start and a lot of CPU
  resources.
- The list of recently synchronized files and the linked Cozy
  information would sometimes not be displayed after a client restart,
  especially on Windows. The data was correctly persisted though and
  we've made sure it is correctly loaded and displayed now.
- The list of recently synchronized files could be persisted multiple
  times concurrently, leading to malformed JSON content which could
  not be loaded back into the client's GUI during the next start.
  We're now making sure each write is done sequentially so that the
  list is always saved as valid JSON.
- The list of recently synchronized files could contain folder items
  when their parent was moved or renamed.
  We're now making sure only file items will be displayed in this list
  until we officially support folder items.
- We increased the number of file types that will be displayed with a
  specific icon to help you check more easily which elements were
  synchronized. This includes 2 new icons for links (i.e. `.url`
  files) and contacts (i.e. `.vcf` files).
- The autolaunch setting could be displayed as enabled when it was
  disabled from the OS settings panel instead of the Cozy Desktop
  client settings.
  We've made sure the interface shows the actual value of this setting
  and the switch is off when the autolaunch is disabled.

Improvements for Windows and macOS users:

- A file name case change on the remote Cozy followed by a remote
  content update could lead in some situations to the local file being
  trashed on the computer. On macOS this could also happen if the
  renaming was simply a normalization change or there was a
  normalization difference in the name of one of its ancestors.
  We've changed the way we handle the conjunction of those 2 changes
  to make sure case and normalization changes don't affect them. The
  file should now be properly moved and updated on the local
  filesystem.

Improvements for Windows users:

- Some Windows software save modifications made on a file by moving
  this file to a backup location before writing the new version in its
  stead. The events received by Cozy Desktop in this situation were
  not correctly interpreted as we did not expect it and the client
  would trash the file on the remote Cozy before uploading the new
  version. If the client were to be stopped before the new version was
  uploaded, the file could stay trashed until the client was started
  again.
  We're now expecting this suite of events to happen and are applying
  a specific behavior to transform them into a file update that will
  be correctly propagated to the remote Cozy as one change thus
  avoiding situations where the file is trashed.
- The local file state introduced in the previous release was not
  fully populated on Windows when propagating the addition of a file
  from the Cozy to the local filesystem due to a bug.
  While it should have been without consequences, the bug was fixed
  and the features requiring this local state to be populated (e.g.
  limiting the number of file checksum computations during a client
  start) should be fully functional.

Improvements for macOS users:

- A lot of improvements around the support of NFD/NFC UTF-8
  normalizations for document paths, especially when they differ
  between the remote Cozy and the local filesystem.
  You shouldn't see synchronization errors due to the renaming,
  movement, addition, modification of files and folders with accented
  names.
  • Loading branch information
taratatach authored Aug 13, 2020
1 parent 984007e commit 9529011
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 1 deletion.
100 changes: 100 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,105 @@
# Cozy Drive for Desktop: Changelog

## 3.22.0 - 2020-08-13

Improvements for all users:

- As a multi-device platform, Cozy Cloud tries to keep the modification dates of
documents in sync across all your devices (i.e. Drive Web, Drive Mobile,
Cozy Desktop, other people's Cozies…). When modifications happen on the Cozy
itself, the modification date is set by the server. On the other hand, when
the modification is made on on your computer, we get the date from your
filesystem. We were using the most recent date between the content
modification date and the metadata modification date but we think the content
modification date is the most important and that it should not be affected by
movements, renamings, permission changes, etc.
For this reason, from now on we will only use the content modification date on
Cozy Desktop.
- Files with remote creation or modification dates in a timezone other than UTC
would raise an error in the remote watcher when converting them into PouchDB
records.
We're now rounding those dates with a timezone agnostic method and those
errors should not happen anymore.
- When you start your Cozy Desktop client, we scan the whole synchronization
folder on your computer to detect document additions, modifications,
movements… The file modification detection is done in 2 steps to avoid time
consuming computation:
1. we compare the modification date fetched from your filesystem with the one
we last saved in our database
2. if and only if they differ, we compute the file's checksum to compare it
with the one saved in the database
Our modification date was not completely reliable, especially on Windows and
Linux so we were computing a lot of checksums for files that were not modified
while the client was stopped.
We're now using the local file state which holds a reliable content
modification date and we should avoid a lot of checksum computations thus
saving you a lot of time during a client start and a lot of CPU resources.
- The list of recently synchronized files and the linked Cozy information would
sometimes not be displayed after a client restart, especially on Windows.
The data was correctly persisted though and we've made sure it is correctly
loaded and displayed now.
- The list of recently synchronized files could be persisted multiple times
concurrently, leading to malformed JSON content which could not be loaded back
into the client's GUI during the next start.
We're now making sure each write is done sequentially so that the list is
always saved as valid JSON.
- The list of recently synchronized files could contain folder items when their
parent was moved or renamed.
We're now making sure only file items will be displayed in this list until we
officially support folder items.
- We increased the number of file types that will be displayed with a specific
icon to help you check more easily which elements were synchronized. This
includes 2 new icons for links (i.e. `.url` files) and contacts (i.e. `.vcf`
files).
- The autolaunch setting could be displayed as enabled when it was disabled from
the OS settings panel instead of the Cozy Desktop client settings.
We've made sure the interface shows the actual value of this setting and the
switch is off when the autolaunch is disabled.

Improvements for Windows and macOS users:

- A file name case change on the remote Cozy followed by a remote content update
could lead in some situations to the local file being trashed on the computer.
On macOS this could also happen if the renaming was simply a normalization
change or there was a normalization difference in the name of one of its
ancestors.
We've changed the way we handle the conjunction of those 2 changes to make
sure case and normalization changes don't affect them. The file should now be
properly moved and updated on the local filesystem.

Improvements for Windows users:

- Some Windows software save modifications made on a file by moving this file to
a backup location before writing the new version in its stead. The events
received by Cozy Desktop in this situation were not correctly interpreted as
we did not expect it and the client would trash the file on the remote Cozy
before uploading the new version. If the client were to be stopped before the
new version was uploaded, the file could stay trashed until the client was
started again.
We're now expecting this suite of events to happen and are applying a specific
behavior to transform them into a file update that will be correctly
propagated to the remote Cozy as one change thus avoiding situations where the
file is trashed.
- The local file state introduced in the previous release was not fully
populated on Windows when propagating the addition of a file from the Cozy to
the local filesystem due to a bug.
While it should have been without consequences, the bug was fixed and the
features requiring this local state to be populated (e.g. limiting the number
of file checksum computations during a client start) should be fully
functional.

Improvements for macOS users:

- A lot of improvements around the support of NFD/NFC UTF-8 normalizations for
document paths, especially when they differ between the remote Cozy and the
local filesystem.
You shouldn't see synchronization errors due to the renaming, movement,
addition, modification of files and folders with accented names.

See also [known issues](https://github.com/cozy-labs/cozy-desktop/blob/master/KNOWN_ISSUES.md).

Happy syncing!

## 3.22.0-beta.6 - 2020-08-12

Improvements for all users:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "CozyDrive",
"productName": "Cozy Drive",
"private": true,
"version": "3.22.0-beta.6",
"version": "3.22.0",
"description": "Cozy Drive is a synchronization tool for your files and folders with Cozy Cloud.",
"homepage": "https://github.com/cozy-labs/cozy-desktop",
"author": "Cozy Cloud <[email protected]> (https://cozycloud.cc/)",
Expand Down

0 comments on commit 9529011

Please sign in to comment.